NSIS 安装程序应用程序名称未正确显示

Posted

技术标签:

【中文标题】NSIS 安装程序应用程序名称未正确显示【英文标题】:NSIS Installer Application name not displayed right 【发布时间】:2020-01-31 14:43:49 【问题描述】:

我使用 CPack 和 NSIS 构建了一个应用程序,并定义了一个相当长的应用程序名称(它是为了工作,所以我对其进行了一些审查)。启动安装程序时,名称被切断。我已经尝试删除名称中的空格,将 ' ' 添加到空格的字符串中,并在名称的开头仅删除一个空格,但没有任何帮助。

您知道如何在 NSIS 放置名称或其他解决方案的地方使框架更大,我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

在发现 NSIS_DEFINES 被窃听后,我采用了不同的方法并使用了@Anders 解决方案: 在我的 CMake 文件中,我放了一行

set(CPACK_MODULE_PATH $CMAKE_CURRENT_SOURCE_DIR/)

指向我从 Cmake Modules 目录复制到我的项目文件夹中的 NSIS.template.in 文件并添加行

!define MUI_WELCOMEPAGE_TITLE_3LINES
!insertmacro MUI_PAGE_WELCOME
...
!define MUI_FINISHPAGE_TITLE_3LINES
!insertmacro MUI_PAGE_FINISH

它应该可以在不复制 nsis 文件和使用 define 命令的情况下工作,但只要有错误我认为这是一个很好的折衷方案。

【讨论】:

【参考方案2】:

在纯 NSIS 中你会这样做:

!include MUI2.nsh

!define MUI_WELCOMEPAGE_TITLE_3LINES
!insertmacro MUI_PAGE_WELCOME
...
!define MUI_FINISHPAGE_TITLE_3LINES
!insertmacro MUI_PAGE_FINISH

我不知道你在使用 cpack 时如何应用这些定义。

【讨论】:

这可以通过 nsis 额外安装命令以某种方式实现吗?

以上是关于NSIS 安装程序应用程序名称未正确显示的主要内容,如果未能解决你的问题,请参考以下文章

NSIS 安装程序许可证页面仅显示“关闭”和“取消”按钮

如何在重新安装期间显示带有 CPack NSIS 的卸载程序窗口?

使用 CPACK 自定义 NSIS 安装程序

NSIS 基于文件夹创建组件

NSIS安装过程中判断程序是否运行中,FindProcDLL和KillProcDLL

安装游戏和QQ时出现NSIS错误该怎么解决?