2010-07-20 15 views
1

J'essaie de vérifier que SharePoint 2010 est installé avant de permettre au programme d'installation de continuer. Pour que cela se produise, j'ajouté ce qui suit "Rechercher la machine cible" propriété:Pourquoi la condition de lancement du registre ne fonctionne-t-elle pas dans mon fichier Windows Installer?

Name = "Rechercher MOSS2010"
Propriété = SHAREPOINT2010INSTALLED
RegKey = SOFTWARE \ Microsoft \ Shared Tools \ extensions serveur Web \ 14.0
racine = vsdrrHKLM
Valeur = SharePoint

Sur mon système, le chemin indiqué existe et la valeur "SharePoint" est "installé"

maintenant, j'ai ajouté une condition de lancement:
Name = SharePoint 2010 installé
Condition = SHAREPOINT2010INSTALLED = "Installé"
InstallUrl = (blanc)
message = SharePoint 2010 doit être installé avant l'installation de ce package.

Maintenant, sur mon système, avec le SP2010 installé, l'évaluation est fausse, car le programme d'installation échoue avec le message ci-dessus.

Existe-t-il un moyen de déboguer la valeur des propriétés lors de l'installation? Ou est-ce qu'il y a quelque chose de stupide que je fais?

Merci.

Répondre

2

Il semble que votre programme d'installation soit (par exemple) un programme d'installation 32 bits, mais les clés de registre peuvent être dans le registre 64 bits (ou vice versa).

Pour créer un programme d'installation 64 bits via Visual Studio, voir: http://msdn.microsoft.com/en-us/library/cd7a85k9.aspx

+0

Je pensais que le ghosting de registre 32/64 bits était pour la section HKCR, et non l'ensemble HKLM. – Eli

+0

Si Sharepoint écrit dans HKLM 64 bits, un processus 32 bits ne le voit pas du tout. Si vous écrivez en HKLM 32 bits, vous devez rechercher sous Software \ Wow6432Node pour obtenir les valeurs 32 bits d'un processus 64 bits. – Oren

+0

Eh bien, je serai sacrée! C'était la totalité de la ruche du logiciel après tout. Merci! – Eli