2010-10-05 13 views
0

J'utilise la recherche de Registre suivante dans WiXrecherche Registre WiX retourne C: au lieu de chemin prévu

<Property Id="VISUALSTUDIODIR"> 
     <RegistrySearch Id="VISUALSTUDIODIRCMD" Type="raw" Root="HKLM" 
     Key="Software\Microsoft\VisualStudio\10.0" Name="InstallDir" Win64="yes" /> 
    </Property> 

Malheureusement, le chemin décide de C:\ au lieu du chemin nécessaire. Quelqu'un peut-il m'aider à comprendre pourquoi? (Le chemin du registre existe - j'ai vérifié.)

Répondre

2

Que se passe-t-il si vous supprimez l'attribut Win64? J'utilise les éléments suivants sans aucun problème:

<Property Id="VSINSTALLDIR" Secure="yes"> 
    <RegistrySearch Id="VSInstallRegistry" Root="HKLM" Key="Software\Microsoft\VisualStudio\10.0" Name="InstallDir" Type="directory" /> 
</Property> 
+0

Merci, cela semble fonctionner - je suppose que c'est dû au drapeau 'Secure' parce que je l'ai essayé sans' Win64' et cela ne fonctionnait toujours pas. –

+0

'Secure' est nécessaire pour que les actions personnalisées fonctionnent, autant que je m'en souvienne. Utilisez-vous la valeur dans une action personnalisée? – liggett78

1

Je ne sais pas pourquoi la recherche de registre ne fonctionne pas dans votre cas. Mais avez-vous essayé de référencer les propriétés VS standard fournies par WiX à la place? À partir de WiX v3.5, VSExtension propose un certain nombre de propriétés contenant diverses informations sur VS 2010. Par exemple, VS2010_ROOT_FOLDER contient le chemin d'accès complet au répertoire d'installation racine de Visual Studio 2010.