Cree un programa de instalación para aplicaciones C # e incluya el instalador de .NET Framework en la configuración

117

Terminé mi aplicación C #, pero tengo un pequeño problema:

Cuando intento ejecutar mi aplicación en otra PC, siempre necesito instalar .NET Framework 4.0.

¿Hay algo que hacer para que funcione sin instalar el marco desde Internet?

Lo intenté antes de InnoSetup para una aplicación VB6, ¡pero no estoy seguro de si funcionará para .NET 4.0!

¿Algunas ideas?

Wassim AZIRAR
fuente
3
No puede deshacerse de .net Framework. Si lo desea, puede crear una configuración para su aplicación e incluir la configuración del marco .net dentro de su configuración. De esta forma podrás evitar descargarlo de Internet. Pero aumentará el tamaño de su configuración.
CharithJ
No es un problema. Sabes como ?
Wassim AZIRAR
2
Solo como una nota ... asegúrese de no ir a Archivo-Nuevo. Haga clic derecho en su solución y haga clic en Agregar-> Nuevo proyecto. De esta manera, está AÑADIENDO un proyecto de instalación a sus archivos y no solo creando un nuevo proyecto por sí mismo.
David Nelson

Respuestas:

201

Utilice el proyecto de instalación de Visual Studio. El proyecto de instalación puede incluir automáticamente la configuración de .NET Framework en su paquete de instalación:

Aquí está mi aplicación paso a paso para formularios de Windows:

  1. Crear proyecto de instalación. Puede utilizar el Asistente de configuración.

    ingrese la descripción de la imagen aquí

  2. Seleccione el tipo de proyecto.

    ingrese la descripción de la imagen aquí

  3. Seleccionar salida.

    ingrese la descripción de la imagen aquí

  4. Presiona Finalizar.

  5. Abra las propiedades del proyecto de instalación.

    ingrese la descripción de la imagen aquí

  6. Elija incluir .NET framework.

    ingrese la descripción de la imagen aquí

  7. Construir proyecto de instalación

  8. Verificar salida

    ingrese la descripción de la imagen aquí


Nota: Los proyectos del instalador de Visual Studio ya no están preempaquetados con Visual Studio. Sin embargo, en Visual Studio 2013 puede descargarlos usando:

Tools > Extensions and Updates > Online (search) > Visual Studio Installer Projects
Alex Aza
fuente
1
¿Es posible configurarlo de manera que cuando haga clic en Setup.exe, detecte automáticamente si el marco .net 4 está instalado y lo instalará? ¿O tiene que hacerse manualmente?
Set
27
Visual Studio 2012 ya no admite estos proyectos de instalación. Se le indicará que descargue InstallShield LE (Limited Edition) en su lugar. Es gratis, pero tenga en cuenta que deberá reconstruir su instalador si migra de VS 2010 a VS 2012.
tobinibot
5
Hay una extensión oficial de microsoft que agrega esta función a vs 2015 visualstudiogallery.msdn.microsoft.com/…
XD face me
4
Seguí todo, pero obtuve este error:ERROR: To enable 'Download prerequisites from the same location as my application' in the Prerequisites dialog box, you must download file 'DotNetFX461\NDP461-KB3102436-x86-x64-AllOS-ENU.exe' for item 'Microsoft .NET Framework 4.6.1 (x86 and x64)' to your local machine. For more information, see http://go.microsoft.com/fwlink/?LinkId=616018.
Chris
2
@nurettin He encontrado que la carpeta para VS2017 es C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX471para el instalador de .NET 4.7.1
Crowley
5

Necesita crear un instalador, que verificará si el usuario ha requerido .NET Framework 4.0. Puede utilizar WiX para crear el instalador. Es muy potente y personalizable. También puede usar ClickOnce para crear el instalador, es muy simple de usar. Le permitirá con un clic agregar el requisito para instalar .NET Framework 4.0.

Damian Antonowicz
fuente
3

WiX es el camino a seguir para los nuevos instaladores. Si WiX solo es demasiado complicado o no es lo suficientemente flexible en el lado de la GUI, considere usar SharpSetup : le permite crear una GUI de instalación en WinForms de WPF y tiene otras características interesantes como traducciones, actualización automática, requisitos previos incorporados, autocompletado mejorado en VS y más .

(Descargo de responsabilidad: soy el autor de SharpSetup).

Tomasz Grobelny
fuente
1
@ChristopherPainter ha hecho un gran trabajo en lo mismo. blog.iswix.com pero el suyo es gratis !!!
Jeremy Thompson
1
La última vez que eché un vistazo a ISWIX, tenía un concepto totalmente diferente al de SharpSetup (sin decir aquí cuál es mejor, pero obviamente creo que SharpSetup es :-)). El suyo fue más sobre la edición de código WiX en una herramienta separada, mientras que SharpSetup se basa en gran medida en Visual Studio y .NET, lo que brinda a los instaladores una mayor flexibilidad, especialmente en la parte de GUI. También tenga en cuenta que SharpSetup tiene una versión gratuita (con restricciones de licencia).
Tomasz Grobelny