NSIS スクリプトを使用して EXE ファイルを作成しました。次のコードを使用してカスタム ページを作成しました。
page custom check
Function check
ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My app" "UninstallString"
IfFileExists $R0 +1 NotInstalled
call nsDialogpage
NotInstalled:
FunctionEnd
Function nsDialogpage
nsDialogs::Create 1018
Pop $Dialog12
${If} $Dialog12 == error
Abort
${EndIf}
${NSD_CreateRadioButton} 0 5u 100% 10u "Repair"
Pop $Repair
${NSD_CreateRadioButton} 0 25u 100% 56u "Remove"
Pop $Remove
${NSD_SetState} $Repair ${BST_CHECKED}
${NSD_GetState} $Repair $test
--Do repair operation--
${NSD_OnClick} $Remove "Remove"
nsDialogs::Show
${NSD_GetState} $Remove $RadioButton_State
${If} $RadioButton_State == ${BST_CHECKED}
call Removed
${Else}
Goto Done
${EndIf}
Done:
FunctionEnd
Function Remove
nsDialogs::Create 1018
Pop $Dialog12
${If} $Dialog12 == error
Abort
${EndIf}
--Do remove function--
/* nsDialogs::Show*/
FunctionEnd
上記のコードを実行しても機能しません。show 関数の後に実行されるコードはありません。
私の要件は、
ユーザーが削除ラジオ ボタンをクリックすると、次のページに移動してアンインストール プロセスが実行され、ページが終了します。上記のコードを使用してこのシナリオを試しましたが、正常に動作しています。
nsis インストーラーに 2 つのカスタム ページを含めるには?
誰でも私を助けることができますか?
ありがとう。