NSIS - Silent Autoupdate Application

2020-06-18 03:26发布

I have an NSIS install kit for my .net c# application.

Is there a way to silently autoupdate my application, considering that I already downloaded the new update (new NSIS app version) to local computer ?

Thanks! :)

3条回答
小情绪 Triste *
2楼-- · 2020-06-18 04:23

It's not necessary to pass /S to the command line if you've set up the package script to specify silent installs.

Take a look at the silent.nsi example on the NSIS site silent.nsi

查看更多
We Are One
3楼-- · 2020-06-18 04:27

(In case you need to detect the command line /Autoupdate=yes)

!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
查看更多
4楼-- · 2020-06-18 04:29

You can run the installer silently and install on top if that is what you mean:

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

查看更多
登录 后发表回答