InstallShield

01727 : アンインストール時にファイルが削除されない(msi 形式 インストーラ)

製品のアンインストールを行いましたが、一部のファイルが削除されずにシステム上に残ってしまいます。
( 対象ファイルは別の製品により共有使用されているファイルではありません。 )

対象製品:InstallShield 2008 以降
対象プロジェクト:基本の MSI , InstallScript MSI プロジェクト


アンインストール時に予期せずにファイルが残ってしまう場合は、以下の項目をご確認ください。
 
1) 共有カウンタの値を確認する

 共通使用されるファイルは以下のレジストリエントリの共有カウンタにて管理が行われます。

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs
 
 アンインストールで削除されなくなったファイルがこの一覧にリストされている場合には、アンインストール時にそのファイルが削除されなくなります。
 もし、削除が行われないファイルが意図せずにリストされていて共有カウンタがセットされているのであれば、そのエントリの削除後に再度アンインストールを
 お試しください。

 ※リストの削除は対象ファイルが他の製品により共有使用されていないことをお確かめいただいた上でお試しください。 
 
2) コンポーネントにパーマネントの設定を確認する

 削除されないファイルが含まれているコンポーネントの[パーマネント]プロパティが[はい]になっていないか
 ご確認ください。パーマネントが[はい]に設定されていると、ファイルやレジストリはアンインストールされません。

 また、一度でも[パーマネント]プロパティを[はい]にしてインストールを行った場合には、以下のようなレジストリキー
 と値が作成され、パーマネントの設定がターゲットシステムの環境に残ってしまいます。

 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\コンポーネントGUIDの パック GUID

  値の名前 : 00000000000000000000000000000000  値のデータ : ファイルまたはフォルダのパス
  値の名前 : 製品コード(GUID)のパック GUID  値のデータ : ファイルまたはフォルダのパス

 値が"すべて0"になっているものが、パーマネント設定されているというフラグになるので、この値が存在する場合には、
 削除することでアンインストール時にコンポーネントが削除されるようになります。

パック GUIDへの変換方法については、以下のドキュメントに詳細がございますので、ご確認ください。

コンポーネントにパーマネントの設定が行われているため、ファイルがアンインストールできない


検索文字列:ファイル、残る、消えない


2010/09/22 19:38:50
2017/10/24 14:30:11