MSI のインストールを試みた結果、恐ろしい問題が発生しました。
MSI (c) (98:B0) [18:01:22:818]: Invoking remote custom action. DLL: C:\DOCUME~1\sspencer\LOCALS~1\Temp\1\MSI19.tmp, Entrypoint: CheckFX
MSI (c) (98:FC) [18:01:22:833]: Cloaking enabled.
MSI (c) (98:FC) [18:01:22:833]: Attempting to enable all disabled privileges before calling Install on Server
MSI (c) (98:FC) [18:01:22:833]: Connected to service for CA interface.
Action ended 18:01:22: DIRCA_CheckFX. Return value 3.
かなり掘り下げた後、これは実際には DLL が完全にロードできなかったことを示しています。CA サーバーは接続できず、DLL エントリ ポイントにヒットし始めました。
orca と 7zip を使用して、デプロイメント プロジェクトのビルド時に Visual Studio によって挿入される DIRCA_CheckFX のカスタム アクションを抽出しました。DLL を取得し、ホスト システム (Server 2003 R2) で Dependency Walker を実行すると、次のエラーが発生しました。
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
VS 2010 コンパイラを使用してシステムを再コンパイルし、DLL を抽出して依存関係ウォーカーを実行しましたが、同じエラーは発生しませんでした。つまり、VS 2010 のコンパイルは機能しますが、含まれている DLL がターゲット環境にロードされないため、VS 2013 のコンパイルは失敗します。
私の質問は、Dependency Walker によって報告されたエラーをトラブルシューティングするために、欠落している DLL をトラブルシューティングする方法です。