さっきも書いたけど、VS2015 から、VCRuntime の配布も原則として VCRedist を使うことになる(おそらく、MFCも含めてマージモジュールでの配布の選択は無くなるだろう)。
個人的には、VCRedist の開発元が、ClickOnce 向けの setup.exe 用必須コンポーネントの情報だけではなく、ExePackage 向けの情報も出してくれると、大変ありがたかったりするのだけど。。。
ま、それはともかくとして、既存の(そして残念ながらこちらは開発元からの提供はない) VCRedist から代表的な2つをピックアップして、ExePackage を作ったので張り付けておく。
VC100(VS2010のVisualC++) SP1用
- <?xml version="1.0" encoding="UTF-8"?>
- <Fragment>
- <util:ProductSearch
- Id="VCRedist100_x86"
- Variable="VCRedist100_x86"
- ProductCode="{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}"
- Result="state"/>
- <PackageGroup Id="VCRedist100_x86">
- <ExePackage
- Id="VCRedist100_x86"
- Name="redistVC100\vcredist_x86.exe"
- SourceFile="VS2010\vcredist_x86.exe"
- DetectCondition="VCRedist100_x86 >= 3"
- Permanent="yes"
- PerMachine="yes"
- Cache="no"
- Vital="yes"
- Compressed="no"
- LogPathVariable="VCRedist100_x86_log"
- DisplayName="Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219"
- Protocol="netfx4"
- InstallCommand="/q /norestart /ChainingPackage "[WixBundleName]" /log "[VCRedist100_x86_log].html""
- RepairCommand="/q /norestart /repair /ChainingPackage "[WixBundleName]" /log "[VCRedist100_x86_log].html""
- UninstallCommand="/uninstall /q /norestart /ChainingPackage "[WixBundleName]" /log "[VCRedist100_x86_log].html"" />
- </PackageGroup>
- </Fragment>
<?xml version="1.0" encoding="UTF-8"?>
<Fragment>
<util:ProductSearch
Id="VCRedist100_x86"
Variable="VCRedist100_x86"
ProductCode="{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}"
Result="state"/>
<PackageGroup Id="VCRedist100_x86">
<ExePackage
Id="VCRedist100_x86"
Name="redistVC100\vcredist_x86.exe"
SourceFile="VS2010\vcredist_x86.exe"
DetectCondition="VCRedist100_x86 >= 3"
Permanent="yes"
PerMachine="yes"
Cache="no"
Vital="yes"
Compressed="no"
LogPathVariable="VCRedist100_x86_log"
DisplayName="Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219"
Protocol="netfx4"
InstallCommand="/q /norestart /ChainingPackage "[WixBundleName]" /log "[VCRedist100_x86_log].html""
RepairCommand="/q /norestart /repair /ChainingPackage "[WixBundleName]" /log "[VCRedist100_x86_log].html""
UninstallCommand="/uninstall /q /norestart /ChainingPackage "[WixBundleName]" /log "[VCRedist100_x86_log].html"" />
</PackageGroup>
</Fragment>
VC120(VS2013)用 Update4 用
- <?xml version="1.0" encoding="UTF-8"?>
- <Fragment>
- <util:ProductSearch
- Id="VCRedist120_x86"
- Variable="VCRedist120_x86"
- ProductCode="{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}"
- Result="state" />
- <PackageGroup Id="VCRedist120_x86">
- <ExePackage
- Id="VCRedist120_x86"
- Name="redistVC120\vcredist_x86.exe"
- SourceFile="VS2013\vcredist_x86.exe"
- DownloadUrl="http://go.microsoft.com/fwlink/?LinkID=320712"
- DetectCondition="VCRedist120_x86 >= 3"
- Permanent="yes"
- PerMachine="yes"
- Cache="no"
- Vital="yes"
- Compressed="no"
- LogPathVariable="VCRedist120_x86_log"
- DisplayName="Microsoft Visual C++ 2013 Redistributable (x86) - 12.0.30501"
- Protocol="burn" />
- </PackageGroup>
- </Fragment>
<?xml version="1.0" encoding="UTF-8"?>
<Fragment>
<util:ProductSearch
Id="VCRedist120_x86"
Variable="VCRedist120_x86"
ProductCode="{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}"
Result="state" />
<PackageGroup Id="VCRedist120_x86">
<ExePackage
Id="VCRedist120_x86"
Name="redistVC120\vcredist_x86.exe"
SourceFile="VS2013\vcredist_x86.exe"
DownloadUrl="http://go.microsoft.com/fwlink/?LinkID=320712"
DetectCondition="VCRedist120_x86 >= 3"
Permanent="yes"
PerMachine="yes"
Cache="no"
Vital="yes"
Compressed="no"
LogPathVariable="VCRedist120_x86_log"
DisplayName="Microsoft Visual C++ 2013 Redistributable (x86) - 12.0.30501"
Protocol="burn" />
</PackageGroup>
</Fragment>
あえて、コメントを入れていないのはわざとです。すべての行を分けてるのもわざとです。
質問がある場合は、msi-ml(http://www.freeml.com/msi)までどうぞ。