Как добавить опцию ярлыка на рабочий стол на странице завершения в установщике NSIS? - PullRequest
20 голосов
/ 05 октября 2009

Я пытаюсь создать установщик, используя NSIS Modern User Interface впервые. Я хотел бы знать, как я могу добавить опцию (флажок), чтобы пользователи могли создавать ярлыки на рабочем столе на странице «Готово» (последний экран установщика) в дополнение к опции «Запустить XXXX», которая уже есть.

Ответы [ 2 ]

33 голосов
/ 05 октября 2009

Если вы не используете флажок readme на конечной странице, вы можете использовать его для выполнения любого действия, которое вы хотите:

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
10 голосов
/ 05 октября 2009

Альтернативный и самый простой способ разрешить пользователю добавлять значок на рабочем столе - создать собственный раздел, который это делает. После этого пользователь может добавить ярлык на странице «Функции» установщика, и вам не нужно вносить серьезные изменения в пользовательский интерфейс.

Section "Desktop Shortcut" SectionX
    SetShellVarContext current
    CreateShortCut "$DESKTOP\Your Program.lnk" "$INSTDIR\YourProgram.exe"
SectionEnd
...