自定义NSIS安装程序的完成页面

时间:2012-10-15 06:54:51

标签: checkbox installer nsis

我想在安装程序的完成页面中添加一个复选框。我在页面上已经有两个复选框,一个用于显示自述文件,另一个用于打开另一个链接。现在我想添加第三个复选框以打开我的应用程序的主页。

我正在遵循这个问题中给出的步骤,因为这是我想要达到的确切内容 Customizing an exsisting NSIS MUI2 page

但是第三个复选框没有出现在整理页面上。我正在使用MUI2。

这是我的代码

 

!include "MUI2.nsh" 

var newCheckBox
Function showNewCheckbox
${NSD_CreateCheckbox} 50u 60u 100% 10u "&Launch Google"
Pop $newCheckBox
FunctionEnd

Function launchNewLink
${NSD_GetState} $newCheckBox $0
${If} $0 <> 0
    ExecShell "open" "http://google.com"
${EndIf}
FunctionEnd

Function LaunchLink
  ExecShell "open" "http://yahoo.com"
FunctionEnd


!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_FINISHPAGE_RUN
!define MUI_FINISHPAGE_RUN_NOTCHECKED
!define MUI_FINISHPAGE_RUN_TEXT "Open yahoo"
!define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink"
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_FINISHPAGE_SHOWREADME "${README_FILE}"
!define MUI_PAGE_CUSTOMFUNCTION_SHOW showNewCheckbox
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE launchNewLink
!insertmacro MUI_PAGE_FINISH

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

如果$newCheckBox是一个数字!= 0则表示控件已创建,可能就在左边的图像后面?尝试120u 175u作为前两个数字。

如果您不需要复选框,可以使用以下链接:

!define MUI_FINISHPAGE_LINK "My website"
!define MUI_FINISHPAGE_LINK_LOCATION "http://example.com"
!insertmacro MUI_PAGE_FINISH