- PR -

アンインストール時のエラーについて(.net2003)

投稿者投稿内容
sai
会議室デビュー日: 2007/07/18
投稿数: 10
投稿日時: 2007-07-18 10:48
お世話になります。

現在、VB.Net2003にて作成したツールのアンインストールで問題が出ています。
ツールの使用者より以下の様な現象の問い合わせが来たのですが、対応に困っています。
何かヒントとなる事でもいいので、お教え下さい。

--- 以下、エラーの詳細 -------------------------------------
【環境】
OS:Win2000 SP4

【操作】
@ログインユーザー「A」(Admini権限)で、ツールをインストール。(成功)
Aログインユーザー「B」(Admini権限)を作成。
BツールがVerアップした為、ログインユーザー「B」で、上記ツールをアンインストール。(失敗)

【現象】
アンインストールは「アプリケーションの追加と削除」から行っています。
削除しようとすると、以下のメッセージが表示されます。
「選択した機能は現在使用できないネットワークリソースにあります。」
そしてインストールパッケージ ***.msi ファイルの場所を指定するように求められます。
@でインストールした当時のmsiファイルを指定すれば、アンインストールは可能だと思うのですが、
残念な事に当時のmsiファイルが消失してしまっている状態です。

(この状態で最新Verのmsiファイルを指定すると、
「このファイル'***.msi'は、製品○○に対する有効なインストールパッケージではありません。この製品をインストールできるフォルダにあるインストールパッケージ'***.msi'を使用して、この製品○○をインストールして下さい。」
というエラーとなります。)

【試した事】
こちらにある環境(Win2000 SP4)で同じ操作をしてみましたが、正常にアンインストールされました。
問題の出ている環境で、ユーザー「A」でログインしてもアンインストールに失敗しました。

【知りたい事】
・(@〜Bの間で)他にどのような操作をすると上記のような状態になってしまうのか…
・どうしたら既にインストールされているツールをアンインストールできるのか…
 手段としては、@の***.msiを再作成できればいけるのか考えています。
 その際、プロダクトコードやアップグレードがアンインストール時にどのように関係してくるのか、分かりません。
------------------------------------------------------------

以上、分かり難い説明で申し訳ありませんが、
宜しくお願い致します。
とっちゃん
大ベテラン
会議室デビュー日: 2005/07/19
投稿数: 203
投稿日時: 2007-07-18 12:55
とりあえずは、アンインストールでエラーが出るということが分かっているので
詳細ログをとってみるというくらいでしょうか。

アンインストールの詳細ログは、
コマンドプロンプト上で(ユーザーはAがよい)、
msiexec /x {...} /l*v c:\Uninst.log
とします。
{...} の部分にはアンインストールしたい製品の ProductCode を設定します。
この値がわからない場合はレジストリエディタで
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall の
サブキーからアンインストールしたい製品名を「値」にもつ、{...}の形で用意された
キー名を捜してください。

ちなみに、{...}は、GUID形式なので {4839248F-7CEB-4EC3-9857-128A592274D9} のような
形になっています(この値は、今生成したものなのでこの値でキーがあるわけじゃないのでご注意を)。

で、ログをとったらですが、
どこかに失敗している直接要因が記述されているはずです。

ただし、かなり膨大な量になることもあるため、一行一行細かく確認していく形になります。
量が少なければ(ただし、それでも通常は数キロ単位)、直接テキストエディタで参照でも
いいのですが、量が多くなると慣れていないとどこ見てるのかわからん!というくらい同じような情報が
並んでいるので、厳しいかもしれません。

そういう場合は、WindowsSDK(PlatformSDKでもよい)をインストールして、インストール先の
Binディレクトリにある WiLogUtl.exe という詳細ログ解析ツールがあるので
それを利用してみるのもよいかと思います。

いずれにしても、まずはエラーの直接的な要因から、それに至った根本原因をたどる
しかないと思われます。

_________________
// とっちゃん(高萩 俊行)@わんくま同盟
// とっちゃん’Blog
// MS-MVP for Developer Tools - Visual C++
// WindowsInstallerの話題はhttp://www.freeml.com/msiまで
sai
会議室デビュー日: 2007/07/18
投稿数: 10
投稿日時: 2007-07-18 14:26
コメントありがとうございました。

アンインストールでログが取れるんですね!
初めて知りました…

今、ツール使用者にログを出してもらえるようお願いしています。

そこで、先にWindowsSDKのインストールを試みています。
見つかったものが、「Windows Vista™ および .NET Framework 3.0 ランタイム コンポーネント用 Microsoft® Windows® Software Development Kit 」なのですが、
Vista版のものでも問題ないのでしょうか…
(SDKを入れても開発環境などに影響は無いのでしょうか??)

PlatformSDKも探してみたのですが、リンク切れであったり、2003Serverのものであったりと…

無知の為、質問ばかりですみません。
以上、宜しくお願い致します。
とっちゃん
大ベテラン
会議室デビュー日: 2005/07/19
投稿数: 203
投稿日時: 2007-07-18 15:41
引用:

saiさんの書き込み (2007-07-18 14:26) より:

そこで、先にWindowsSDKのインストールを試みています。
見つかったものが、「Windows Vista™ および .NET Framework 3.0 ランタイム コンポーネント用 Microsoft® Windows® Software Development Kit 」なのですが、
Vista版のものでも問題ないのでしょうか…
(SDKを入れても開発環境などに影響は無いのでしょうか??)

PlatformSDKも探してみたのですが、リンク切れであったり、2003Serverのものであったりと…


WindowsSDK は、PlatformSDKの後継SDKにあたり、Vista 以後(Ver.6.0以降)のOS開発対応版という位置づけになります。
ただし、開発環境にVS2005を要求するため、実質的にはVS2003まで用のものでは「ない」といえます。

先のコメントでは失念していたのですが、今回は VS2003 が開発環境のようですので、PlatformSDK を
入れておくことをお勧めします。

WindowsSDK は、.NET 3.0 を入れてしまう形になるため今回はあまりお勧めできません。


PlatformSDK については、最終バージョンのMarch 2006(2003 R2対応版)をインストールすることをお勧めします。
SDK の表記は、そのOSで動かせというものではなく、そのOSまで開発対象に含めたものという表記です。

ですので、Vista以前の最新(本当は2003-SP2なのですが現状SDK出てないみたいなのでw)にあたる、
2003 R2対応版をインストールするのが良いということになります。

_________________
// とっちゃん(高萩 俊行)@わんくま同盟
// とっちゃん’Blog
// MS-MVP for Developer Tools - Visual C++
// WindowsInstallerの話題はhttp://www.freeml.com/msiまで
sai
会議室デビュー日: 2007/07/18
投稿数: 10
投稿日時: 2007-07-19 14:21
2003 R2対応版のインストールにてこずっていましたが、なんとか終わりました。

Webインストールでこけまくって、FullDownloadでインストールしました。
FullDownloadした後も、どうやってインストールするのか、迷っていました。

*** 他に調べている方の為に、メモとしてここに残しておきます。******************
@Windows Server 2003 R2 PlatformSDKのダウンロードページでFull Downloadを選択する。
 (18ファイルをすべてダウンロードする。)
APSDK-FULL.exeを実行し、アウトプットのフォルダを指定して、PSDK-FULL.batとExtract.exeを展開する。
BコマンドラインからPSDK-FULL.batとオプションに展開フォルダを指定しする。
例)C:\\PSDK-FULL.bat C:\\PSDK
D展開が完了したらSetup.exe を実行してインストールを行う。
*********************************************************

ここからが本題ですが^^;
ログファイルをWiLogUtl.exeで読込んだ所、PossibleSolutionsという欄に以下のメッセージが表示されていました。
「この製品のインストール元を利用できません。インストール元が存在し、アクセスできることを確認してください。」
(ログの中身のほうは見てみましたが、やはりさっぱりわかりません・・・orz)

上記メッセージを元に検索をかけると、Officeの場合ですが、Microsoftで解決策が載っていました。
方法としては、以下の手順です。
@Windows Installer CleanUp ユーティリティをダウンロード、インストールする。
A@のツールで対象のアプリケーションを削除する。
B対象のアプリケーションを再インストールをする。

参考:http://support.microsoft.com/kb/295823/ja

この方法でいけそうな気がします。
ただ、アンインストール時には「この製品のインストール元を利用できません。インストール元が存在し、アクセスできることを確認してください。」というメッセージが1回も表示されていないのが気になる点ではありますが…

何か懸念事項などありましたら、ご教授願いたいです。
以上、よろしくお願い致します。

[ メッセージ編集済み 編集者: sai 編集日時 2007-07-19 14:22 ]
とっちゃん
大ベテラン
会議室デビュー日: 2005/07/19
投稿数: 203
投稿日時: 2007-07-19 16:16
引用:

saiさんの書き込み (2007-07-19 14:21) より:
2003 R2対応版のインストールにてこずっていましたが、なんとか終わりました。

Webインストールでこけまくって、FullDownloadでインストールしました。
FullDownloadした後も、どうやってインストールするのか、迷っていました。


そういえば、Webインストールはうまくいかないというのをあちこちで見かけますね。
FW(FireWall)で通らないっぽいというのは、ありましたが...
もっと別の原因なのかもw


引用:

ログファイルをWiLogUtl.exeで読込んだ所、PossibleSolutionsという欄に以下のメッセージが表示されていました。
「この製品のインストール元を利用できません。インストール元が存在し、アクセスできることを確認してください。」
(ログの中身のほうは見てみましたが、やはりさっぱりわかりません・・・orz)


ログで一番最初にこのメッセージのある数行手前くらいに別のエラーか、ワーニングみたいなのがありませんか?
ログだけだと、なぜまでは判断できませんが(なにせインストーラが何やってるか全くわからんのでw)、エラーの部分は、結果なので、原因はその手前にあるはずです。


引用:

上記メッセージを元に検索をかけると、Officeの場合ですが、Microsoftで解決策が載っていました。
方法としては、以下の手順です。
@Windows Installer CleanUp ユーティリティをダウンロード、インストールする。
A@のツールで対象のアプリケーションを削除する。
B対象のアプリケーションを再インストールをする。

参考:http://support.microsoft.com/kb/295823/ja

この方法でいけそうな気がします。


このツールは、MsiZap というインストール環境から、インストールの情報だけを削除するツールです。
これを使ってもファイルやレジストリ(あるいはカスタム動作などで作業されるもの)は消えませんが、WindowsInstallerの抱えるインストール情報は消えます。

引用:

ただ、アンインストール時には「この製品のインストール元を利用できません。インストール元が存在し、アクセスできることを確認してください。」というメッセージが1回も表示されていないのが気になる点ではありますが…



これは、普通にコンパネから呼び出しても出てこないということですか?
もしそうであれば、まだ残っているのなら、削除ボタンではなく変更からアンインストールを選んでみてください。
もしかすると状況が変わるかもしれません。

_________________
// とっちゃん(高萩 俊行)@わんくま同盟
// とっちゃん’Blog
// MS-MVP for Developer Tools - Visual C++
// WindowsInstallerの話題はhttp://www.freeml.com/msiまで
sai
会議室デビュー日: 2007/07/18
投稿数: 10
投稿日時: 2007-07-19 16:45
早い回答、ありがとうございます!

引用:
これは、普通にコンパネから呼び出しても出てこないということですか?
もしそうであれば、まだ残っているのなら、削除ボタンではなく変更からアンインストールを選んでみてください。
もしかすると状況が変わるかもしれません。

アプリケーションの追加と削除を行った際は、「変更」ボタンは非活性でした。
(「削除」ボタンのみ活性となっています。)


引用:
このツールは、MsiZap というインストール環境から、インストールの情報だけを削除するツールです。
これを使ってもファイルやレジストリ(あるいはカスタム動作などで作業されるもの)は消えませんが、WindowsInstallerの抱えるインストール情報は消えます。

インストールの情報を削除し、最新版を再インストールすれば、
取り敢えず最新版がインストールできないという問題は解決するのかなと思った次第です。


引用:
ログで一番最初にこのメッセージのある数行手前くらいに別のエラーか、ワーニングみたいなのがありませんか?
ログだけだと、なぜまでは判断できませんが(なにせインストーラが何やってるか全くわからんのでw)、エラーの部分は、結果なので、原因はその手前にあるはずです。

WiLogUtl.exeの解析では、エラー数はトータルで1個と表示されていました。
エラー・ワーニングは「Note:」という記述あたりを見ればよいのでしょうか…
どうしてmsiファイルが要求されるのか、探るのは難しいかもしれませんね…

ちなみに、数行前はこんな感じです。
コード:

MSI (c) (44:64) [16:00:29:406]: Note: 1: 1402 2: UNKNOWN\URL 3: 2
MSI (c) (44:64) [16:00:29:406]: Note: 1: 1706 2: -2147483647 3: ***.msi
MSI (c) (44:64) [16:00:29:406]: Note: 1: 1706 2: 3: ***.msi
MSI (c) (44:64) [16:00:51:265]: SOURCEMGMT: Trying source C:\Documents and Settings\A\デスクトップ\***_v112\.
MSI (c) (44:64) [16:00:51:265]: SOURCEMGMT: Source is invalid due to client source our of sync (product code is the same).
MSI (s) (60:E8) [16:02:12:228]: SOURCEMGMT: Failed to resolve source
MSI (s) (60:E8) [16:02:12:228]: MainEngineThread is returning 1612
MSI (c) (44:64) [16:00:51:265]: Note: 1: 1731 2: -2147483645 3: ***.msi
MSI (c) (44:64) [16:00:51:281]: Font created. Charset: Req=128, Ret=128, Font: Req=MS Pゴシック, Ret=MS Pゴシック
MSI (c) (44:08) [16:02:12:228]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (c) (44:08) [16:02:12:228]: MainEngineThread is returning 1612
=== Verbose logging stopped: 2007/07/18 16:02:12 ===



頼ってばかりで申し訳ありませんが、宜しくお願い致します。


-----------------------------------------------------------------
追記:
Noteの見方がなんとなく分かってきました。
1:←エラーコード
2:←エラー用文字1
3:←エラー用文字2
といったところでしょうか…

エラーコードからErrorHelpファイルのコードを検索して、そこにあるメッセージに対して、
[2]であれば「エラー用文字1」
[3]であれば「エラー用文字2」
を置換すると、本来のエラーメッセージが取得できるという推測ですが…


[ メッセージ編集済み 編集者: sai 編集日時 2007-07-19 17:12 ]
とっちゃん
大ベテラン
会議室デビュー日: 2005/07/19
投稿数: 203
投稿日時: 2007-07-19 17:37
引用:

saiさんの書き込み (2007-07-19 16:45) より:

インストールの情報を削除し、最新版を再インストールすれば、
取り敢えず最新版がインストールできないという問題は解決するのかなと思った次第です。


はい。インストールされていない状態と等しければ、新たにインストールは可能です。
ただし、「バージョン管理」がきっちりと行われていれば...ですが。


引用:

ちなみに、数行前はこんな感じです。
コード:
MSI (c) (44:64) [16:00:29:406]: Note: 1: 1402 2: UNKNOWNURL 3: 2 
MSI (c) (44:64) [16:00:29:406]: Note: 1: 1706 2: -2147483647 3: ***.msi 
MSI (c) (44:64) [16:00:29:406]: Note: 1: 1706 2:  3: ***.msi 
MSI (c) (44:64) [16:00:51:265]: SOURCEMGMT: Trying source C:Documents and SettingsAデスクトップ***_v112.
MSI (c) (44:64) [16:00:51:265]: SOURCEMGMT: Source is invalid due to client source our of sync (product code is the same).

MSI (s) (60:E8) [16:02:12:228]: SOURCEMGMT: Failed to resolve source
MSI (s) (60:E8) [16:02:12:228]: MainEngineThread is returning 1612

MSI (c) (44:64) [16:00:51:265]: Note: 1: 1731 2: -2147483645 3: ***.msi 
MSI (c) (44:64) [16:00:51:281]: Font created.  Charset: Req=128, Ret=128, Font: Req=MS Pゴシック, Ret=MS Pゴシック
MSI (c) (44:08) [16:02:12:228]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied.  Counter after decrement: -1
MSI (c) (44:08) [16:02:12:228]: MainEngineThread is returning 1612
=== Verbose logging stopped: 2007/07/18  16:02:12 ===




えっと、この部分はログの一番最後ですよね?
これは、結果なので、その手前のブロック(のどこか)に詳細があると思われますが、この部分だけだとさっぱりわからんですね。
#だからと言って全部のログを張り付けられても困りますけどw

ついでにちょっと細かいこと。

(c) は、UIサイドのクライアントプロセスでの情報、(s)は、インストーラエンジンランタイム(サービスプロセス)の情報です。
ま、役に立つということではありませんが、MainEngineThread is returning の行の1612 が、最終的に帰ってくるエラーコードです。

エラーコードの詳細は、Errors Referenceに書いてあるので、そちらを参考にするとよいでしょう。


Note: の行はその直前に行った何か(場所に依存なのでいろいろ)でエラーが発生した場合の詳細情報になります。役に立つ場合もあるし、役に立たない場合もあります。
ものによっては、そのOSでは絶対に発生するものなどもあるので、まぁ参考程度にというところですね。

いずれにしても、これ以上はインストーラの全体像と詳細(何をどこへインストールしているかや、カスタム動作などがあるかなど)がある程度わからないと、解決のヒントも難しいかもしれません。

それでなくとも、VSのセットアッププロジェクトはエラー(ログ上は)が山のように出るので...w

_________________
// とっちゃん(高萩 俊行)@わんくま同盟
// とっちゃん’Blog
// MS-MVP for Developer Tools - Visual C++
// WindowsInstallerの話題はhttp://www.freeml.com/msiまで

スキルアップ/キャリアアップ(JOB@IT)