هل يتم إنشاء GUID أثناء التثبيت الشائع لـ XP و Windows 7؟

StackOverflow https://stackoverflow.com/questions/2153448

سؤال

هذا السؤال يدور حول إطار التثبيت/إلغاء التثبيت الذي أكتبه. لإلغاء التثبيت ، أستخدم الآلية التالية: msiexec /x {guid} حيث يكون GUID هو مفتاح التسجيل الذي يتم إنشاؤه في موقع إلغاء تثبيت Hive: HKEY_LOCAL_MACHINE software microsoft windows currentversion uninstall.

بالنسبة لأحد البرامج ، عندما أقوم بتثبيت Microsoft Visual C ++ 2008 SP1 ، فإنه ينشئ GUID {9A25302D-30C0-39D9-BD6F-21E60475} في XP.

ومع ذلك ، يقوم البرنامج نفسه بإنشاء GUID من {1F1C2DFC-2D24-3E06-BCB8-725134ADF989} في Windows 7.

إذا قمت بإلغاء تثبيت البرنامج وإعادة تثبيته في XP و Windows 7 ، أحصل على نفس GUIDS المذكورة أعلاه مرارًا وتكرارًا.

فلماذا يختلف GUID عن XP و Windows 7؟ هل يمكنني التأكد من أنه سيكون هو نفسه على نظام تشغيل معين (أي سيكون دائمًا {9A25302D-30C0-39D9-BD6F-21E60475} في XP لـ VC ++ 2008 SP1 Redist.)؟ ما هي الآلية التي يستخدمها Windows لإنشاء هذه GUIDS (مختلفة لـ XP و Windows 7 في هذه الحالة).؟

هناك عدد قليل من البرامج الأخرى (مثل Acrobat ، Realvnc ، إلخ) حيث يكون GUID هو نفسه بالنسبة لنظام التشغيل Windows 7 و XP.

هل كانت مفيدة؟

المحلول

سيكون لدى معظم التطبيقات التي تستخدم نفس الإعداد لإصدارات مختلفة من Windows نفس GUID في Hive في التسجيل.

في حين أن بعض التطبيقات تستخدم التثبيت الشرطي من خلال البحث في إصدار Windows ... في النتيجة ، ستكون GUIDs مختلفة في Hive في التسجيل. قد يعمل هذا حتى كلا من تثبيت Windows ، يمكن للمثبت تشغيل إعدادات مختلفة داخل الإعداد الرئيسي حسب ظروف مثل إصدار Windows ، إلخ ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top