2

4 つのプログラムを 1 つのインストーラーにパッケージ化し、ユーザーがインストールするプログラムを選択できるようにします。

これまで NSIS を使用したことはありませんでしたが、試してみることを勧められましたが、どこから始めればよいかわかりません。

基本的に、ユーザーにラジオ ボタンを選択してから [次へ] をクリックして、次のプログラムのいずれかをインストールするよう求めるページが 1 つ必要です。

-- 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 でアンインストール スクリプトをセットアップする必要はないと思います。

ありがとう、グレッグ。

4

1 に答える 1

3

このコードは、 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てチェックボックスアイコンを変更できます...

于 2012-09-04T20:15:53.533 に答える