在NSIS腳本文件,它可以設置以下,使用註冊表項的安裝目錄:的CMake/CPack命令InstallDirRegKey
InstallDirRegKey HKCU "Software\Test" "RegEntry"
我在想,如果有可能設置這個命令來自一個cmake文件,以便自動生成NSIS腳本。在一個目錄中安裝相同的方式有很多事情可以這樣設置:
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "testDir")
非常感謝
在NSIS腳本文件,它可以設置以下,使用註冊表項的安裝目錄:的CMake/CPack命令InstallDirRegKey
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'
")
我想命令在NSIS文件開始運行(如果可能的話部分之外) ;以便它被用作默認的安裝位置。 – user2696068
據此:http://www.cmake.org/Wiki/CMake:CPackNSISAdvancedTips您可以將NSIS.template.in複製到您的源代碼樹(位於CMAKE_MODULE_PATH中的目錄中)並對其進行修改。這可能會訣竅。 – Peter