ぼろぼろFusion

システムドライブに空きを作るべく、いらないファイルをどしどしと消していたのだが、いよいよ.NET Framework環境がぼろぼろになってしまったようで、以下のエラーに悩まされている。(当たり前だが、TEMPやcacheディレクトリ内しか消していない訳で、これにより環境が壊れた訳ではないと思っている。直前に行われたWindows UpdateとSP1のインストールの中断が致命的だったのだろう。いやそう思おう)

このパッケージをインストールするときに予期しないエラーが検出されました。このパッケージは問題がある可能性があります。エラー コードは 2908 です

"Error occurred while initializing fusion. Setup could not load fusion with LoadLibraryShim(). Error: [2]" (本当は日本語だったはずだが、失念した)

もうこの辺のエラーになるとどうしようもないので、インストールを諦めてVisual Studio 2005と.NET2.0環境を一旦アンインストールしてしまうことにした。といっても上記のエラーは出続ける訳で、非常に難儀した訳だが。

前者はエラーが出ても無理やりフェーズを進めて、又はmsiexecの強制モードを使って無理やりアンインストール。後者はシステムファイルの依存関係に問題がありそうなので、fusion.dll、mscoree.dll等怪しそうなDLLの依存関係をDependency Walkerで調べて、欠落していると思われるdllを復旧するという方法を採りながら、なんとか全てのコンポーネントをアンインストールする所までは終わった。

レジストリMSIパッケージで構成された環境は、一度構成が崩れてしまうとぼろぼろになる、という見本のような一日だった。

今日はここまで。

1.5GB

以下の対策で、システムドライブの空きが1.5Gb程度しかなくともインストールフェーズまでは進むことを確認した。(逆に書くと、どんなことをしてもシステムドライブに最低1.5Gbの空きは必要ということだ)

1. mspパッケージを空きのあるHDDに展開

VS80sp1-KB926602-X86-JPN.exe /extract D:\Temp

2. 展開されたパッケージを使用してインストール

d:
CD D:\temp
start /wait VS80sp1-KB926602-X86-JPN.msp

しかし、私の場合は相変わらず

このパッケージをインストールするときに予期しないエラーが検出されました。このパッケージは問題がある可能性があります。エラー コードは 2908 です。

このエラーが出まくるので、一度Visual Studioを修復して再度挑戦する予定。やっぱり今日は仕事にならんな。

Patch Cacheを無効にしてサービスパックをインストールする

Microsoft© Visual Studio© 2005 Service Pack 1

サービスパックだが、mspパッケージの展開は昨日のエントリにメモしていた通り、/extractパラメタを指定することでシステムドライブ以外のHDD上に展開することが出来たのだが、今度はシステムドライブに空きが足りなくてインストーラが止まってしまう。と、ここで思い出してNyaRuRuさんが紹介してくれたエントリを読む。

Save Time and Space for VS 2005 SP1 by Disabling the Patch Cache

なるほど、システポリシ MaxPatchCacheSizeの値を0にすることで、パッチ用のキャッシュが作られないようにする訳だ。しかし、これを実行しても状況は変わらない。なんでだろう、とバッチファイルを見ると実行しているのは.exeであり、.mspでは無かった。どうやらこの方法はパッケージが展開される前の状態から開始しないと意味を成さないらしい。

これからサービスパックを当てようとしている方はHDDの空きに十分注意されたい。システムドライブに5Gb程度の空きが無い場合は、上手くいかないことを考えたほうが良いだろう。

追記:
自分でmsiserverサービスを落としてMaxPatchCacheSizeを変更後、サービスを再起動したりして試してみたのだが、相変わらずシステムドライブの空きが足りないといわれるのでシステムドライブのありとあらゆるファイルとTempフォルダを消して、なんとか1.4Gbの空きを作って実行した所、やっとインストールフェーズ(EULA確認後)まではこぎつけた。HDDが空きが心配と、パッケージを他のドライブに展開したのは良かったが、システムドライブに1Gb以上の空きが必要なのは変わらないようである。

追記2:
結局、.mspを他のドライブに展開したにも関わらずこれを実行すると

C:\Documents and Settings\Kazzz\Local Settings\Temp\26c8a6.msp

とシステムドライブにmspをコピーして、それを実行している。どうりで意味無いわけだ。
今度失敗したら予めmspの展開をするのは止めてバッチファイルでやってみよう。

追記3:

HDDの空きは足りたのだが、今度は以下のエラーで止まる。ログを見ると

このパッケージをインストールするときに予期しないエラーが検出されました。このパッケージは問題がある可能性があります。エラー コードは 2908 です

う〜ん。今、NyaRuRuさんからもコメントが入ったが、やはりログを指定してバッチファイル使ってみよう。という訳で、他のドライブにmspを展開するインストール方法は駄目かもしれない。

やっぱり今日はサービスパックで終わってしまいそうだ..

我慢の限界

Microsoft© Visual Studio© 2005 Service Pack 1

仕事用PC(Xeon 2Ghz + 1GB RAM, Windows XP)にもインストールを開始したが、β版のアンインストール時間を含めて既に2時間を越えた。(まだ完了していない)

実はインストールは既に二度目である。というのも、インストール途中で知らない間にWindows Updateが動いていたようで、ちょっと離席している間に勝手にリブートしてしまったのだ。ちぃっくしょぉぉぉぉぉぉぉぉぉぉぉぉ。

やっぱりこれ(今回のサービスパック)って、複数のパッケージに分ければ良かったんじゃないだろうか。フィードバックサイトで公開されている個々のHotFixはやり過ぎだとは思うが、それでもHDDの空きが無いユーザのために、細かく分かれたバージョンが欲しかった。

今日のsupport.microsoft.com

当然落ちてる。

いい加減、「何時〜何時まではサーバ落とします」ってアナウンスしてくれよ。但し仕事でKB見れないのは困るんでミラーかキャッシュ用意しておいてくれ。それでいいから。

これじゃサポートサイトの意味無いよ。