2010-11-10 26 views
7

Me gustaría crear un parche para mi aplicación .NET. Los requisitos son:Crear un parche para actualizar la aplicación .NET

  • encontrar el directorio de instalación
  • Sobrescribir los archivos antiguos por los nuevos
  • reiniciar un servicio de Windows

Quiero enviar la actualización al usuario para que se simplemente ejecútelo y actualice la aplicación. Mi instalador original se crea usando Visual Studio Deployment Project.

hice mucha si la investigación y encontré esto:

https://stackoverflow.com/questions/3767/what-is-the-best-choice-for-building-windows-installers

How to Update the installed Window Application (Creating Patches)

http://wyday.com/forum/viewtopic.php?f=1&t=245&p=793&hilit=offline+install#p793

http://www.advancedinstaller.com/user-guide/tutorial-patch.html

He intentado creado otro instalador que acaba contendría los archivos I necesito reemplazar, sin embargo no pude encontrar una manera de determinar el directorio de instalación de mi aplicación.

WyBuild parecía una buena solución, sin embargo, no son compatibles con una instalación sin conexión y requieren que usted aloje los archivos de actualización en el servidor.

Intenté crear un parche usando Advanced Installer pero solo genera un montón de errores de compilación que no pude solucionar.

Hay tutoriales sobre cómo modificar los archivos MSI usando Orca o WIX, pero eso parece mucho más complicado de lo que debería ser.

Tengo la tentación de rodar el mío, pero no estoy seguro de cómo hacerlo, y este parece un requisito tan básico que debe haber una solución por ahí.

+1

¿Leyó también esa guía ?: http: // www. simple-talk.com/dotnet/visual-studio/updates-to-setup-projects/ –

Respuesta

4

Si ya utiliza un Proyecto de configuración VS, puede implementar la nueva versión de este proyecto y actualizará las instalaciones existentes. Eche un vistazo a los ID de instalación y actualización. La detención y el inicio del servicio se pueden realizar mediante acciones personalizadas que se pueden definir en el proyecto y se ejecutarán, por ejemplo, cuando se haya comprometido o retrotraído su configuración, etc.

Cuestiones relacionadas