2

NSIS アンインストーラーのウェルカム画面にチェックボックスを追加しようとしていますが、例が見つかりません。MUI2のドキュメントから、ウェルカム ページで実行できるカスタム関数が見つかりません。

ドキュメントや私が見つけた他の回答に基づいて、仕上げページをカスタマイズする方が簡単なようです。

ウェルカム ページをカスタマイズする方法はありますか? そうでない場合、意図を達成するための他のオプションは何ですか?

4

1 に答える 1

2

リンク先の MUI(1) ドキュメントには、プレ/ショー コールバックでウェルカム ページをカスタマイズする方法についてのメモがあります。MUI2 を使用すると、show コールバックにコントロールを追加できます。これらのカスタム コントロールの詳細については、nsDialogs のドキュメントを参照してください...

!include MUI2.nsh
!insertmacro MUI_PAGE_INSTFILES
!define MUI_PAGE_CUSTOMFUNCTION_SHOW un.ModifyUnWelcome
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE un.LeaveUnWelcome
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_LANGUAGE English

Var mycheckbox ; You could just store the HWND in $1 etc if you don't want this extra variable

Function un.ModifyUnWelcome
${NSD_CreateCheckbox} 120u -18u 50% 12u "Do something special"
Pop $mycheckbox
SetCtlColors $mycheckbox "" ${MUI_BGCOLOR}
${NSD_Check} $mycheckbox ; Check it by default
FunctionEnd

Function un.LeaveUnWelcome
${NSD_GetState} $mycheckbox $0
${If} $0 <> 0
    MessageBox mb_ok "I'm special"
${EndIf}
FunctionEnd

Section testuninstaller
Initpluginsdir
WriteUninstaller "$pluginsdir\u.exe"
ExecWait '"$pluginsdir\u.exe" _?=$pluginsdir'
Sectionend
于 2013-10-19T02:52:37.097 に答える