2009-09-01 17 views
6

Tengo un kit de instalación de NSIS para mi aplicación .net C#.NSIS - Aplicación de actualización automática silenciosa

¿Hay alguna forma de actualizar automáticamente mi aplicación, teniendo en cuenta que ya descargué la nueva actualización (nueva versión de la aplicación NSIS) a la computadora local?

Gracias! :)

+0

Gracias a todos por sus comentarios! –

Respuesta

2

(En caso de que necesite para detectar la línea de comandos/Autoupdate = sí)

!include FileFunc.nsh 
!insertmacro GetParameters 
!insertmacro GetOptions 

Var CMD_ARGS 
Var CMD_RES 
Function .onInit 
    # 
    #installer stuff. 
    # 
    StrCpy $CMD_ARGS "" 
    StrCpy $CMD_RES "no" 
    ${GetParameters} $CMD_ARGS 
    ClearErrors 
    ${GetOptions} $CMD_ARGS /Autoupdate= $CMD_RES 
    StrCmp $CMD_RES "yes" is_update is_not_update 
    is_update: 
     #Execute all your update code(run your update app, etc) 
     MessageBox MB_OK|MB_ICONEXCLAMATION "IS UPDATE" 
     goto end_auto_update_check 
    is_not_update: 
     #Execute all your non-update code. 
     MessageBox MB_OK|MB_ICONEXCLAMATION "IS NOT UPDATE" 
    end_auto_update_check: 
FunctionEnd 
0

puede ejecutar el instalador en silencio e instalar en la parte superior si eso es lo que quiere decir:

foo.exe /S /D=C:\Program Files\Foo

+0

Quiero una actualización automática ... Si ejecuto la instalación silenciosa y salgo de la aplicación, ¿quién volverá a iniciar mi aplicación? porque no puedo sobrescribir los archivos mientras ya los estoy ejecutando. No habrá ningún usuario en esa computadora y todas las cosas se deben hacer automáticamente sin interacción requerida. –

+0

Si se inicia con foo.exe/Actualización automática/S/D = C: \ Archivos de programa \ Foo y comprobar en su instalador para ese parámetro, se podría decir que tiene que reiniciar la aplicación – Anders

+0

Puede usted tal vez dar un enlace a un recurso donde se enumeran todas las opciones de línea de comando? –

0

No es necesario pasar/S a la línea de comandos si ha configurado el script del paquete para especificar instalaciones silenciosas.

Tome un vistazo al ejemplo silent.nsi en el sitio NSIS silent.nsi

Cuestiones relacionadas