NSIS - 单选按钮,用于选择要安装的许多程序之一

时间:2012-09-04 16:33:14

标签: nsis

我有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中设置卸载脚本,因为已经处理好了吗?

谢谢, 格雷格。

1 个答案:

答案 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属性更改复选框图标。