Я редактирую проект установки WIX (XML установщика Windows) и хочу автоматически установить распространяемые файлы VC++ (2005x86, 2005x64) с помощью WIX.
Я использую настраиваемые действия в своем коде, показанном ниже:
<Product ...>
<CustomAction Id="vcredist2005x64" ExeCommand="/q" Execute="deferred"
Return="asyncNoWait" Impersonate="no">
<CustomAction Id="vcredist2005x86" ExeCommand="/q" Execute="deferred"
Return="asyncNoWait" Impersonate="no">
</Product>
...
<Fragment>
<InstallExecuteSequence>
<Custom Action="vcredist2005x64" Before="InstallFinalize">NOT Installed</Custom>
<Custom Action="vcredist2005x86" After="vcredist2005x64">NOT Installed</Custom>
</InstallExecuteSequence>
</Fragment>
Однако при выполнении установщика, сгенерированного из приведенного выше кода, появляется диалоговое окно установщика Windows, в котором говорится: "Устанавливается другая программа. Дождитесь завершения установки, а затем попробуйте установить это программное обеспечение еще раз".
Кажется, что два распространяемых компонента конфликтуют (обратите внимание, что при выполнении, например, 2013x64 и 2005x64 конфликтов не возникает, и они устанавливаются автоматически).
Затем я переключился на использование проекта Bootstrapper (Burn) и написал код ниже:
<Bundle ...>
<Chain>
<ExePackage Id="vcredist2005x64" SourceFile="C:\path\to\vcredist_x64.exe"/>
<ExePackage Id="vcredist2005x86" SourceFile="C:\path\to\vcredist_x86.exe"/>
</Chain>
</Bundle>
...
<Fragment>
<PackageGroup Id="vcredist">
<ExePackage Id="vcredist2005x64"
Cache="yes" PerMachine="yes" Permanent="yes" Vital="yes" Compressed="yes"
SourceFile="C:\path\to\vcredist_x64.exe"
InstallCommand="/q"
SuppressSignatureVerification="yes"
Protocol="burn"
/>
<ExePackage Id="vcredist2005x86" ... /> <!-- same as above -->
</PackageGroup>
</Fragment>
При записи конфликтов не возникает, но установить их молча не удается, т. е. после запуска Bootstrapper появляются диалоги с условиями лицензии на программное обеспечение Microsoft. Я хотел бы, чтобы диалоговые окна не появлялись.
Приветствую любые советы. Спасибо.