Установка 32 и 64-битных драйверов с помощью Wix?

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

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

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

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

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

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

Ответ 1

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

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

<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. Надеюсь, что это поможет другим с тем же требованием.

Алан