Oct 03, 2008

Bugzillaで自作自演(FirefoxとThunderbirdのサイレントアンインストール)

FirefoxもThunderbirdもインストーラに「-ms」を起動オプションで付けるとサイレントインストールできるのに、アンインストーラに同じオプションを指定してもそうならないのは何故なんだぜ? Netscape 7のアンインストーラ(NSUninst.exe)は「-ms」オプションでサイレントアンインストールできるのに!!! と思ってBugzillaに書いてみた後で、ソース見てて「アレ?」と思って「-ms」の代わりに「/S」を使ってみたらさっくりサイレントアンインストールできた。うわーかっこわりー!!!

いやでも僕の気持ちも分かって下さいよ。どうしてインストール時は「-ms」なのにアンインストール時は「/S」なんですか? オプションが違うだけならまだしも、Linuxっぽい「-*」とWindowsっぽい「/*」が混在してるっていったいどういう事なんですか?? どうしてNetscape 7とはオプションが違うんですか???

これは絶対に罠だ……

違うオプションで行けるという発想が全然無かったものだから、Firefox 3 Hacks読みながらビルド環境を2日がかりで作って、アンインストーラだけ個別にビルドできる状態まで持って行って、どうすればサイレントアンインストールだけすっきりと実行できるだろうかとあれやこれややってみたのが、まるっきり無駄になってしまった。あわや無意味なパッチを送りつける寸前でしたよ。ギリギリの所で引き返せて良かったね、と自分で自分を慰めておきます。

つーかこういう勘違いをした理由の一つには、検索しても他にも困ってる人の話しか見つからなくて、「こうすればいいよ」っていう情報に辿り着けなかったからなんですよね。あんまり使う機会のなさそうな機能だけに、情報自体があんまり出てなくて……

もう少しよくソースを見てみたら、Support for the deprecated -ms command line argument.って書いてあった……つまり「-ms」オプションはずっと前から廃止予定になってた古いもので(その割にはFirefox 2.0.0.xでも3.0.xでも使えるんだけど)、今はインストールもアンインストールもサイレントにやるには「/S」を使うのが正解なのか。実際にインストーラに対して「/S」を付けてみたらこっちもちゃんとサイレントインストールされた。うわー二重にはずかしー!!!

エントリを編集します。

wikieditish message: Ready to edit this entry.











拡張機能