NSISにMUI2を使用する場合、MUI_WELCOME_PAGEのテキストを変更するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/5318974

  •  24-10-2019
  •  | 
  •  

質問

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top