Home > itblogs > Создание 64-х битных инсталляций в WiX.

Создание 64-х битных инсталляций в WiX.

October 27th, 2006

Статья в MSDN “Using 64-Bit Windows Installer Packages.” описывает отличия 64-х битных пакетов от 32-х битных с точки зрения Windows Installer. Я же хочу написать как этот список выглядит через призму WiX.

  • Минимальная версия Windows Installer, которая может работать с 64-х битными пакетами – 2.0. Соответственно значение атрибута “Package/@InstallerVersion” должно быть 200 или выше. В случае. Если атрибут не установлен, попытка инсталляции заканчивается совсем неинформативным сообщением:


  • Атрибут “Package/@Platforms” определяет целевую платформу. Возможные значения: “Intel” (для x86), “Intel64” (для ia64), “x64” и “Alpha”. Не смотря на то, что имя атрибута стоит во множественном числе, единственная допустимая комбинация нескольких платформ это “Intel,Alpha”. Фактически, поддерживаемая платформа для каждого пакета всегда одна;
  • Каждый 64-х битный компонент должен быть помечен атрибутом “Component/@Win64” со значением “yes”. По-умолчанию, все компоненты считаются 32-х битными;
  • Еще один параметр компонента, имеющий смысл только на 64-х битной системе, – атрибут “Component/@DisableRegistryReflection”. В случае, если значение этого атрибта установлено в “yes”, Windows Installer будет использовать функцию RegDisableReflectionKey, чтобы запретить копирование ключа между 32-х и 64-х разрядными представлениями реестра. Это работает только в случае если используется Windows Installer 4.0.

Остальные отличия касаются, в основном, имен свойств и компонент, так что они не специфичны для WiX:

  • 32-х и 64-х версии одного и того же компонента должны использовать разные идентификаторы (GUID);
  • 64-х битные компоненты должны собственные варианты свойств VersionNT, SystemFolder, ProgramFilesFolder и CommonFilesFolder – VersionNT64, System64Folder, ProgramFiles64Folder и CommonFiles64Folder соответственно;
  • Степпинг процессора можно получить с помощью свойств Msix64 (для x64) и Intel64 (для ia64).
Comments are closed.