4

J'ai un projet d'installation Windows qui installe un logiciel (winform, service, mce addin). Pendant l'installation, je dois rechercher une clé de registre sur la machine. Cela se fait avec la "Condition de lancement" -> "Ajouter une recherche de registre" (Projet de déploiement).Configuration du déploiement (.Net) - Rechercher la machine cible -> Recherche dans le registre (64 bits)

J'ai rempli toutes les propriétés à droite, et vérifié par rapport au regestry que la valeur peut effectivement être trouvée. Le problème est que "Registry Search" recherche dans la partie x86 du registre (HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ ...) bien que mon système soit un x64 et que la configuration du déploiement soit également définie sur x64.

Est-ce que quelqu'un sait comment forcer la "recherche de registre" pour rechercher le registre x64? Ou connaissez-vous une solution de contournement? La chose étrange à ce sujet, est que le paramètre de Registre dans la configuration de déploiement écrit dans le bon registre (x64). Mon idée est que le programme "Registry Search" est uniquement développé pour l'architecture x86, et ne peut donc pas lire le bon registre.

J'ai trouvé cet article de Microsoft, il semble donc qu'ils connaissent ce problème. https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=110105&wa=wsignin1.0#details

Mon système est:
Windows 7 64bit
Visual Studio 2008

+0

J'ai exactement le même problème. Utilisation de Process Monitor Je peux le voir en train de chercher dans le mauvais nœud de clé de registre même si j'ai configuré le programme d'installation pour cibler l'architecture x64. Il serait très utile de savoir sur quoi repose cette décision. – glenatron

Répondre

3

J'ai trouvé une solution pour cela. J'ai modifié le script créé à partir de Microsoft et le script doit être exécuté après chaque génération. Découvrez comment here

Questions connexes