如何使用NSIS更改目录目标文件夹文本?

如何使用NSIS更改目录目标文件夹文本?,nsis,Nsis,我使用English.nsh文件中的以下代码片段自定义了目录目标文件夹文本 !define MUI_TEXT_DIRECTORY_TITLE "Destination Folder" !define MUI_TEXT_DIRECTORY_SUBTITLE "Click Install to install to the default folder or click Browse to choose another" 但我需要将显示为“目标文件夹”的突出

我使用English.nsh文件中的以下代码片段自定义了目录目标文件夹文本

!define MUI_TEXT_DIRECTORY_TITLE "Destination Folder"
!define MUI_TEXT_DIRECTORY_SUBTITLE "Click Install to install to the default folder or click Browse to choose another"
但我需要将显示为“目标文件夹”的突出显示文本更改为“将EMR安装到:”

这里的标题应该是它的显示方式(“目标文件夹”)

如何将突出显示的文本(目标文件夹)设置为不同的文本(“将EMR安装到:”)

我按照下面的链接修复了这个问题,但即使这样,我还是收到了两次“目标文件夹”文本

下面是我的完整代码:

定制英语

    !define MUI_TEXT_DIRECTORY_TITLE "Destination Folder"
    !define MUI_TEXT_DIRECTORY_SUBTITLE "Click Install to install to the default folder or click Browse to choose another"
    !define MUI_DIRECTORYPAGE_TEXT_TOP "Install EMR to:"    
    !define MUI_DIRECTORYPAGE_TEXT_DESTINATION "Install EMR to:"

!insertmacro MUI_LANGUAGE "English"
Mysetup.nsi

!define MUI_PAGE_CUSTOMFUNCTION_SHOW MyDirectoryShowCallback  
!insertmacro MUI_PAGE_DIRECTORY
!include "CustomEnglish.nsh"

    Function MyDirectoryShowCallback
    StrCpy $PageId 3
    SendMessage $mui.DirectoryPage.Text ${WM_SETTEXT} 0 "STR:$(MUI_TEXT_DIRECTORY_TITLE)"
    SendMessage $mui.DirectoryPage.Text ${WM_SETTEXT} 0 "STR:$(MUI_TEXT_DIRECTORY_SUBTITLE)"
    SendMessage $mui.DirectoryPage.Text ${WM_SETTEXT} 0 "STR:$(MUI_DIRECTORYPAGE_TEXT_TOP)"
    SendMessage $mui.DirectoryPage.Text ${WM_SETTEXT} 0 "STR:$(MUI_DIRECTORYPAGE_TEXT_DESTINATION)"
    
    FunctionEnd

MUI\u TEXT\u DIRECTORY\u TITLE
是顶部标题中的文本,您需要
MUI\u DIRECTORYPAGE\u TEXT\u top
,使用多种语言时需要指向自定义语言字符串:

!include "MUI2.nsh"
!insertmacro MUI_PAGE_WELCOME
!define MUI_DIRECTORYPAGE_TEXT_TOP $(mydirtoptext)
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES

; CustomSwedish.nsh:
!insertmacro MUI_LANGUAGE "Swedish"
LangString mydirtoptext ${LANG_SWEDISH} "Swedish bork bork"

; CustomEnglish.nsh:
!insertmacro MUI_LANGUAGE "English"
LangString mydirtoptext ${LANG_ENGLISH} "English blah blah"

在屏幕截图中,顶部区域为灰色,但通常应为白色,这通常表明MUI_页面和MUI_语言宏的顺序有问题。所有语言必须位于页面后面。

MUI\u TEXT\u DIRECTORY\u TITLE
是顶部标题中的文本,您需要
MUI\u DIRECTORY page\u TEXT\u top
,使用多种语言时需要指向自定义语言字符串:

!include "MUI2.nsh"
!insertmacro MUI_PAGE_WELCOME
!define MUI_DIRECTORYPAGE_TEXT_TOP $(mydirtoptext)
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES

; CustomSwedish.nsh:
!insertmacro MUI_LANGUAGE "Swedish"
LangString mydirtoptext ${LANG_SWEDISH} "Swedish bork bork"

; CustomEnglish.nsh:
!insertmacro MUI_LANGUAGE "English"
LangString mydirtoptext ${LANG_ENGLISH} "English blah blah"

在屏幕截图中,顶部区域为灰色,但通常应为白色,这通常表明MUI_页面和MUI_语言宏的顺序有问题。所有语言必须放在页面后面。

请再显示一些代码好吗?您何时定义
!insertmacro MUI\u页面目录
?为什么不定义
!定义MUI\U DIRECTORYPAGE\u TEXT\u TOP“将EMR安装到:”
?如何包含
CustomEnglish.nsh
文件?是否收到编译器警告?能否显示更多代码?您何时定义
!insertmacro MUI\u页面目录
?为什么不定义
!定义MUI\u DIRECTORYPAGE\u TEXT\u TOP“将EMR安装到:”
?如何包含
CustomEnglish.nsh
文件?是否收到编译器警告?