Этот вопрос о фреймворке установки / удаления, который я пишу. Для удаления я использую следующий механизм:
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.