Построить проект x64 WIX с помощью Visual Studio 2010?

Я не могу заставить VS2010 построить проект WIX для x64 - то есть я могу добавить платформу, но она не строит ее.

воспроизведение:

  1. новый проект > установщик Windows XML > проект установки (используйте имя по умолчанию, местоположение и т. д.)
  2. Сборка > Configuration Manager > Активная Платформа Решений >
  3. новая платформа: x64
  4. копировать настройки из: x86
  5. создать новые платформы проекта: проверено (я попытался снять флажок как ну, не лучше)
  6. OK, чтобы закрыть диалоговое окно новая платформа решений
  7. назад в Configuration Manager выберите x64 для платформы
  8. закройте Configuration Manager
  9. повторно откройте 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. Я решил проблему, сделав это:

  1. закрыть Visual Studio (возможно, Al экземпляров)
  2. x64 внезапно исчез для проектов wix....
  3. создайте для проектов wix новый x64 без копирования из других и снимите флажок создать конфигурацию решения
  4. сохранить решение и снова закрыть VS.
  5. откройте свой проект еще раз
  6. снова выберите x64 для проекта wix. Теперь x64 останется...

странно, но она работает :-)