Как добавить ключи реестра с помощью CPACK_PACKAGE_INSTALL_REGISTRY_KEY?

Мне нужно установить ключ реестра для установщика 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 \" Программное обеспечение \Test\" \"RegEntry\" ")

Но я не понял, зачем использовать эту последнюю команду вместо команды CPACK.

Спасибо за помощь

1 ответ

Решение

Я ничего не знаю о 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' 
 ")
Другие вопросы по тегам