如何设置NSIS卸载程序的选项
我有一个NSIS安装与一些选项,这是非常好的工作。但是我的“-quiet”选项不适用于卸载程序如何设置NSIS卸载程序的选项,nsis,Nsis,我有一个NSIS安装与一些选项,这是非常好的工作。但是我的“-quiet”选项不适用于卸载程序 uninst: ClearErrors ${getOPtions} $CMDLINE "--quiet" $0 ${IfNot} ${Errors} StrLen $2 "\Uninstall.exe /S" ${Else} StrLen $2 "\Uninstall.exe" ${EndIf}
uninst:
ClearErrors
${getOPtions} $CMDLINE "--quiet" $0
${IfNot} ${Errors}
StrLen $2 "\Uninstall.exe /S"
${Else}
StrLen $2 "\Uninstall.exe"
${EndIf}
StrCpy $3 $0 -$2 # remove "\Uninstall.exe"
ExecWait '$0 _?=$3' ;Do not copy the uninstaller to a temp file`
GetOptions希望您调用GetParameters来获取参数,而不是$CmdLine:
!include FileFunc.nsh
!include LogicLib.nsh
...
${GetParameters} $1
ClearErrors
${GetOptions} $1 "--quiet" $2
${IfNot} ${Errors}
MessageBox mb_ok "Quiet mode"
${EndIf}
ExecWait“\Uninstall.exe/S”
永远无法工作,\Uninstall.exe意味着在当前驱动器的根目录下卸载.exe。您必须使用完整路径,它应该如下所示:
StrCpy $0 "$ProgramFiles\my app" ; TODO: Get the old install path
StrCpy $1 "/S" ; TODO: Set optional parameters
ExecWait '"$0\Uninstall.exe" $1 _?=$0'
而不工作意味着什么?GetOptions失败还是ExecWait失败?命令
“\Uninstall.exe/S”
从未执行过,因此我认为GetOptions失败了。最后,我在部分中尝试了ExecWait”\Uninstall.exe/S“
,但出现了错误,卸载失败