我有4个程序要打包到一个安装程序中,并允许用户选择要安装的程序。
我之前从未使用过NSIS,但我建议尝试一下,但是,我不知道从哪里开始。
基本上我只需要一个页面,要求用户选择一个单选按钮,然后单击“下一步”以安装以下程序之一:
-- Install components --------------------
Select a program from the list below and
click Next to continue.
O Program 1
O Program 2
O Program 3
O Program 4
-------------------------------------------
Cancel Next
然后根据他们的选择启动program1_setup.exe或program2_setup.exe等。
由于我的4个程序中的每个程序都是自己的安装程序,我认为我不需要在NSIS中设置卸载脚本,因为已经处理好了吗?
谢谢, 格雷格。
答案 0 :(得分:2)
此代码类似于one-section.nsi示例。
...
!include sections.nsh
Page components
Page instfiles
Section /o "Program 1" P1
File "/oname=$pluginsdir\Setup.exe" "myfiles\Setup1.exe"
SectionEnd
Section "Program 2" P2
File "/oname=$pluginsdir\Setup.exe" "myfiles\Setup2.exe"
SectionEnd
Section ; Hidden section that runs the show
DetailPrint "Installing selected application..."
SetDetailsPrint none
ExecWait '"$pluginsdir\Setup.exe"'
SetDetailsPrint lastused
SectionEnd
Function .onInit
Initpluginsdir ; Make sure $pluginsdir exists
StrCpy $1 ${P2} ;The default
FunctionEnd
Function .onSelChange
!insertmacro StartRadioButtons $1
!insertmacro RadioButton ${P1}
!insertmacro RadioButton ${P2}
!insertmacro EndRadioButtons
FunctionEnd
如果您愿意,可以使用CheckBitmap
属性更改复选框图标。