在 NSIS 脚本文件中,可以设置以下内容,以使用注册表项作为安装目录:
InstallDirRegKey HKCU "Software\Test" "RegEntry"
我想知道是否可以从 cmake 文件设置此命令,以便自动生成 NSIS 脚本。安装目录的设置方式大致相同:
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "testDir")
非常感谢
我没有完全按照您要执行的操作,但是如果您只想在 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 上的目录中)并修改它。
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'
")