我需要为 NSIS 安装程序安装一些注册表项。我正在使用 CPACK,我发现了这个命令 CPACK_PACKAGE_INSTALL_REGISTRY_KEY
。互联网上没有太多文档,但我猜:
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY
"MyReg\\\\MyKey" "${INSTALL_DIR}\\\\"
)
或者没什么不同。
我还阅读了另一个主题:
list(APPEND CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
InstallDirRegKey HKCU \"Software\\Test\" \"RegEntry\"
")
但我不明白为什么要使用最后一条命令而不是 CPACK 命令。
谢谢你的帮助
最佳答案
我对 CPack 一无所知,但我猜 CPACK_PACKAGE_INSTALL_REGISTRY_KEY 也映射到 InstallDirRegKey并且不能用于将通用值写入注册表。
尝试这样插入原始 NSIS 指令:
SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
WriteRegStr HKLM 'Software\\\\MyApp' 'MyValue' 'MyData'
WriteRegDWORD HKLM 'Software\\\\MyApp' 'OtherValue' '4'
")
SET(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "
DeleteRegKey HKLM 'Software\\\\MyApp'
")
关于cmake - 如何使用 CPACK_PACKAGE_INSTALL_REGISTRY_KEY 添加注册表项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44394194/