【发布时间】:2009-08-03 17:03:25
【问题描述】:
我正在使用 Eclipse 的 create InstallOptions 菜单创建一个带有单选按钮的自定义 INI 页面,用于重新打包 Blackberry Desktop 安装程序。
每种类型有 2 个部分:“Internet”和“企业”。
我需要用户选择 2 个选项中的 1 个,根据他们的选择,该页面将继承在自定义页面中选择的选项,跳转到 INSTFILES 页面,然后继续到最后。
我找不到任何关于让 INI 页面加载到脚本中的具体文档(我可能搜索不正确),然后将数据从一个页面传递到下一个页面(根据我猜的字段?)
感谢任何帮助。即使是告诉我我是盲人并且无法阅读文档(尽管链接会有所帮助:))
这是 INI 代码:
;由 EclipseNSIS InstallOptions 脚本向导自动生成
; 2009 年 7 月 29 日下午 5:42:56
[设置]
NumFields=7
Title=RIM BlackBerry Desktop 5.0 安装
CancelEnabled=1
[字段 1]
类型=单选按钮
左=15
顶部=28
右=100
底部=38
文本=互联网
状态=
标志=通知
[字段 4]
类型=单选按钮
左=15
顶部=95
右=100
底部=105
文本=企业
标志=通知
[字段 2]
类型=组框
左=0
顶部=10
右=300
底部=75
文字=
[字段 5]
类型=标签
左=30
顶部=42
右=235
底部=52
Text=适用于不在企业 (Exchange) 服务器上的用户
[字段 6]
类型=标签
左=30
顶部=111
右=235
底部=121
Text=仅当您在 Exchange 服务器上时才选择此项
[字段 3]
类型=组框
左=0
顶部=75
右=300
底部=140
[字段 7]
类型=标签
左=0
顶部=0
右=130
底部=10
Text=请选择您的安装方式
...这是 NSI 代码:
由 EclipseNSIS 脚本向导自动生成
2009 年 7 月 29 日下午 5:42:16
命名为“黑莓桌面”
RequestExecutionLevel 管理员
一般符号定义
!define 版本 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 英语
安装程序属性
OutFile RIM_BlackBerry_Desktop_5.0.exe
InstallDir "$TEMP\RIM BlackBerry Desktop 5.0 安装文件"
CRC校验开启
XPStyle on
ShowInstDetails 隐藏
VIProductVersion 5.0.0.11
VIAddVersionKey /LANG=${LANG_ENGLISH} 产品名称“黑莓桌面”
VIAddVersionKey /LANG=${LANG_ENGLISH} ProductVersion "${VERSION}"
VIAddVersionKey /LANG=${LANG_ENGLISH} 公司名称“${COMPANY}”
VIAddVersionKey /LANG=${LANG_ENGLISH} 公司网站 "${URL}"
VIAddVersionKey /LANG=${LANG_ENGLISH} FileVersion "${VERSION}"
VIAddVersionKey /LANG=${LANG_ENGLISH} 文件描述 ""
VIAddVersionKey /LANG=${LANG_ENGLISH} LegalCopyright ""
安装程序部分
部分 /o 主要 SEC0000
SetOutPath $INSTDIR
SetOverwrite ifdiff
;测试阶段
部分结束
SectionGroup /e "BlackBerry 桌面部分"
Section /o Internet 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!'
部分结束
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 用户安装"
【问题讨论】:
标签: eclipse custom-controls nsis