Целевая платформа WiX x64

Когда я создаю проект WiX и пытаюсь построить его с установленной платформой x64, я получить ошибки в моем выводе сборки, например:

------ Build started: Project: MyProject, Configuration: Release x64 ------
C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets(444,7): error : The OutputPath property is not set for this project.  Please check to make sure that you have specified a valid Configuration/Platform combination.  Configuration='Release'  Platform='x64'
Done building project "MyProject.wixproj" -- FAILED.
------ Build started: Project: MyProject, Configuration: Debug x64 ------
C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\wix2010.targets(444,7): error : The OutputPath property is not set for this project.  Please check to make sure that you have specified a valid Configuration/Platform combination.  Configuration='Debug'  Platform='x64'
Done building project "MyProject.wixproj" -- FAILED.

Он утверждает, что для проекта не задан выходной путь, но, конечно, он есть. Путь вывода установлен на bin\x64\Debug\ для конфигурации отладки и bin\x64\Release\ для конфигурации выпуска. Так в чем же ошибка?

Кроме того, ошибка не отображается в окне «Ошибки». Теперь я знаю, что винить компилятор - ошибка новичка, но я начинаю задаваться вопросом ... Это ошибка инструмента сборки или я упустил что-то глупое?


person Tim Long    schedule 09.05.2011    source источник
comment
Интересен тот факт, что мы обновились с v3.11.1.2318 до v3.11.2.4516, и с тех пор мы больше не можем создавать установочный файл (Configuration: Release | x86). Мы перешли на предыдущую версию, и, похоже, все снова работает нормально. Думаю, проблема в последней версии WIX.   -  person mrc    schedule 09.04.2021


Ответы (4)


Если вы откроете файл .wixproj в текстовом редакторе, вы увидите, что элементы конфигурации x64 находятся внизу файла (под импортом стандартных целей сборки WiX), а ваша конфигурация x86 - вверху (над импортом ). Если вы переместите XML для конфигурации x64 так, чтобы он был смежным с конфигурацией x86, вы обнаружите, что ваш проект правильно строится для обеих платформ.

person John Rayner    schedule 27.06.2011
comment
Да, вот в чем проблема. Я переместил два сегмента PropertyGroup, и теперь сборка x64 работает. +1 и принял ответ. Так что я предполагаю, что это проблема Votive, я соответствующим образом обновлю свой отчет об ошибке. - person Tim Long; 28.06.2011
comment
@TimLong, ошибка, если я нашел правильный, теперь находится на GitHub, если вы хотите следовать за ним там. - person Tsahi Asher; 03.05.2017
comment
@TsahiAsher спасибо за ссылку. Интересно, что случилось с ошибкой, которую я зарегистрировал в июне 2011 года? У меня была эта проблема с каждым проектом WiX, который я когда-либо создавал, и мне всегда приходилось напрямую редактировать файл проекта. - person Tim Long; 06.05.2017
comment
@TimLong исходная ошибка в sourceforge была зарегистрирована анонимом, поэтому я не знаю, был ли это ты или нет. - person Tsahi Asher; 07.05.2017
comment
Конец 2017 года, и это исправило мои вещи. Актуальный VS 2017, актуальный WIX, приятно. - person foxx1337; 21.11.2017
comment
Ключ для меня был выше импорта. Я уже убедился, что элементы конфигурации собраны вместе (потому что я такой придирчивый), но боролся с этим более часа, пока не заметил это! - person Jaquez; 25.07.2018
comment
Привет, спасибо за подсказку ... это сэкономило много времени. Я также подтверждаю, что проблема все еще присутствует 13 февраля 2020 г., а версия WixToolset 3.11.2.4516 - person sstassin; 13.02.2020

Я была такая же проблема. Однако в моем случае файл wixproj не был искажен, а

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">

полностью отсутствовал. Просто сделал копию конфигурации x86, сохранил и все в порядке.

person floele    schedule 11.06.2012
comment
Похоже, это все еще проблема в 3.9 R2. Похоже, что добавление платформы проекта x64 через стандартный диспетчер конфигурации Visual Studio на самом деле не добавляет группы свойств в файл проекта. - person Alex Jorgenson; 24.03.2015
comment
И это все еще происходит по состоянию на март 2017 года. - person Tim Long; 26.03.2017

Сначала убедитесь, что вы используете последнюю версию набора инструментов WiX (v3.5 или текущая версия v3.6). Если это все еще воспроизводится там, это звучит как ошибка. Отправьте его сюда: http://sourceforge.net/tracker/?group_id=105970&atid=642714

person Rob Mensching    schedule 14.06.2011
comment
Спасибо, Роб, я использую 3.5, но я обновлюсь до 3.6 и посмотрю, смогу ли я перепрограммировать. Если смогу, я запишу ошибку. - person Tim Long; 15.06.2011
comment
Сообщение об ошибке - все еще происходит в 3.6 - person Tim Long; 22.06.2011
comment
эта ошибка все еще актуальна? Решили эту проблему в новом проекте в WiX 3.11. - person Jason; 19.03.2020
comment
Джейсон, убедитесь, что ваш .wixproj обновлен с использованием последних шаблонов - person Rob Mensching; 19.03.2020
comment
@Rob Mensching, как получить и установить новейшие шаблоны? - person Pierre; 01.04.2021
comment
@Pierre См. robmensching.com/support - person Rob Mensching; 02.04.2021
comment
@Rob Mensching 5000 долларов в год за десять билетов в службу поддержки. Шум. - person Pierre; 07.05.2021
comment
@Pierre Не забудьте включить обзор кода и двухчасовую телефонную консультацию, если вы говорите о текущем предложении FireGiant Professional Service. Большинство наших клиентов FireGiant выбирают программу поддержки предприятий, чтобы построить с нами долгосрочные отношения и помочь поддержать дальнейшее развитие WiX Toolset. Если вам нужна бесплатная поддержка, списки рассылки всегда доступны, и вы всегда можете задать дополнительные вопросы здесь, в StackOverflow. - person Rob Mensching; 08.05.2021

Предупреждение: WiX может вставлять несколько экземпляров этого в разные ‹PropertyGroup› s:

    <DefineConstants>Foo=Bar</DefineConstants>
    <DefineConstants>Foo=</DefineConstants>

таким образом отменяя желаемые настройки. Вам необходимо вручную отредактировать файл .WIXPROJ и искать дубликаты.

person Pierre    schedule 01.04.2021