2010-01-28 21 views
0

Cette question concerne un cadre d'installation/désinstallation que j'écris. Pour utiliser le i désinstallation mécanisme suivant: msiexec/X {GUID} où GUID est le registrykey qui est généré à l'emplacement de désinstallation de la ruche de Registre: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall.Le GUID généré lors de l'installation est-il commun pour XP et Windows 7?

Pour l'un des logiciels, lorsque j'installe Microsoft Visual C++ 2008 SP1 Redistributable, il génère un GUID {9A25302D-30C0-39D9-BD6F-21E6EC160475} dans XP.

Cependant, le même logiciel génère un GUID de {1F1C2DFC-2D24-3E06-BCB8-725134ADF989} dans Windows 7.

Si je désinstaller le logiciel et le réinstaller dans XP et Windows 7 je reçois la même mentionnée ci-dessus GUID encore et encore.

Pourquoi le GUID est-il différent pour XP et Windows 7? Puis-je être sûr que ce sera le même sur un système d'exploitation donné (i.e. il sera toujours {9A25302D-30C0-39D9-BD6F-21E6EC160475} dans XP pour VC++ 2008 SP1 Redist.)? Quel est le mécanisme que Windows utilise pour générer ces GUID (différent pour XP et Windows 7 dans ce cas).?

Il y a quelques autres logiciels (comme Acrobat, RealVNC, etc.) où le GUID est le même pour Windows 7 et XP.

+0

-ce que les XP et Win 7 installations dont vous avez parlé x86? Ou Win7 fonctionne-t-il sur 64 bits? – BigJoe714

+0

Les deux sont de 32 bits; – Santhosh

Répondre

2

La plupart des applications qui utilisent même configuration pour les différentes versions de Windows auront même guid à ruche de Registre.

Alors que certaines applications utilisent l'installation conditionnelle en consultant en version Windows ... en résultat GUIDs sera différent dans la ruche de Registre. cela peut fonctionner même les deux fenêtres d'installation est le même, l'installateur peut exécuter différentes configurations à l'intérieur configuration principale par des conditions comme version de Windows, etc ...