ProgramFiles64Folder устанавливается в \ Program Files (x86) \ в WIX Installer - PullRequest
3 голосов
/ 20 декабря 2011

В настоящее время у меня есть два проекта WIX - один для создания установщика x86 и один для создания установщика x64.Я хотел бы объединить эти два проекта в один проект, который использует переменные для управления потоком программы.

У меня есть следующее:

  <?if $(var.Platform) = x64 ?>
    <?define ProductName = "CableSolve Web (64 bit)" ?>
    <?define Win64 = "yes" ?>
    <?define PlatformProgramFilesFolder = "ProgramFiles64Folder" ?>
  <?else ?>
    <?define ProductName = "CableSolve Web" ?>
    <?define Win64 = "no" ?>
    <?define PlatformProgramFilesFolder = "ProgramFilesFolder" ?>
  <?endif ?>

, и я вошел в Visual Studio -> Build -> Configuration Manager и установите такие параметры:

enter image description here

Затем я удалил все параметры "Win64 = 'yes'" и "Win64 = 'no'" ввсе компоненты / каталоги обоих проектов.

Интересно, есть ли что-то большее, чем это?Когда я создаю свой установщик x64, я вижу, что он пытается установить в C: \ Program Files (x86) ... а не в C: \ Program Files.Я предполагаю, что это означает, что код опускается до оператора «else», но я не знаю, как это подтвердить.

Существуют ли другие переменные, которые необходимо установить для обеспеченияправильное создание пути установки x64?

Спасибо

Я унаследовал весь приведенный ниже код установщика (за исключением переменных, над которыми я сейчас работаю над добавлением).Я добавил $ (var.PlatformProgramFilesFolder), а также переменные EnvironmentVariables wxi.enter image description here

EDIT2: Возможно, это преступник, но он пытается выяснить, почему его конфигурация x86:

------ Пропущен Rebuild All: Project: CS Web Installer x64,Конфигурация: Выпуск x86 ------

1 Ответ

6 голосов
/ 21 декабря 2011

Две вещи:

  1. Вам необходимо установить атрибут Platform = "x64" в элементе Package, чтобы получить 64-битный MSI-файл
  2. Где инициализируется переменная $ (var.Platform)?Если вы намеревались использовать встроенную переменную платформы WIX, вам лучше использовать $ (sys.BUILDARCH) или $ (sys.PLATFORM) в зависимости от версии WIX.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...