掲示板
  .NET開発  > アドバンスド.NET  > [Installer] Conditionを指定した場合のアンインストール時にレジストリが消えてしまう  
 
 
 投稿者 スレッド: [Installer] Conditionを指定した場合のアンインストール時にレジストリが消えてしまう
fumikasu はオフラインです。最後に活動した時刻: 2006/02/08 15:40:35 fumikasu
参加日: 2006-2-8
投稿数: 2
 
[Installer] Conditionを指定した場合のアンインストール時にレジストリが消えてしまう
投稿日時: 2006-2-8 午後 1:50
はじめまして。fumikasuと申します。

セットアッププロジェクトのレジストリ設定で、
あるレジストリキーに対して、以下のようなプロパティ設定をします。
Condition=VersionNT (まあここは何でも良いのですが・・・)
DeleteAtUninstall=False

この設定でインストールを行い、
このレジストリキーの下に文字列値などを手動追加した場合、
意図としては追加した値以外は削除され、追加した値は削除されて欲しくないのですが、
該当キーごと全て削除されてしまいます。
Conditionプロパティをセットしなかった場合は削除されず、
手動で追加した値は残ります。

この動作はバグでしょうか?
それとも、プロパティ値の使い方が間違っていますでしょうか?
ご指摘願います。
# 私は、HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Runに
# この設定を適用した為、スタートアップが全て消えてしまいました。。。

環境は Visual Studio .NET 2003 です。
とっちゃん はオフラインです。最後に活動した時刻: 2006/03/31 18:40:35 とっちゃん
Top 25 Poster
参加日: 2004-3-31
投稿数: 431
 
Re: [Installer] Conditionを指定した場合のアンインストール時にレジストリが消えてしまう
投稿日時: 2006-2-8 午後 2:43
とっちゃんです。

おそらくバグと思われます。

他のバージョンは確認していませんが、レジストリキーにコンディションを設定すると
必ずキーを消すように設定されてしまいます。

Condition が設定されている場合、「なぜか」他の条件にかかわり無く、キーを消すように
設定されてしまいます(DeleteAtUninstall=Trueと解釈されてしまう)。

唯一設定が消えたのは、AlwaysCreate=True DeleteAtUninstall=False の場合でしたけど
この場合は、必ず作成のフラグが設定されてしまいます。

回避策としては。。。

ビルドした後で Orca などを使っていらないものを消していく(もしくは再調整する)ということになりますね。

あとは、WiX や InstallShield などに乗り換えるというところでしょうか。

// とっちゃん(高萩 俊行)
// とっちゃんのBlog
// Microsoft MVP for Windows-SDK (Oct 2005 - Sept 2006)
社本 明弘 はオフラインです。最後に活動した時刻: 2006/03/20 16:20:28 社本 明弘
Top 100 Poster
参加日: 2003-7-2
投稿数: 97
 
Re: [Installer] Conditionを指定した場合のアンインストール時にレジストリが消えてしまう
投稿日時: 2006-2-8 午後 2:57
社本@ワックです。

> おそらくバグと思われます。

このバグといいうのは、Windows Installerのバグのことではなく
VS2003のセットアッププロジェクトのバグってことですよね?

#VS2005では、どうなんだろう?

とっちゃん はオフラインです。最後に活動した時刻: 2006/03/31 18:40:35 とっちゃん
Top 25 Poster
参加日: 2004-3-31
投稿数: 431
 
Re: [Installer] Conditionを指定した場合のアンインストール時にレジストリが消えてしまう
投稿日時: 2006-2-8 午後 3:09
とっちゃんです。

> このバグといいうのは、Windows Installerのバグのことではなく
> VS2003のセットアッププロジェクトのバグってことですよね?

はい。
出来上がった msi のテーブルをOrcaで直接見てますので。
インストール・アンインストールは面倒なので試してません(開発マシンでテストなんて出来ないもの(^^;)。

他のバージョン(2002/2005)のセットアッププロジェクトは未確認です。


// とっちゃん(高萩 俊行)
// とっちゃんのBlog
// Microsoft MVP for Windows-SDK (Oct 2005 - Sept 2006)
fumikasu はオフラインです。最後に活動した時刻: 2006/02/08 15:40:35 fumikasu
参加日: 2006-2-8
投稿数: 2
 
Re: [Installer] Conditionを指定した場合のアンインストール時にレジストリが消えてしまう
投稿日時: 2006-2-8 午後 3:12
やはりOrcaとかですよね・・・。~.~
さしあたって、(不服ながら)Condition設定はせずに、
バージョン毎のセットアッププロジェクトを作ることにしました。
InstallShield乗り換えを検討してみます。

VS2005では治っていて欲しいです。

ありがとうございました。
 
Page 1 of 1
 
GotDotNet Japan 掲示板  > .NET開発  > アドバンスド.NET  > [Installer] Conditionを指定した場合のアンインストール時にレジストリが消えてしまう