Вот как добавить поддержку загрузчика для распространяемого DirectX 9c (я хотел сделать это для развертывания ClickOnce setup.exe):
1) Создайте эту папку:
C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v8.0A \ Bootstrapper \ Packages \ Microsoft.DirectX.9c
2) Создайте product.xml внутри этой папки с помощью:
<?xml version="1.0" encoding="utf-8"?>
<Product ProductCode="Microsoft.DirectX.9c" xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper">
<PackageFiles CopyAllPackageFiles="false">
<PackageFile Name="dxwebsetup.exe" HomeSite="DirectXDownloadUrl" PublicKey="3082010A0282010100A5717418CBDB9C2FFAF1631980A38EFFC870830CA1472AFAFA5AB0CE4D0FBD3BDA21CD05D57D7C3FB59976253ADCA04F20E572D34371E6FF6C14F99F84B22587BD14B55DBE37892EC5AB856071858127B93303F9ADD69302EEB6551102CB8385F6C185636119A0149C9D9F9C466337D8113C57C748205316F7CC58FEF6C01ACAB6466C0DE83A05CEA61CE388F0DDAAC270835BD1F2F23FB8D9A49DA3006EAA81CDEE3A04ADC04A922C13E0E941760980016C6720B431B03E6BD2400883D570308D30E7BE8CD02FEED4863F1A5AA5C06885E8897C91034A6E594320489C88FEC945B7E84C04010B62CEA2EC1C9325FDD0B10EC6F8B6241A7BFB7CD65C4ED167E90203010001" />
</PackageFiles>
<InstallChecks>
<FileCheck Property="IsD3dx9Present" SpecialFolder="SystemFolder" SearchPath="" FileName="d3dx9_33.dll" />
</InstallChecks>
<Commands Reboot="Defer">
<Command PackageFile="dxwebsetup.exe" Arguments="/Q">
<InstallConditions>
<BypassIf Property="IsD3dx9Present" Compare="ValueExists" Value="true" />
</InstallConditions>
<ExitCodes>
<ExitCode Value="0" Result="Success" />
<DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" />
</ExitCodes>
</Command>
</Commands>
</Product>
3) Создайте папку / en и внутри первой и поместите в нее этот Package.xml:
<?xml version="1.0" encoding="utf-8"?>
<Package Name="DisplayName" Culture="Culture" xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper">
<Strings>
<String Name="Culture">en</String>
<String Name="DisplayName">Microsoft DirectX 9c Runtime</String>
<String Name="GeneralFailure">An unexpected exit code was returned from the installer. The installation failed.</String>
<String Name="DirectXDownloadUrl">http://download.microsoft.com/download/1/7/1/1718CCC4-6315-4D8E-9543-8E28A4E18C4C/dxwebsetup.exe</String>
</Strings>
</Package>
Теперь VS покажет время выполнения dx в качестве опции, и клиенты загрузят «веб-установщик» среды выполнения directx с сервера Microsoft и запустят его в режиме / Q без вывода сообщений (также без тупой панели bing.)