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

これからこれから♪

目次

Blog 利用状況

ニュース

共著:




わんくま同盟 東京勉強会 #99 私の資料

個数を数えてみたい!

わんくま同盟 東京勉強会 #91 私の資料

きっと楽しいトポロジー

わんくま同盟 東京勉強会 #45 数学デー 私の資料(pptxとxlsx)

確率の不思議

わんくま同盟 東京勉強会 #37 私のLT資料

数の冪の和の式 を求めてみよう!

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

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

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

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


自己紹介(仮)

IIJIMASと申します。
東京都多摩市在住です。多摩川のそばです。
猫好きです。
IIJIMASのSは何って言われます。 IIJIMASって
なんて読むかは自由です。
魚や網間企業とゲームとは無関係です。
数学とか宇宙とかの読み物とか好きです。
血液型:果汁100%A
メタボ予備軍。。。orz
Twitter

...............
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