我已经为我的软件安装了一个nsis安装程序。为了支持静默安装程序中的注册(我们在代码中编写了复杂的逻辑而不是通过nsis操作注册表),我创建了一个exe,它接受2个参数:RegName和RegKey用于注册。现在我想在静默安装中用两个参数调用这个exe文件,这个调用必须是可选的,并且取决于用户是否已经传递了这两个参数。
所以要求归结为:
- 仅在静默安装中处理密钥和注册名称 - 如果整体安装成功,请调用我的exe
答案 0 :(得分:0)
OutFile "myinstaller.exe"
RequestExecutionLevel user
!include LogicLib.nsh
!include FileFunc.nsh
Function CheckRegistryParameters
${GetParameters} $0
${GetOptions} "$0" "/RegKey" $1
${GetOptions} "$0" "/RegName" $2
${If} $1 != ""
${AndIf} $2 != ""
WriteRegStr HKCU "Software\Test\$1" "Name" "$2"
Exec '"yourapplication.exe" "$1" "$2"'
${EndIf}
FunctionEnd
Section
${If} ${Silent}
Call CheckRegistryParameters
${EndIf}
SectionEnd
并以myinstaller.exe /S /RegKey "Hello" /RegName "World"