Как развернуть 64-разрядный и 32-разрядный пакет установщика Windows в качестве единой установки?

Мне нужно развернуть установку программного обеспечения, ориентированную как на 64-битную, так и на 32-битную Windows. У меня есть две отдельные базы данных установщика Windows (созданные с помощью WiX) для каждой платформы, и я использую dotNetInstaller для объединения обоих в один исполняемый файл загрузчика установки.

Я в настоящее время использую версию 1.10 dotNetInstaller и установить auto_close_if_installed=Trueпотому что я хочу полностью скрыть загрузчик от пользователя. Тем не менее, dotNetInstaller настаивает на отображении окна индикатора выполнения порога, пока мой установщик работает, и на самом деле не закрывается автоматически. Пользователь должен подтвердить диалоговое окно, сообщающее ему, что приложение было успешно установлено. Но настоящая проблема заключается в том, что он не поддерживает Windows 8 (пока).

Обновление до более поздней версии dotNetInstaller, похоже, не работает auto_close_if_installedтак что еще хуже.

Итак, мой вопрос: каково современное состояние для развертывания обеих установок в одном исполняемом файле. Будет Wix Burn вариант?

Я знаю, что в идеальном мире я просто предоставляю своим клиентам отдельные установщики для любой платформы. Но они совершенно не знают о таких тонкостях, большинство из них даже не знают, какую платформу они используют.

2 ответа

Решение

Я бы определенно использовал Burn в этом сценарии. Что-то похожее на следующее:

<Wix>
  <Bundle...>
    <BootstrapperApplicationRef Id='WixStandardBootstrapperApplication.HyperlinkLicense' />

    <Chain>
      <MsiPackage InstallCondition='NOT VersionNT64' SourceFile='path\to\x86.msi' />
      <MsiPackage InstallCondition='VersionNT64' SourceFile='path\to\x64.msi' />
    </Chain>
  </Bundle>
 </Wix>

Это как раз один из сценариев, для которых Burn был разработан.

Вы можете сделать это в одном Wix с помощью условий и возможностей.

<Feature Id='X86' Level='1'>
  <ComponentRef Id='X86Feature1' />
  <Condition Level="1">NOT VersionNT64</Condition>
</Feature>
Другие вопросы по тегам