Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x64) に依存する C++ VC9 x64 アプリケーションの WiX インストーラーに取り組んでいます ( http://www.microsoft.com/en-us/download/details.aspx?id= 2092年)
これを実現するために、WiX パッケージに次のマージ モジュールを追加しました。
<DirectoryRef Id="TARGETDIR">
<Merge Id="VCRedist" SourceFile="X\Wix\Microsoft_VC90_CRT_x86_x64.msm" DiskId="1" Language="0"/>
<Merge Id="VCRedistAlt" SourceFile="X\Wix\Microsoft_VC90_ATL_x86_x64.msm" DiskId="1" Language="0"/>
</DirectoryRef>
<Feature Id="VCRedist" Title="Visual C++ 9.0 x64 Runtime" AllowAdvertise="no" Display="hidden" Level="1">
<MergeRef Id="VCRedist"/>
<MergeRef Id="VCRedistAlt"/>
</Feature>
これはログ ファイルに出力されます。ここでは、正しくインストールされていると思います。
MSI (s) (18:20) [17:16:56:698]: Executing op: AssemblyPublish(Feature=VCRedist,Component={22D75DAD-658C-3109-91F7-4CB1A0729109},AssemblyType=2,,AssemblyName=Microsoft.VC90.CRT,version="9.0.30729.6161",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="amd64",type="win32",)
MsiPublishAssemblies: Application Context:Global, Assembly Name:Microsoft.VC90.CRT,version="9.0.30729.6161",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="amd64",type="win32"
MSI (s) (18:20) [17:16:56:698]: Executing op: AssemblyPublish(Feature=VCRedist,Component={74C57B6B-FF6E-3825-BED2-78E14E3E0E3C},AssemblyType=2,,AssemblyName=Microsoft.VC90.ATL,version="9.0.30729.6161",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="amd64",type="win32",)
MsiPublishAssemblies: Application Context:Global, Assembly Name:Microsoft.VC90.ATL,version="9.0.30729.6161",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="amd64",type="win32"
アプリケーションがクリーンな Win7 x64 システムで実行されず、Side-by-Side 構成エラーがスローされます。
ただし、Microsoft Web サイトから Microsoft Visual C++ 2008 SP1 Redistributable Package (x64) をインストールすると、アプリケーションが実行されます。何かが足りないことは理解していますが、これを解決する方法がわかりません。