Построить проект x64 WIX с помощью Visual Studio 2010?
Я не могу заставить VS2010 построить проект WIX для x64 - то есть я могу добавить платформу, но она не строит ее.
воспроизведение:
- новый проект > установщик Windows XML > проект установки (используйте имя по умолчанию, местоположение и т. д.)
- Сборка > Configuration Manager > Активная Платформа Решений >
- новая платформа: x64
- копировать настройки из: x86
- создать новые платформы проекта: проверено (я попытался снять флажок как ну, не лучше)
- OK, чтобы закрыть диалоговое окно новая платформа решений
- назад в Configuration Manager выберите x64 для платформы
- закройте Configuration Manager
- повторно откройте Configuration Manager
результаты: платформа вернулась к x86.
ожидаемые результаты: платформа по-прежнему установлена на x64.
Я что-то пропустила? Я не могу быть единственным человеком в этой?
2 ответов
WiX определенно поддерживает x64! У меня такая же проблема, и это кажется каким-то сумасшедшим вопросом, поскольку я также получил его для другого решения для x86 и x64. Поэтому я сравнил два файла решения и выяснил, что происходит не так с тем, который не работает.
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{HERE-IS-STANDING-A-GUID}.Debug|x64.ActiveCfg = Release|x86
{HERE-IS-STANDING-A-GUID}.Debug|x64.Build.0 = Release|x86
{HERE-IS-STANDING-A-GUID}.Debug|x86.ActiveCfg = Debug|x86
{HERE-IS-STANDING-A-GUID}.Debug|x86.Build.0 = Debug|x86
{HERE-IS-STANDING-A-GUID}.Release|x64.ActiveCfg = Release|x86
{HERE-IS-STANDING-A-GUID}.Release|x64.Build.0 = Release|x86
{HERE-IS-STANDING-A-GUID}.Release|x86.ActiveCfg = Release|x86
{HERE-IS-STANDING-A-GUID}.Release|x86.Build.0 = Release|x86
EndGlobalSection
это сгенерированный нерабочий. Чтобы заставить его работать, Я заменил первые четыре строки за " = " и немного поиграл с построением x86 и x64. Это сработало для меня.
здесь такой же, но рабочий код:
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{HERE-IS-STANDING-A-GUID}.Debug|x64.ActiveCfg = Debug|x64
{HERE-IS-STANDING-A-GUID}.Debug|x64.Build.0 = Debug|x64
{HERE-IS-STANDING-A-GUID}.Debug|x86.ActiveCfg = Debug|x86
{HERE-IS-STANDING-A-GUID}.Debug|x86.Build.0 = Debug|x86
{HERE-IS-STANDING-A-GUID}.Release|x64.ActiveCfg = Release|x64
{HERE-IS-STANDING-A-GUID}.Release|x64.Build.0 = Release|x64
{HERE-IS-STANDING-A-GUID}.Release|x86.ActiveCfg = Release|x86
{HERE-IS-STANDING-A-GUID}.Release|x86.Build.0 = Release|x86
EndGlobalSection
надеюсь, что это работает и для вас
У меня была такая же проблема всего несколько минут назад в VS2010. Я решил проблему, сделав это:
- закрыть Visual Studio (возможно, Al экземпляров)
- x64 внезапно исчез для проектов wix....
- создайте для проектов wix новый x64 без копирования из других и снимите флажок создать конфигурацию решения
- сохранить решение и снова закрыть VS.
- откройте свой проект еще раз
- снова выберите x64 для проекта wix. Теперь x64 останется...
странно, но она работает :-)