14

MUI2 で NSIS を使用して作成しているインストーラーのようこそ画面に、完全なバージョン文字列を表示するラベルを追加したいと考えています。

これを行う方法に関する情報を検索しましたが、MUI2 では非推奨であることがわかった MUI_INSTALLOPTIONS* の使用に関する参照しか見つかりませんでした。もう 1 つは、同じオプションで INSTALLOPTIONS* を使用して新しいバージョンを参照しましたが、動作させることができませんでした。最後に、これに nsDialogs を使用することへの参照も見つけました。これは、カスタム ページに使用しているものです。ただし、MUI2.nsh に付属している既存のページを変更する方法に関するリファレンスやサンプルは見つかりませんでした。

MUI_HEADERTEXT を変更する方法を見つけましたが、それはようこそ画面には影響しません。ウェルカムテキストも変更する方法があればいいのにと思います。たぶん、MUI_WELCOMEITLE と MUI_WELCOMEBODY などを使用します。

4

2 に答える 2

13

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
于 2011-03-15T23:21:49.820 に答える
0

NSISにも問題がありました。私の場合、マクロ MUI_PAGE_WELCOME を挿入する前に MUI_WELCOMEPAGE_TITLE を定義することができました。

次のようになります。

!define MUI_WELCOMEPAGE_TITLE  "CUSTOM TITLE HERE"
!insertmacro MUI_PAGE_WELCOME
于 2021-06-03T12:49:29.750 に答える