IIJIMASが勉強しようとしています。

これからこれから♪

目次

Blog 利用状況

ニュース

2,000 人の IT エンジニアが集う 3 日限りの真夏の祭典 | Microsoft Tech·Ed Japan 2009

デブサミ09でわんくま同盟の紹介をしたスライド

わんくま同盟 東京勉強会 #26 LT祭りの私のスライド

わんくま同盟 東京勉強会 #23の私のスライド

わんくま同盟 東京勉強会 #18の私のスライド


2009/1/1:あけましておめでとうございます!
MVP アワード再受賞いたしました!
11/15: わんくまLT祭りに参加。 自分の(私のセッション資料)はグダグダでしたが、他の人のは面白い♪
9/28: とりあえずJSでTwitter Friends Time Lineページを作ってみました。閲覧だけ。Twitterにログインが必要。
9/13:techbank.jp & Visual Basic 中学校 & HIRO's.NET 合同勉強会に参加してきました!
5/1:新しい会社に入社しました。
4/14-19:MVP Global Summitに参加して来てみました。英語が、英語が…わからなかったですorz でも、それなりに楽しんできましたw
1/2:Microsoft MVP for Visual Developer - Visual C# (Jan 2008- Dec 2008)を受賞しました。

自己紹介(仮)

IIJIMASと申します。 東京都多摩市在住です。多摩川のそばです。 まだ20代…
10代…でした0x1Fです
昔、家に猫がいました。猫好きです。
ブログは苦手(?)
IIJIMASのSは何って言われます。 IIJIMASって
なんて読むかは自由です。
魚や網間企業とゲームとは無関係です。
数学とか宇宙とかの読み物とか好きです。
血液型:果汁100%A
メタボ予備軍。。。orz
Twitter
Microsoft MVP Logo
Microsoft MVP for Development Tools - Visual C# (Jan 2008- Dec 2009)

...............
MVP 審査応募ページ~ 求む、日本のMVP。
MCTS:.NET Framework 2.0: Windows アプリケーション
MCTS:.NET Framework 2.0: Windows アプリケーション

MCSD.NET:マイクロソフト認定ソリューションデベロッパー(MCSD) Microsoft .NET トラック
Microsoft Certified Solution Developer for Microsoft.NET

リンク

わんくま同盟
わんくま同盟

C#VB.NET掲示板
C#VB.NET掲示板

わんくま同盟 Blog's

ちょっと一言(仮)


書庫

日記カテゴリ

恐怖のアンインストール

私の前のエントリ「PCにログオンできない…」
http://blogs.wankuma.com/iijimas/archive/2007/07/13/84997.aspx
の原因がわかりました。大失態、自爆でした。。。申し訳ございません。
私がVisual Studio2005のセットアッププロジェクトで作成したインストーラが死神となりました。

後になってGotDotNet Japan 掲示板の過去ログにこの現象の報告があるのを発見しました。
スレッド: [Installer] Conditionを指定した場合のアンインストール時にレジストリが消えてしまう
http://www.microsoft.com/japan/msdn/community/gdn/ShowPost-41724.htm

反省のために…Virtual PCの中の環境(Windows XP Professional)で再現してみました。
これから書くことは大事な環境では絶対にマネしないでください。PCが使用できなくなります。


 Visual Studio 2005でセットアッププロジェクト(DeathInstaller)を作成し、レジストリエディタでHKEY_LOCAL_MACHINE\Softwareにキーを追加しました。

実際にやった時はVisio Addinを登録するためのキーや値を作成しました。

再現のため新しくできたキーのNameプロパティを「Microsoft、すべてのユーザ選択時のみに登録されるようにと考えてConditionプロパティを「ALLUSERS<>NULL」としました。

ここでAlwaysCreateプロパティはデフォルトのFalseのまま変更しなかったのが運命の分かれ道でした。
こうしておけばよかった…

ビルドするとmsiファイルができます。
 
再現のため、「復元ディスク」を有効にしたVirtul PC環境の中でにコピーします。

絶対に、通常の実機その他など大事な環境では実行してはなりません。


壊れてもいいVirtul PC環境の中で実行し「インストールフォルダの選択」で「すべてのユーザー」を選択して実行します。

インストールが終わったら、「プログラムの追加と削除」でインストールされたことがわかります。

 

「プログラムの追加と削除」から「削除」を選びアンインストールします。

途中このようなダイアログが現れますが、実は「キャンセル」しても、もう既に手遅れです。

既にレジストリのHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft以下はいろいろと削除されています。

アンインストール前   アンインストール後

 

実際、この状態でOfficeなどはまともに起動できません。

Virtual PCの中の環境をスタートメニューから「シャットダウン」でWindowsを「再起動」すると


起動できなくなるか、起動できたとしても以下のダイアログが表示され、これ以上先に進めません。

Virtual PCを「電源を切り、変更を削除」で終わらせます。。。


Visual Studioのレジストリエディタで特にHKEY_LOCAL_MACHINE以下をいじるのはとても危険だと改めて思い知らされました。(しかし、あのプロパティ設定であの挙動はおかしいと思います。ドキュメントだけじゃわかんなかったです。)

意識しようと意識せずに関わらず使用している環境ではくれぐれもマネしないで下さい。

以上とてもだめだめなIIJIMASでした。。。

追記:この件に関しましてとっちゃん様にMSDN フォーラム に報告していただいてしまいました。とっちゃん様、お忙しい中フォロー・ご調査・フィードバックありがとうございました。
MSDN フォーラム » フィードバック » Visual Studio フィードバック » VSセットアップ、レジストリキープロパティの判断ミス
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1882918&SiteID=7

投稿日時 : 2007年7月18日 22:19

コメントを追加

# re: 恐怖のアンインストール 2007/07/19 12:06 とっちゃん

うはー><

あ、あとでフォロー記事書こうか?
#修復はできないけど、なんでそうなるかは解説できるよw

ちなみに、アンインストール中に削除できなかったキーは別のプロセス(サービス他もろもろ)がオープンしていたからです。

レジストリキー(値ではない)と、ディレクトリ(ファイルではない)の扱いは、強く意識しないと、システムクラッシュになるので、危険です。

#あたしゃ、オリジナル時代に HKEY_CLASSES_ROOT を空にしたことがある<9xでw

もちろん、テストマシンがですが、3台くらい再インストールを余儀なくされましたwww

# re: 恐怖のアンインストール 2007/07/19 12:39 IIJIMAS

コメントありがとうございます。
(実はコメントしていただけることを期待していました…)

>あ、あとでフォロー記事書こうか?
>#修復はできないけど、なんでそうなるかは解説できるよw
ぜひ、お願いいたします。

GDNのスレッドではVisual Studio S2003のバグとのことでしたが、Visual Studio 2005 SP1(Version 8.0.50727.762,SP.050727-7600)でも結局なおっていないってことなのでしょうか。。。

# re: 恐怖のアンインストール 2007/07/19 12:42 IIJIMAS

入力ミス…
×Visual Studio S2003
○Visual Studio.NET 2003

# re: 恐怖のアンインストール 2007/07/19 14:19 とっちゃん

VS2005で出来がったmsiを見てみないと...ですけど
同じ状況なら、バグですね。

あそこ、本質的にプロパティが足りないんではないかと...
#というより、VSセットアップでそんなもの作るなとwww

ま、所詮はUI付きXCOPYと思ってないとだめということですw<VSセットアップ

現状、VSのセットアッププロジェクトはおまけもいいところ(というか、そもそもセットアップとしては、コピー以外やらないほうが無難というくらい、ずさん...w)なので、いろいろやろうと思うことが駄目ともいえるんですがw

現実はなかなかそうも言えないのがつらいところですけどね...w

# re: 恐怖のアンインストール 2007/07/19 15:16 IIJIMAS

そうですか…
とりあえず、一応VS2008に期待しておきます…

# レジストリキーにコンディションをつけると... 2007/07/19 15:29 とっちゃん's Blog

レジストリキーにコンディションをつけると...

# 恐怖のアンインストール2 2007/08/14 21:58 IIJIMASが勉強しようとしています。

恐怖のアンインストール2

# 9月のネタ 2007/08/29 14:08 とっちゃん's Blog

9月のネタ

# re: 恐怖のアンインストール 2007/09/01 12:53 IIJIMAS

コメントスパム?ですか?最近頻繁にこのエントリのコメントに…
URLをみると.cnドメイン…
なんなんだろ…
Removeしてますよ。

# re: 恐怖のアンインストール 2008/04/25 18:38 とっちゃん

古ーいエントリーにコメントw

これ、Connect にレポートあげませんか?
クラッシュバグだし、回避策なしだし、
日本語で報告できるしw

リテールバージョンで治ってるかの簡単な確認は必要だけど
治ってなければ、たぶんこの先もずーっと治らないままな気がするしw

ってことで、ひとつよろしくお願いしたいとw

# re: 恐怖のアンインストール 2008/04/25 20:41 IIJIMAS

とっちゃんコメントありがとうございます!!!!

あ、そうでした!

せっかく日本語フィードバックができるようになったのに…

なにもやっていませんでした。

確認してフィードバックします!

タイトル  
名前  
URL
コメント