我已使用ini文件向NSIS安装程序添加了自定义页面,这是一个代码
.
.
.
; Welcome page
!insertmacro MUI_PAGE_WELCOME
Page custom customPage "" ": custom page"
.
.
.
Function customPage
GetTempFileName $R0
File /oname=$R0 customPage.ini
InstallOptions::dialog $R0
Pop $R1
StrCmp $R1 "cancel" done
StrCmp $R1 "back" done
StrCmp $R1 "success" done
error: MessageBox MB_OK|MB_ICONSTOP "InstallOptions error:$\r$\n$R1"
done:
FunctionEnd
.
.
.
这是一个customPage.ini文件
; Ini file generated by the HM NIS Edit IO designer.
[Settings]
NumFields=2
[Field 1]
Type=Label
Text=Select Version:
Left=4
Right=53
Top=16
Bottom=26
[Field 2]
Type=Combobox
Text=Combobox
ListItems=
Left=53
Right=138
Top=14
Bottom=107
我想使用NSIS脚本动态设置组合框的值,如何在nsis中访问组合框?
答案 0 :(得分:2)
我没有方便的代码,但基本上你所做的就是在提取它之后,在运行InstallOptions:dialog
!insertmacro INSTALLOPTIONS_WRITE "customPage.ini" "Field 2" "State" "Blah|Value2|Foo|Bar"
请参阅:http://nsis.sourceforge.net/Docs/InstallOptions/Readme.html
请注意,在您的代码中,您没有使用您在链接网页中看到的InstallOptions宏。相反,你手动完成所有事情。通常,InstallOptions宏将自定义页面ini文件解压缩到plugins目录。这意味着我的代码段可能不起作用,因为您没有遵循通常的模式。因此,如果上述方法不起作用,请尝试使用WriteINI。但是这个概念是相同的,在提取后立即将值写入ini文件,但在显示之前。