2010-02-12 61 views
50

He creado una aplicación (C#, Windows Forms) en Visual Studio 2008, y ahora quiero hacer el instalador de esta aplicación. ¿Cómo puede hacerse esto?¿Cómo hacer un instalador para mi aplicación C#?

Quiero que mi instalador

  • copiar todos los archivos que mi solicitud está utilizando a un camino que ha elegido el usuario (copiar los archivos a los elegidos, algunos para la aplicación del lado del servidor y algunos para el lado del cliente).
  • También instale .NET 3,5
  • Comprobar si SQL Server o SQL Server Express Edition

¿Cómo puedo hacerlo?

Respuesta

59
  1. Agregue un nuevo proyecto de instalación a su solución.
  2. Agregue objetivos de todos los proyectos que desea instalar.
  3. Configure requisitos previos y elija la opción "Buscar .NET 3.5 y SQL Express". Elija la ubicación desde donde se deben instalar los componentes faltantes.
  4. Configure la configuración de su instalador - nombre de la compañía, versión, derechos de autor, etc.
  5. Build and go!
+0

¿Permitirá esto la función MSI? suena como si fuera necesario - "copie los archivos a elección ..." ¿tal vez pueda escaparse con 2 instaladores diferentes? pero si el proyecto de instalación no proporciona características, vaya con wix. – si618

+0

Si necesita alguna lógica de instalación específica, puede escribir un código (y agregar sus propios formularios) que hará el trabajo que necesita. – sashaeve

+0

"Agregar objetivos de todos los proyectos que desea instalar". cómo hombre ... no sé nada al respecto ... – Moon

11

En general, se recomienda utilizar instalaciones basadas en MSI en Windows. Por lo tanto, si está listo para invertir un poco de tiempo, WiX es el camino a seguir.

Si quieres algo mucho más simple, ve con InnoSetup.

8

Existen varios métodos, dos de los cuales son los siguientes. Proporcione un instalador personalizado o un proyecto de instalación.

Aquí es cómo crear un instalador personalizado

[RunInstaller(true)] 
public class MyInstaller : Installer 
{ 
    public HelloInstaller() 
     : base() 
    { 
    } 

    public override void Commit(IDictionary mySavedState) 
    { 
     base.Commit(mySavedState); 
     System.IO.File.CreateText("Commit.txt"); 
    } 

    public override void Install(IDictionary stateSaver) 
    { 
     base.Install(stateSaver); 
     System.IO.File.CreateText("Install.txt"); 
    } 

    public override void Uninstall(IDictionary savedState) 
    { 
     base.Uninstall(savedState); 
     File.Delete("Commit.txt"); 
     File.Delete("Install.txt"); 
    } 

    public override void Rollback(IDictionary savedState) 
    { 
     base.Rollback(savedState); 
     File.Delete("Install.txt"); 
    } 
} 

Para añadir un proyecto de instalación

  • Menú archivo ->Nueva ->Proyecto - ->Otros tipos de proyectos - propiedades>de configuración e implementación

  • Set del proyecto, utilizando la ventana de propiedades

El artículo How to create a Setup package by using Visual Studio .NET proporciona los detalles.

+0

¿cómo espera ejecutar este código cuando .NET 3.5 se va a instalar en su insaller – Moon

+0

@Moon podría decir en la descripción del programa que requiere .NET XY – WiiMaxx

3

Por qué inventar ruedas sí mismo mientras hay un coche listo para usted? Solo encuentro que estas herramientas son súper fáciles e intuitivas de usar: Instalador avanzado. Este one minute video debería ser suficiente para impresionarte. Aquí está el illustrative user guide.

Cuestiones relacionadas