如何从NSIS完成页面执行命令

时间:2015-06-16 16:40:58

标签: checkbox installer nsis

在尝试了各种方法之后,我从来没有在其中带有复选框的完成页面。 stackoverflow上的Q& A建议在!define MUI_PAGE_FINISH_RUN命令之前使用!insertmacro MUI_PAGE_FINISH命令。

所以我采用了WelcomeFinish.nsi示例,并在!define MUI_PAGE_FINISH_RUN "Notepad.exe"命令之前仅添加了一行!insertmacro MUI_PAGE_FINISH。完成页面上仍然没有复选框。

我做错了什么?我在64位计算机上使用Win7 Professional

1 个答案:

答案 0 :(得分:1)

以下NSIS文档介绍了如何完成此任务:http://nsis.sourceforge.net/Run_an_application_shortcut_after_an_install

您需要在MUI_PAGE_FINISH之前添加以下定义:

!define MUI_FINISHPAGE_RUN
!define MUI_FINISHPAGE_RUN_TEXT "Launch notepad"
!define MUI_FINISHPAGE_RUN_FUNCTION "StartNotepad"
!insertmacro MUI_PAGE_FINISH

我们将MUI_FINISHPAGE_RUN设置为空,而是在MUI_FINISHPAGE_RUN_FUNCTION中定义要运行的函数(我们正在调用函数StartNotepad)。它将使用ExecShell

启动我们感兴趣的过程(或快捷方式/ lnk)
Function StartNotepad
  ExecShell "" "notepad.exe"
FunctionEnd