私は、Eclipse の create InstallOptions メニューを使用して、Blackberry Desktop インストーラーを再パッケージ化するためのラジオ ボタンを含むカスタム INI ページを作成しています。
各タイプには、「インターネット」と「エンタープライズ」の 2 つのセクションがあります。
ユーザーが 2 つのオプションのいずれかを選択する必要があり、その選択に応じて、ページはカスタム ページで選択された選択を引き継いで、INSTFILES ページにジャンプし、最後まで続行します。
スクリプトに INI ページをロードして (おそらく間違って検索しているのでしょう)、あるページから次のページにデータを渡す方法に関する具体的なドキュメントを見つけることができませんでした (私が推測するフィールドによると?)
どんな助けでも大歓迎です。たとえそれが私が盲目でドキュメントを読むことができないと私に言うことであっても(リンクは役に立ちますが:))
INIコードは次のとおりです。
; EclipseNSIS InstallOptions Script Wizard によって自動生成され
ます。2009 年 7 月 29 日午後 5 時 42 分 56 秒
[設定]
NumFields=7
Title=RIM BlackBerry Desktop 5.0 インストール
CancelEnabled=1
[フィールド 1]
Type=RadioButton
Left=15
Top=28
Right=100
Bottom=38
Text=Internet
State=
Flags=NOTIFY
[フィールド 4]
Type=RadioButton
Left=15
Top=95
Right=100
Bottom=105
Text=Enterprise
Flags=NOTIFY
[フィールド 2]
Type=GroupBox
Left=0
Top=10
Right=300
Bottom=75
Text=
[フィールド 5]
Type=Label
Left=30
Top=42
Right=235
Bottom=52
Text=エンタープライズ (Exchange) サーバーにいないユーザーの場合
[フィールド 6]
Type=Label
Left=30
Top=111
Right=235
Bottom=121
Text=Exchange サーバーを使用している場合のみ選択してください
[フィールド 3]
Type=GroupBox
Left=0
Top=75
Right=300
Bottom=140
[フィールド 7]
Type=Label
Left=0
Top=0
Right=130
Bottom=10
Text=インストール方法を選択してください
...そして、NSI コードは次のとおりです。
EclipseNSIS Script Wizard による自動生成
2009 年 7 月 29 日 5:42:16 PM
名前「ブラックベリー デスクトップ」
RequestExecutionLevel 管理者
一般的な記号の定義
!define VERSION 5.0.0.11
!define COMPANY RIM
!define URL http://www.blackberry.com
MUI シンボルの定義
!define MUI_ICON BBD.ico
!define MUI_LICENSEPAGE_RADIOBUTTONS
含まれるファイル
!include Sections.nsh
!include MUI2.nsh
予約ファイル
ReserveFile "${NSISDIR}\Plugins\AdvSplash.dll"
インストーラーページ
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE license.txt
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
インストーラー言語
!insertmacro MUI_LANGUAGE English
インストーラー属性
OutFile RIM_BlackBerry_Desktop_5.0.exe
InstallDir "$TEMP\RIM BlackBerry Desktop 5.0 Setup Files"
CRCCheck on
XPStyle on
ShowInstDetails hide
VIProductVersion 5.0.0.11
VIAddVersionKey /LANG=${LANG_ENGLISH} ProductName "BlackBerry Desktop"
VIAddVersionKey /LANG=${LANG_ENGLISH } ProductVersion "${VERSION}"
VIAddVersionKey /LANG=${LANG_ENGLISH} CompanyName "${COMPANY}"
VIAddVersionKey /LANG=${LANG_ENGLISH} CompanyWebsite "${URL}"
VIAddVersionKey /LANG=${LANG_ENGLISH} FileVersion "${ VERSION}"
VIAddVersionKey /LANG=${LANG_ENGLISH} FileDescription ""
VIAddVersionKey /LANG=${LANG_ENGLISH} LegalCopyright ""
インストーラ セクション
セクション /o メイン SEC0000
SetOutPath $INSTDIR
SetOverwrite ifdiff
; テスト段階セクション
終わり
SectionGroup /e "BlackBerry Desktop セクション"
セクション /o インターネット SEC0001
SetOutPath $INSTDIR\DRIVERS
SetOverwrite ifdiff
; Execwait 'msiexec /i "$INSTDIR\BlackBerry USB and Modem Drivers_ENG (DM5.0b28).msi" /passive'
SetOutPath $INSTDIR
SetOverwrite ifdiff
; ファイル /r *
; ExecWait '"$INSTDIR\Setup.exe" /S/v/qb!'
セクション終了
セクション /o エンタープライズ SEC0002
SetOutPath $INSTDIR\DRIVERS
SetOverwrite ifdiff
; Execwait 'msiexec /i "$INSTDIR\BlackBerry USB and Modem Drivers_ENG (DM5.0b28).msi" /passive'
SetOutPath $INSTDIR
SetOverwrite ifdiff
; ファイル /r *
; /REBOOTOK "$INSTDIR\Setup.ini" を削除し
ます。/REBOOTOK "$INSTDIR\Setup_Enterprise.ini" "$INSTDIR\Setup.ini"の名前を変更し
ます。ExecWait '"$INSTDIR\Setup.exe" /S/v/qb!'
SectionEnd
SectionGroupEnd
セクションの説明
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SEC0000} $(SEC0000_DESC)
!insertmacro MUI_DESCRIPTION_TEXT ${SEC0001} $(SEC0001_DESC)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
インストーラ言語文字
列 TODO 言語文字列を適切な翻訳で更新します。
LangString SEC0000_DESC ${LANG_ENGLISH} "Exchange/Enterprise BlackBerry 以外のユーザー向けのインストール"
LangString SEC0001_DESC ${LANG_ENGLISH} "Exchange/Enterprise BlackBerry ユーザー向けのインストール"