Установка 32- и 64-битных драйверов с Wix? - PullRequest
11 голосов
/ 03 января 2012

У меня есть проект Wix, из которого я хотел бы установить 32-разрядные драйверы при сборке с конфигурацией выпуска x86 и 64-разрядные драйверы при сборке с x64.

То, как я делаю это только сейчасс двумя одинаковыми проектами, но один ссылается на difxapp_x86, а другой ссылается на difxapp_x64.Могу ли я улучшить это?

Кроме того, если я ссылаюсь на difxapp_x86 и собираю 64-битную версию, то неудивительно, что я получаю ошибку msi:

"DIFXAPP: ОШИБКА - Вам необходимоиспользуйте 64-разрядную версию DIFXAPP.DLL для установки драйверов на этот компьютер. "

Можно ли ссылаться на них условно на основе выбранной конфигурации сборки?

Спасибо, Алан

1 Ответ

15 голосов
/ 03 января 2012

Мне удалось найти решение, включающее ручное редактирование файла проекта.

Я изменил следующую часть:

<ItemGroup>
  <WixLibrary Include="difxapp_x86">
    <HintPath>C:\Program Files\Windows Installer XML v3.5\bin\difxapp_x86.wixlib</HintPath>
    <Name>difxapp_x86</Name>
  </WixLibrary>
</ItemGroup>

На следующую:

<ItemGroup>
  <WixLibrary Include="difxapp_$(Platform)">
    <HintPath>C:\Program Files\Windows Installer XML v3.5\bin\difxapp_$(Platform).wixlib</HintPath>
    <Name>difxapp_x86</Name>
  </WixLibrary>
</ItemGroup>

Теперь путь к ссылке будет определяться состоянием переменной Platform.Надеюсь, что это поможет другим с таким же требованием.

Алан

...