過去ログ表示


過去ログ 199 を表示

トピック内全 22 記事中の 11 〜 20 番目を表示
[ 最新記事及び返信フォームをトピックトップへ ]
このトピックの全ページ / [0] [1] [2]

Re[4]: アンインストーラーが実行できない・・・
(#31173) このトピック中11番目の投稿
(環境: WinXP SP2/Firefox1.5)

色々と調べてみたらmozillaZineのフォーラムに同じ状況のトピックがありました。
http://mozillazine.jp/forums/viewtopic.php?t=1225

これを元にFirefox1.5.0.1のアンインストーラーをリネームして
実行してみたところ問題なくアンインストールできました。

アンインストール後、再度1.5.0.3を入れ直し、
すぐにアンインストールしようと試してみましたが・・・やはりハングアップ。

職場用のPCでは1.5.0.2以降のアンインストーラーでも問題なく
アンインストール出来るので、何が原因がハッキリできないのですが・・・

緊急用という感じでは利用できるのではないかと思います。

Re[5]: アンインストーラーが実行できない・・・
(#31182) このトピック中12番目の投稿
(環境: Win2000/SeaMonkey1.5)

> これを元にFirefox1.5.0.1のアンインストーラーをリネームして
> 実行してみたところ問題なくアンインストールできました。

1.5.0.1のUninstallFirefox.exeを、1.5.0.2以降で使用されているuninstall.exeという名前に変えて実行したら、とりあえずアンインストールの実行時のエラー(ハング)はなくなった、ということですね。

> アンインストール後、再度1.5.0.3を入れ直し、
> すぐにアンインストールしようと試してみましたが・・・やはりハングアップ。

1.0.x〜1.5.0.1までと1.5.0.2以降の大きな違いに、
1.0.x〜1.5.0.1のUninstallFirefox.exeは自己解凍形式なので、C:\TMPなどに展開されてからその中のuninstall.exeが呼ばれる(おそらく同時に展開されたuninstall.iniも使われる)のに対し、
1.5.0.2以降は、Firefoxのプロフラムディレクトリーの中のUninstall\uninstall.exeが呼ばれてその中にあるuninstall.iniが使われる、
ということがあります。
C:\TMPなどに展開されてから実行されるuninstall.exeでないと、途中でハングしてしまう状況になることが起こり得る、ということなのかな?
特に、Firefoxのプログラムディレクトリー内のUninstall\uninstall.exeという、実行中の自分自身、uninstall.iniというオープン中のファイル、それらの入っているUninstallディレクトリーなどで、それを消しに行こうとして待たされてしまう、とか。

1.5.0.2以降のFirefoxのプログラムディレクトリーのUninstallディレクトリーをC:\TMP\Uninstallディレクトリーにコピーし、
C:\TMP\Uninstallディレクトリーをカレントディレクトリーにし、
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox (1.5) [この部分は、(1.5.0.2) とか (1.5.0.3) かも]
の中に書いてあるパラメーターを指定して、1.5.0.2以降のuninstall.exeを実行するとどうなりますか?

なお、私の環境では、Firefox関係のレジストリーを全部消したあとの1.5.0.1のクリーンインストール(空のディレクトリーへの導入)→1.5.0.3への手動更新→アンインストール(1.5.0.3のuninstall.exe)、では全く問題がなかったので、1.0.xの残骸があるときだけの問題、という可能性もあります。

Re[6]: アンインストーラーが実行できない・・・
(#31203) このトピック中13番目の投稿
(環境: WinXP SP2/Firefox1.5)

> 1.5.0.2以降のFirefoxのプログラムディレクトリーのUninstallディレクトリーをC:\TMP\Uninstallディレクトリーにコピーし、
> C:\TMP\Uninstallディレクトリーをカレントディレクトリーにし、
> HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox (1.5) [この部分は、(1.5.0.2) とか (1.5.0.3) かも]
> の中に書いてあるパラメーターを指定して、1.5.0.2以降のuninstall.exeを実行するとどうなりますか?

一応、上記の手順に沿って試してみました。
(レジストリの部分はUninstallStringのデータ値をC:\TMP\Uninstall\uninstall.exe /ua "1.5 (ja)" に書き直す、ということでしょうか?)
それでもやはりハングしてしまいました。

あとは、1.0x系の残骸がどこかに残っているということになるのでしょうか?
週明けになりますが、問題なくアンインストールできる職場用のPCのレジストリも調べなおしてみます。

Re[7]: アンインストーラーが実行できない・・・
(#31218) このトピック中14番目の投稿
(環境: Win2000/SeaMonkey1.5)

> (レジストリの部分はUninstallStringのデータ値をC:\TMP\Uninstall\uninstall.exe /ua "1.5 (ja)" に書き直す、ということでしょうか?)

それでいいはずですが、作業としては、C:\TMP\Uninstall\uninstall.exeのショートカットを作り(作業フォルダは自動的にC:\TMP\Uninstallがセットされる)、そこに/ua "1.5 (ja)"を追加、というほうが、何をやっているかわかりやすくていいでしょう。
スタートメニュー/プログラム/アプリケーション名の中に「アンインストール」のショートカットをいれておき、それでアンインストールする、という方式と全く同じことになります。
それに、レジストリーを書き換えると後でなにかあった時に話がややこしくなりますから、避けたほうが無難。

> 一応、上記の手順に沿って試してみました。それでもやはりハングしてしまいました。
> あとは、1.0x系の残骸がどこかに残っているということになるのでしょうか?

私の推測は、見事にはずれちゃいましたか(^^;
1.5.0.3になっている時に1.5.0.1のアンインストーラーを無理矢理動かしているので、1.5.0.1の残骸の影響かもしれませんね。
ハングしたあとのログ(uninstall\install_wizard1.logかな)を見ると、エラーの痕跡とか、どこまで行って止まっているかとか、多少の手がかりがつかめるかもしれません。

Re[8]: アンインストーラーが実行できない・・・
(#31248) このトピック中15番目の投稿
(環境: WinXP SP2/Firefox1.5)

>Wadaさん
アンインストールできないほうのinstall_wizard.logの一部抜粋です。

** File to delete: C:\Program Files\Mozilla Firefox\uninstall\UninstallFirefox.exe\
** ERROR (-214): Deleting file: C:\Program Files\Mozilla Firefox\uninstall\UninstallFirefox.exe
** File to delete: C:\Program Files\Mozilla Firefox\uninstall\UninstallDeerPark.exe\
** ERROR (-214): Deleting file: C:\Program Files\Mozilla Firefox\uninstall\UninstallDeerPark.exe

また、職場用のPCのレジストリキーを少々調べてみたところ、
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\firefox.exe\InstallInfo
のレジストリの値が少々違いました。

"HideIconsCommand"="\"C:\\Program Files\\Mozilla Firefox\\uninstall\\UninstallFirefox.exe\" /ua \"1.5 (ja)\" /hs browser"
"IconsVisible"=dword:00000001
"ReinstallCommand"="\"C:\\Program Files\\Mozilla Firefox\\firefox.exe\" -silent -nosplash -setDefaultBrowser "
"ShowIconsCommand"="\"C:\\Program Files\\Mozilla Firefox\\uninstall\\UninstallFirefox.exe\" /ua \"1.5 (ja)\" /ss browser"

こんな感じになっていて、アンインストール関係のファイルが1.5.0.1までの
UninstallFirefox.exeになっています。
(アンインストールできないほうのレジストリキーにはUninstall.exeとなっていまいした。)

ログファイルを見ると上記の部分がいかにもあやしそうな感じがします。(^^;

Re[9]: アンインストーラーが実行できない・・・
(#31276) このトピック中16番目の投稿
(環境: Win98/Firefox1.5)

> Ori.さん
> これを元にFirefox1.5.0.1のアンインストーラーをリネームして
> 実行してみたところ問題なくアンインストールできました。

私の環境(Win98)だと %windir% (C:\WINDOWS) に Fx 1.5.0.1 の UninstallFirefox.exe が残っていました。
これをリネームも移動もせずに実行してみると、Fx 1.5.0.3 がアンインストールされました。

> ** File to delete: C:\Program Files\Mozilla Firefox\uninstall\UninstallFirefox.exe\
> ** ERROR (-214): Deleting file: C:\Program Files\Mozilla Firefox\uninstall\UninstallFirefox.exe
> ** File to delete: C:\Program Files\Mozilla Firefox\uninstall\UninstallDeerPark.exe\
> ** ERROR (-214): Deleting file: C:\Program Files\Mozilla Firefox\uninstall\UninstallDeerPark.exe

Fx 1.5.0.1 をインストールしたままで、同じフォルダに Fx 1.5.0.3 を上書きインストールしてみました。
この場合、UninstallFirefox.exe の方のエラー(引用の2行目)は発生しませんでした。
おそらく「上書きインストールで削除すべきファイルが存在しなかった」という意味ではないでしょうか。
だとすれば、インストール先に前バージョンのファイルが存在しない場合は正常なログだと思います。
UninstallDeerPark.exe は 1.5 正式リリース前の開発版のものですね :-)

> HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\firefox.exe\InstallInfo

こちらは良くわかりませんが、この辺りが関連するでしょうか。
http://support.microsoft.com/kb/297878/ja


> Wadaさん
> 1.0.x〜1.5.0.1のUninstallFirefox.exeは自己解凍形式なので、C:\TMPなどに展開されてから
> その中のuninstall.exeが呼ばれる(おそらく同時に展開されたuninstall.iniも使われる)

%windir%\UninstallFirefox.exe をリネームせずに実行すると、

(1) C:\WINDOWS\TEMP (%TEMP%?) に ff_temp、ns_temp フォルダが作成される
  ff_temp フォルダの中身は「空」、ns_temp フォルダの中身は Archive.lst, UNINSTALL.EXE, UNINSTALL.INI。

(2) 「Are you sure you want to completely remove Mozilla Firefox (1.5) and all of its components?」
  この確認ダイアログのメッセージ文字列は、解凍した UNINSTALL.INI に記述がある。
  メッセージ中のアプリケーション名とバージョン番号は以下のレジストリから取得する。
  HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox の DisplayName

(3) 上記 (2) の確認ダイアログ表示中に CTRL+ALT+DEL でプロセスを確認
  実行されているプロセスは Uninstallfirefox 。
  この時点で UNINSTALL.EXE を削除しようとすると「ファイルの削除エラー」となる。
  ここで中断すると、ns_temp はフォルダごと削除されるが、ff_temp フォルダは残る。

でした。UninstallFirefox.exe は 展開後、子プロセスとして uninstall.exe を実行しているように思えます。
これに対して Fx 1.5.0.3 は uninstall.exe が自身のコピーを作成後、それを別プロセスで起動していますね。
この変更が影響しているのでしょうか。でも(ウチもそうですが) Win2k では問題ないのが不思議・・・。

# Fx 1.5.0.3 ソースの、Win 用アンインストーラの部分(mozilla/toolkit/mozapps/installer/windows/wizard/uninstall/ 以下)を見てみました。
# 最初のプロセスは uninstall.c の EnsureRunningAsCopy() で コピーを作成し、それを /ppid オプションをつけて別プロセスとして起動しています。
# 別プロセスは uninstall.c の EnsureRunningAsCopy() で起動元のプロセスの終了を WaitForSingleObject() で 5000ms 待っています。
# uninstall.exe 起動時にカーソルが「矢印+砂時計」になったままの状態も5秒間ちょっとくらいです。
# 別プロセスで起動されたコピーが、起動元のプロセスの終了を検出できない(起動元プロセスが本当に終了できずにいる)とか・・・。
# 以上、脳内コンパイルの結果です :-)

Re[10]: アンインストーラーが実行できない・・・
(#31278) このトピック中17番目の投稿
(環境: Win98/Firefox1.5/Thunderbird1.5)

自己レスです。本家 Bugzilla にこんなのがありました。何か関連があるでしょうか?

Bug 330885 - uninstaller hangs waiting for parent process to disappear
https://bugzilla.mozilla.org/show_bug.cgi?id=330885

他に「uninstall」で最近のバグを探すと、次のようなものが見つかりました。
# いずれも上記の Bug 330885 以降に OPEN したバグです。

Bug 331427 - Bon Echo uninstall program didn't work on windows 98
https://bugzilla.mozilla.org/show_bug.cgi?id=331427

Bug 335458 - Add/Remove doesn't uninstall Thunderbird
https://bugzilla.mozilla.org/show_bug.cgi?id=335458

Bug 337272 - Firefox will not uninstall.
https://bugzilla.mozilla.org/show_bug.cgi?id=337272

Bug 337937 - Thunderbird will not uninstall from Wimdows 98 SE Control panel Add/Remove software
https://bugzilla.mozilla.org/show_bug.cgi?id=337937

# ・・・英語は苦手なので、外してるかもしれませんが。(^^;;;

Re[11]: アンインストーラーが実行できない・・・
(#31383) このトピック中18番目の投稿
(環境: WinXP SP2/Firefox1.5)

>kannさん
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\〜は
マイクロソフトのサイトの説明を読むと関係なさそうですね。(^^;

本家Bugzillaからのリンク先でuninstallのソースを書いたページを見ました。
131行目の DWARD n; って、
その後の変数nのデータ取得値はファイルのパスを取得しにいくはずなので、
文字列に対応した変数じゃないとダメなんじゃないかと思うんですけど。
C言語は少しかじった程度なので間違ってるかも知れません。(^^;

あとは
http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_gettemppath.htm
この辺りも気になるところです。

Re[12]: アンインストーラーが実行できない・・・
(#31405) このトピック中19番目の投稿
(環境: WinXP SP2/Firefox1.5)

自己レスです。

DWORDの解釈を間違えていたようです。m(__)m
"文字列"じゃなくて"文字列の長さ"の取得みたいですね。

Re[13]: アンインストーラーが実行できない・・・
(#31429) このトピック中20番目の投稿
(環境: Win98/Firefox1.5/Thunderbird1.5)

2006/05/22(Mon) 01:19:00 編集(投稿者)

当初は私もレジストリの不整合などによってアンインストールできないのかと思っていました。
しかし、Ori.さん、Wadaさんとのお話から 1.5.0.2 以降の uninstall.exe が関係していると見て間違いなさそうですね。

現時点での一時的な回避策としては、Ori.さんも示された 1.5.0.1 までの UninstallFirefox.exe を使うのが良さそうです。
こちら(↓)でも同様の質問があり、この方法で解決されました。
http://forum.mozilla.gr.jp/?mode=all&namber=31264&type=0&space=0&


> 本家Bugzillaからのリンク先でuninstallのソースを書いたページを見ました。
私が気になったのは、以下の部分です。

(1) 最初の uninstall.exe では 153-196行目が実行される
  190行目で /ppid オプション付きで TEMP にコピーされた uninstall.exe を起動している。

(2) 上記 (1) で呼び出された uninstall.exe では 133-151行目が実行される
  141行目で OpenProcess() が NULL を返すか、145行目で WAIT_OBJECT_0以外 になるまでループする。
  最初に起動した uninstall.exe の終了を 141行目の NULL で検出するのが期待する動作と思われる。

実際には最初の uninstall.exe は終了していますが、それを検出できずにループし続けているような気がするのです(WAIT_OBJECT_0 の時に return TRUE で抜けたらどうなんでしょう?)。
あと、少なくとも Win2kとWinXPでは OpenProcess() の挙動が異なるようです。
http://support.microsoft.com/default.aspx?scid=kb%3Bja%3B827568
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/openprocess.asp

ただ、ソースに関する議論となると もじら組BBS よりも Bugzilla の方が適していると思います。
しかし、私自身は Bugzilla のアカウントやコンパイル環境は持っていません。
話題を持ち出しておきながら恐縮ですが、この件に関しては本家の対応を待つことにします。
改善されればソフトウェアの更新で uninstall.exe も置き換わりますので、それまでは手作業か UninstallFirefox.exe で回避することにします。

ありがとうございました。


[ 前のトピック内容10件 ] | [ 次のトピック内容10件 ]
このトピックの全ページ / [0] [1] [2]

返信不可


- Child Tree -