2017-06-06 3 views
0

Je dois installer une clé de registre pour un installateur NSIS. Je travaille avec CPACK et j'ai trouvé cette commande `CPACK_PACKAGE_INSTALL_REGISTRY_KEY. Il n'y a pas beaucoup doc sur Internet, mais je suppose:Comment ajouter des clés de registre avec CPACK_PACKAGE_INSTALL_REGISTRY_KEY?

set (CPACK_PACKAGE_INSTALL_REGISTRY_KEY "MyReg \\" MyKey "$ {} INSTALL_DIR \\" )

Ou quelque chose pas très différent.

Je lis aussi ceci sur un autre sujet: list (APPEND CPACK_NSIS_EXTRA_INSTALL_COMMANDS " InstallDirRegKey HKCU \" Software \ Test \ "\ "RegEntry \" ")

Mais je ne comprenais pas pourquoi utiliser dernière commande au lieu de la commande CPACK.

Merci pour votre aide

+0

InstallDirRegKey définit simplement le chemin par défaut de $ INSTDIR d'une valeur dans le Registre. – Anders

Répondre

0

Je ne sais pas quoi que ce soit au sujet cpack mais je suppose que CPACK_PACKAGE_INSTALL_REGISTRY_KEY cartes aussi InstallDirRegKey et ne peut être utilisé pour écrire des valeurs génériques au registre.

Essayez quelque chose comme ceci à insérer des instructions NSIS brutes:

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

Oui ça marche !! Nous avons juste besoin de remplacer '\' par '\\\\'. Je vous remercie – sovif