簡體   English   中英

將 MUI2 用於 NSIS 時,如何修改 MUI_WELCOME_PAGE 中的文本?

[英]How can I modify the text in the MUI_WELCOME_PAGE when using MUI2 for NSIS?

我想在我使用 NSIS 和 MUI2 創建的安裝程序的歡迎屏幕中添加一個顯示完整版本字符串的標簽。

我搜索了有關如何執行此操作的信息,但只找到了使用 MUI_INSTALLOPTIONS* 的參考,我發現 ws 已棄用 MUI2。 另一個提到使用具有相同選項的 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

我也遇到了 NSIS 的問題。 在我的例子中,它在插入宏 MUI_PAGE_WELCOME 之前定義了 MUI_WELCOMEPAGE_TITLE。

它應該看起來像:

!define MUI_WELCOMEPAGE_TITLE  "CUSTOM TITLE HERE"
!insertmacro MUI_PAGE_WELCOME

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM