21

我第一次尝试使用 NSIS 现代用户界面创建安装程序。除了已经存在的“运行 XXXX”选项之外,我想知道如何添加一个选项(复选框)供用户选择在完成页面(安装程序的最后一个屏幕)上创建桌面快捷方式。

4

2 回答 2

40

如果您没有在完成页面上使用自述复选框,您可以使用它来执行您想要的任何操作:

Function finishpageaction
CreateShortcut "$desktop\foo.lnk" "$instdir\foo.exe"
FunctionEnd

!define MUI_FINISHPAGE_SHOWREADME ""
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!define MUI_FINISHPAGE_SHOWREADME_TEXT "Create Desktop Shortcut"
!define MUI_FINISHPAGE_SHOWREADME_FUNCTION finishpageaction
于 2009-10-05T01:05:44.353 回答
11

允许用户添加桌面图标的另一种最简单的方法是创建一个自定义部分来执行此操作。然后,用户可以选择在安装程序的“功能”页面中添加快捷方式,您不必对 UI 进行大量修改。

Section "Desktop Shortcut" SectionX
    SetShellVarContext current
    CreateShortCut "$DESKTOP\Your Program.lnk" "$INSTDIR\YourProgram.exe"
SectionEnd
于 2009-10-04T22:08:02.683 回答