1

我看到没有用于更改 NSIS 中的向导图像的 CPACK_xxx 变量(如 CPACK_PACKAGE_ICON)。所以我复制了 NSIS.template.in 并修改了它。我可以做类似的事情:

!define MUI_WELCOMEFINISHPAGE_BITMAP "C:\work\project\img\wizardInstall.bmp" !define MUI_UNWELCOMEFINISHPAGE_BITMAP "C:\work\project\img\wizardUninstall.bmp"

它会起作用。但是,源代码位于许多开发人员协作的存储库中,在其中保留绝对路径并不是一个好主意。我试图找到某种方法来获取我的源路径,并以某种方式从该路径创建图像路径,但无济于事。

所以,如果有人知道我如何在 NSIS 中设置向导图像,或者将源目录(并从中创建路径)传递给我的模板文件,请告诉我。

4

2 回答 2

1

由于您已经在自定义 NSIS.template.in 文件,并且它可能是使用 CONFIGURE_FILE() 命令配置的模板,为什么不将以下内容放入您的 NSIS.template.in:

!define MUI_WELCOMEFINISHPAGE_BITMAP "@MY_CPACK_MUI_WELCOMEFINISHPAGE_BITMAP@"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "@MY_CPACK_MUI_UNWELCOMEFINISHPAGE_BITMAP@"

然后,在您设置其他 CPACK 变量的 CMakeLists.txt 文件中,添加如下内容:

SET(MY_CPACK_MUI_WELCOMEFINISHPAGE_BITMAP
    "${CMAKE_SOURCE_DIR)/path/to/wizardInstall.bmp")
SET(MY_CPACK_MUI_UNWELCOMEFINISHPAGE_BITMAP
    "${CMAKE_SOURCE_DIR)/path/to/wizardUninstall.bmp")
于 2011-10-12T20:45:28.763 回答
0

您无需编译整个 NSIS 即可使用/更改这些图像。

它们存在于每台安装了 NSIS 的机器上${NSISDIR}\Contrib\Graphics\Wizard\win.bmp

在您的 .nsi 脚本中使用!define MUI_WELCOMEFINISHPAGE_BITMAP bmp_file以更改它们。

于 2011-05-23T13:21:28.907 回答