Включение 32- и 64-битных модулей слияния в один установщик WiX

Я пишу модули слияния для проекта, над которым работаю.

Я создаю два модуля слияния, один для 32-битных и один для 64-битных. Я хочу включить их в установщик WiX, но он говорит мне, что я не могу: ошибка LGHT0345: «installer\bin\x64\Release\en-us\myproject.msm» — это 64-битный модуль слияния, но продукт, который его использует является 32-битным. 32-разрядные продукты могут использовать только 32-разрядные модули слияния.

Есть ли способ сделать проект с двумя процессорами, чтобы я мог включить оба?

Версия WiX 3.6.


person erik    schedule 20.07.2011    source источник


Ответы (1)


Установщик Windows не поддерживает многоплатформенные пакеты. Если вам нужно записать в 64-битную часть файловой системы или реестра, вам нужен 64-битный пакет.

person Bob Arnson    schedule 20.07.2011
comment
Модули слияния для среды выполнения Visual Studio, похоже, каким-то образом справляются с этим, почему я не могу? Например, один называется Microsoft_VC90_CRT_x86_x64.msm. - person erik; 21.07.2011
comment
64-битный пакет может включать как 32-битные, так и 64-битные компоненты. 32-битный пакет может включать только 32-битные компоненты. - person Bob Arnson; 21.07.2011
comment
Я включил упомянутый выше файл в 32-битный установщик. Если я открою его (msm redist VC) в orca, он не укажет, для какой платформы он предназначен. Вроде не указано. - person erik; 22.07.2011
comment
Да, он также немного отличается тем, что, несмотря на то, что в нем есть 64-битные файлы, они представляют собой параллельные сборки. Например, они отличаются от файлов, которые входят в Program Files. - person Bob Arnson; 22.07.2011