2017-06-06 39 views
0

我需要爲NSIS安裝程序安裝一些註冊表項。我正在使用CPACK,並且發現了這個命令CPACK_PACKAGE_INSTALL_REGISTRY_KEY。沒有在互聯網上很多文檔,但我想:如何使用CPACK_PACKAGE_INSTALL_REGISTRY_KEY添加註冊表項?

set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY 「MYREG \\的myKey」 「$ {} INSTALL_DIR \\」 )

或什麼的沒有太大的不同。

我也上的其他話題閱讀: listAPPEND CPACK_NSIS_EXTRA_INSTALL_COMMANDS 「 InstallDirRegKey HKCU \」 軟件\測試\ 「\ 」RegEntry \「 」)

但我不明白爲什麼用這個最後的命令而不是CPACK命令。

謝謝您的幫助

+0

InstallDirRegKey剛剛從註冊表中的值設置默認的$ INSTDIR路徑。 – Anders

回答

0

我不知道什麼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' 
") 
+0

是的,它的作品!我們只需要用'\\\\'替換'\'。謝謝 – sovif