NSISにMUI2を使用する場合、MUI_WELCOME_PAGEのテキストを変更するにはどうすればよいですか?
質問
MUI2を使用してNSIを使用して作成しているインストーラーのウェルカム画面にフルバージョンストリングを表示するラベルを追加したいと思います。
これを行う方法に関する情報を検索しましたが、MUI2が廃止されたMUI_INSTALLOPTIONS*を使用することへの参照のみを見つけました。別のものは、同じオプションを持つInstallOptions*を使用して新しいバージョンを参照しましたが、機能することはできませんでした。ついに、このためにnsdialogsを使用することへの参照を見つけました。これは、カスタムページに使用しているものです。ただし、MUI2.NSHに付属の既存のページを変更する方法について、参照やサンプルは見つかりませんでした。
mui_headertextを変更する方法を見つけましたが、ウェルカムスクリーンには影響しません。ウェルコメテキストも変更する方法があればいいのにと思います。 Mui_welcometitleとmui_welcomebodyなどを使用するかもしれません。
解決
mui_welcomepage_textがありますが、何かを追加するだけでなく、すべてのテキストを変更したい場合にのみ便利です。
ページのショー関数では、任意のコントロールのテキストを変更できます。
outfile test.exe
requestexecutionlevel user
!include MUI2.nsh
#!define MUI_WELCOMEPAGE_TEXT "New text goes here"
!define MUI_PAGE_CUSTOMFUNCTION_SHOW MyWelcomeShowCallback
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
Function MyWelcomeShowCallback
SendMessage $mui.WelcomePage.Text ${WM_SETTEXT} 0 "STR:$(MUI_TEXT_WELCOME_INFO_TEXT)$\n$\nVersion: foo.bar"
FunctionEnd
Section
SectionEnd
..または新しいコントロールを追加します:
outfile test.exe
requestexecutionlevel user
!include MUI2.nsh
!define MUI_PAGE_CUSTOMFUNCTION_SHOW MyWelcomeShowCallback
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
Function MyWelcomeShowCallback
${NSD_CreateLabel} 120u 150u 50% 12u "Version: foo.bar"
Pop $0
SetCtlColors $0 "" "${MUI_BGCOLOR}"
FunctionEnd
Section
SectionEnd
所属していません StackOverflow