[VS2008] セットアップ/マージモジュールのビルド時にWindows Installerが表示され、さらにエラーメッセージが表示される

何がきっかけかはっきりしないが、Visual Studio 2008を起動して最初のセットアッププロジェクト/マージモジュールプロジェクトのビルド時にWindows Installerが起動されて、Microsoft SQL Server 2005 Toolsのセットアップ始まり、さらに以下のようなエラーが表示されるようになってしまった。

0:Watson 1:1304 2:StreamSupportFiles
3:streamBinaryToDisk 4:5
5:e:\sql9_sp2_t\sql\setup\darwin\sqlcastub\streamca.cpp
6:238 7:sqlcastub 8:sqlrun.msi

このエラーの後にファイルに書き込むときにエラーが発生したというようなエラーも表示されるが、そのまま続行すると一応ビルドは進む。このように続行すればビルドはできるのではっきりした実害はないのだが、気持ちは悪いもの。

これについて調べてみたらmicrosoftのフィードバックが引っかかった。

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=327997

そのものズバリ。その記事からさらに以下にリンクが張ってあり解決にそちらを見るようにとある。

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=113155

結局はMergeMod.dll関係のインストールが壊れているということのようだ。

レジストリの登録状況を見てみると、C:\Program Files\Common Files\Microsoft Shared\MSI Toolsにあるmergemod.dllを使用しているようだが、このファイルのバージョン情報を見ると、Visual Studio 2008と同時にインストールされたMicrosoft Windows SDK v6.0Aのフォルダ(C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin)にあるファイルに比べてかなり古いバージョン(2.0.x.x)になっている。

上記ページの解決策では回避方法としてMSI編集ツールであるOrcaの最新版をダウンロードしてインストールするように、とある。しかし、これは古い情報で今はOrcaはWindows SDKに含まれている。実際、SDKのインストールフォルダを見てみると、Orca.msiが存在する。これを実行すれば、いま使用しているツールと整合性のあるバージョンのOrcaがインストールできるというわけだ。

うちの環境ではこれを実行してOrcaをインストールすることで今回の問題の対処ができた。

先ほどのフォルダ(C:\Program Files\Common Files\Microsoft Shared\MSI Tools)を見てみるとmergemod.dllが更新され4.0.5299.0と4系列になり、さらに、evalcom2.dllというファイルも追加されている。

これでMergeMod.dll関係の状態は修復されたのだから、Orca自体はアンインストールしてもいかもしれないと思いやってみたが、またエラーが出るようになった。Orcaはインストールしたままにしておく必要があるようだ。

広告
カテゴリー: Tech パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中