1

在 NSIS 脚本文件中,可以设置以下内容,以使用注册表项作为安装目录:

InstallDirRegKey HKCU "Software\Test" "RegEntry"

我想知道是否可以从 cmake 文件设置此命令,以便自动生成 NSIS 脚本。安装目录的设置方式大致相同:

SET(CPACK_PACKAGE_INSTALL_DIRECTORY "testDir")

非常感谢

4

2 回答 2

2

我没有完全按照您要执行的操作,但是如果您只想在 NSIS 文件中添加自定义命令,则可以执行以下操作:

list(APPEND CPACK_NSIS_EXTRA_INSTALL_COMMANDS " 
                InstallDirRegKey HKCU \"Software\\Test\" \"RegEntry\"
               ")

小心反斜杠,需要转义双引号和文字反斜杠。我认为你可能需要 4 个反斜杠而不是 2 个作为文字反斜杠,但试试看。检查生成的 NSIS 文件,并根据需要添加更多反斜杠。

编辑:

还有另一种更完整的方式来自定义 NSIS 安装脚本。根据这个:http ://cmake.org/Wiki/CMake: CPackNSISAdvancedTips 您可以将 NSIS.template.in (从您的 CMake 安装)复制到您的源代码树(在您的 CMAKE_MODULE_PATH 上的目录中)并修改它。

于 2013-08-19T20:06:39.057 回答
0
 list(APPEND CPACK_NSIS_EXTRA_INSTALL_COMMANDS " 
                 InstallDirRegKey HKCU \"Software\\Test\" \"RegEntry\"
                ")

在我的机器上翻译成

InstallDirRegKey HKCU ;Software\Test" "RegEntry;`

试试吧

 list(APPEND CPACK_NSIS_EXTRA_INSTALL_COMMANDS " 
                InstallDirRegKey HKCU 'Software\\\\Test' 'RegEntry'
                ")
于 2016-01-13T18:24:55.910 回答