Windows 在各种描述字符串中使用NSIS安装程序名称

Windows 在各种描述字符串中使用NSIS安装程序名称,windows,installation,nsis,Windows,Installation,Nsis,因此,我的NSIS脚本将安装程序的名称作为第一行: Name "Magic App" 现在,对于几个页面(组件页面、目录页面等),我已经覆盖了标准文本,如下所示: !define MUI_PAGE_HEADER_TEXT "Components to install" !define MUI_PAGE_HEADER_SUBTEXT "The following features of Magic App will be installed." !define MUI_COMPONENTSPAG

因此,我的NSIS脚本将安装程序的
名称作为第一行:

Name "Magic App"
现在,对于几个页面(
组件
页面、
目录
页面等),我已经覆盖了标准文本,如下所示:

!define MUI_PAGE_HEADER_TEXT "Components to install"
!define MUI_PAGE_HEADER_SUBTEXT "The following features of Magic App will be installed."
!define MUI_COMPONENTSPAGE_TEXT_TOP "Click next to continue."
!define MUI_COMPONENTSPAGE_TEXT_COMPLIST "Components to install:"
!insertmacro MUI_PAGE_COMPONENTS

!define MUI_PAGE_HEADER_TEXT "Choose the folder where Magic App will be installed"
!define MUI_PAGE_HEADER_SUBTEXT "Magic App files will be installed."
!define MUI_DIRECTORYPAGE_TEXT_TOP "Setup will install Magic App in the chosen folder. To install Magic App, click Browse and select a folder. Click Next to continue."
!insertmacro MUI_PAGE_DIRECTORY
如上所述,名称
Magic App
在所有描述字符串中重复/使用了很多次。因此,如果我将来更改应用程序的名称,我需要在所有这些地方进行更改

如何在这些描述字符串中重用安装程序的
名称

我尝试使用
${Name}

!define MUI_PAGE_HEADER_SUBTEXT "The following features of ${Name} will be installed."
但这会导致以下警告:

warning 6000: unknown variable/constant "{Name}" detected, ignoring (macro:MUI_PAGE_HEADER_SUBTEXT:10)

${Name}
是访问定义的语法。当然,您可以使用该名称创建define,但也可以使用langstring语法直接访问name属性

!define MUI_PAGE_HEADER_SUBTEXT "$(^Name) files will be installed."

对于所有提到这个答案的人。。。请注意${New}和$(^New)中括号之间的差异。。。。不要像我那样使用${^New}:)是的,NSIS有{xx}、%xx%、(xx)、(^xx)且没有括号。