Является ли GUID, сгенерированный во время установки, общим для XP и Windows 7? - PullRequest
0 голосов
/ 28 января 2010

Этот вопрос о фреймворке установки / удаления, который я пишу. Для удаления я использую следующий механизм: msiexec / X {GUID} где GUID - это ключ реестра, созданный в месте удаления куста реестра: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall.

Для одного из программ при установке распространяемого пакета Microsoft Visual C ++ 2008 с пакетом обновления 1 (SP1) в XP создается GUID {9A25302D-30C0-39D9-BD6F-21E6EC160475}.

Однако это же программное обеспечение генерирует GUID {1F1C2DFC-2D24-3E06-BCB8-725134ADF989} в Windows 7.

Если я удаляю программное обеспечение и переустанавливаю его в XP и Windows 7, я снова и снова получаю одни и те же вышеупомянутые GUID.

Так почему же GUID отличается для XP и Windows 7? Могу ли я быть уверен, что в той или иной операционной системе это будет одинаково (т. Е. Всегда будет {9A25302D-30C0-39D9-BD6F-21E6EC160475} в XP для VC ++ 2008 SP1 Redist.)? Какой механизм использует Windows для генерации этих идентификаторов GUID (в данном случае отличается для XP и Windows 7).?

Существует несколько других программ (например, Acrobat, RealVNC и т. Д.), В которых GUID одинаков для Windows 7 и XP.

1 Ответ

2 голосов
/ 26 августа 2010

Большинство приложений, использующих одинаковые настройки для разных версий Windows, имеют одинаковые направляющие при кусте реестра.

В то время как некоторые приложения используют условную установку, просматривая версию Windows ... в результате GUID будет отличаться в кусте реестра. это может работать, даже если оба установщика Windows одинаковы, установщик может запускать различные установки в основной настройке в зависимости от условий Windows и т. д.

...