Я сталкиваюсь с проблемами при переносе управляемого кода с платформы x86 на x64. У меня есть проект WiX для создания MSI, который будет выполнен через Bootstrapper.
На платформе x86 файлы копируются в "Program Files" в соответствии с файлом Project.wxs. Но если тот же MSI установлен на платформе x64 через Bootstrapper, все файлы установки копируются по умолчанию в "Program Files (x86)", а функциональность приложений завершилась неудачно, так как не удалось найти необходимые файлы в иерархии 12-hive Программные файлы (для 64-битных это "C:\Program Files\Common Files\Microsoft Shared\расширения веб-сервера\12\CONFIG" ).
Я попытался использовать препроцессорные переменные типа <? if $(var.ProcessorArchitecture) = x64? > , но мне нужно жестко указать эту переменную в свойстве проекта либо на x86, либо на x64. Наконец, я заканчиваю двумя разными MSI для двух разных платформ, которые не являются желательным решением для меня.
Итак, через WiX можно ли определить платформу для обеспечения установки в нужном месте?