2008年3月28日金曜日

nscontrols.dll が書き込めない?

先日、.NET Edition を複数連続インストールしていたところ奇妙なエラーに遭遇しました。(右図)

当該製品を単独でインストールする場合このエラーは発生せず、複数の製品を連続インストールする場合、特に比較的大規模な製品が2つ連続する場合に発生するようです。

この nscontrols.dll は Visual Studio IDE のツールボックスに当該製品のタブを作成するための dll です。

そして、この問題の原因はインストールファイルのキャッシュイメージ処理あるいは遅延書き込み処理による排他ロックで、これはシステム環境依存のため弊社製品インストーラでは対処できません。

このエラーが発生した場合は、以下のいずれかの回避策で対処します。

  1. ダイアログが出た状態で長時間放置し、キャッシュイメージが全てフラッシュされる、あるいは遅延書き込みキューが空になるのを待ってから Retry をクリックする。

  2. Ignore で先に進む。弊社の .NET 製品が既に正しくインストールできていれば、 nscontrols.dll は既にインストール済みのはずなのでインストーラは既存の nscontrols.dll を使用してインストールを継続するはず。インストール終了後念のため Visual Studio の IDE を起動して当該製品のタブが生成されているかどうかを確認し、生成されていない場合は手作業で当該製品を追加する。

  3. 3. Abort で当該製品のインストールを中止し、PC を再起動してから当該製品を改めてインストールする。
なお 1. に関してはは個々のシステムの状態に依存しますので、待機時間を予測することは困難です。従って通常は 2. もしくは 3. で対応することになります。

0 件のコメント: