在各种描述字符串中使用 NSIS 安装程序名称
Using NSIS Installer Name in various description Strings
所以我的 NSIS 脚本的第一行是 Name
安装程序:
Name "Magic App"
现在对于几个页面(COMPONENTS
页,DIRECTORY
页等),我已经覆盖了如下标准文本:
!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
在所有描述字符串中出现 repeated/used 多次。因此,如果我将来更改应用程序的名称,我需要在所有这些地方进行更改。
如何在这些描述字符串中重复使用安装程序的 Name
?
我尝试使用 ${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}
是访问定义的语法。您当然可以使用该名称创建定义,但也可以使用 langstring 语法直接访问名称 attribute:
!define MUI_PAGE_HEADER_SUBTEXT "$(^Name) files will be installed."
所以我的 NSIS 脚本的第一行是 Name
安装程序:
Name "Magic App"
现在对于几个页面(COMPONENTS
页,DIRECTORY
页等),我已经覆盖了如下标准文本:
!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
在所有描述字符串中出现 repeated/used 多次。因此,如果我将来更改应用程序的名称,我需要在所有这些地方进行更改。
如何在这些描述字符串中重复使用安装程序的 Name
?
我尝试使用 ${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}
是访问定义的语法。您当然可以使用该名称创建定义,但也可以使用 langstring 语法直接访问名称 attribute:
!define MUI_PAGE_HEADER_SUBTEXT "$(^Name) files will be installed."