1

まず、SO に同様の質問があることは知っていますが、私の問題に合った回答はまだありません。

InstallShield 2009 がプログラムをインストールし、プログラムが ini ファイルを作成します。プログラムがアンインストールされると、ini が残ります (元のインストールには含まれていなかったため)。ダイレクトエディタでRemoveFileを使ってみました。プロパティ、正しいインストールモードを指定しましたが、「コンポーネント」が何であるか、またはそれをどうするべきかわかりません。私はすべての InstallShield ヘルプ ファイルを調べ、オンラインで調べましたが、「コンポーネント」を説明するものはすべて非常にあいまいです。デバッガーは、RemoveFile に関連するエラーや警告をスローしませんが、新しいアンインストーラーを実行すると、ファイルは引き続き残ります。私はこの問題に何日も苦労しており、RemoveFile であらゆる種類のことを試しましたが、役に立ちませんでした!

単に...実行可能ファイルをインストールするインストールディレクトリ内にあるiniを削除したいだけです。これを行う最も簡単な方法は何ですか?「コンポーネント」とは何ですか?

4

1 に答える 1

2

このコンポーネントは、Windowsインストーラーが「ファイルの削除命令」を処理するかどうかを検出するために必要です。そのような用語がないので、私はその用語を引用しました、実際には-それは説明を簡単にするためだけです。

そのため、コンポーネントのインストールがスケジュールされていて(インストールされている機能に含まれ、条件がtrueに解決される)、InstallModeが「インストール時に削除または両方」の場合、WindowsインストーラーはFileNameで指定したファイルを検索しようとします。 DirPropertyにあり、削除しようとします。

コンポーネントの削除がスケジュールされていて、InstallModeが「アンインストール時に削除またはその両方」である場合、同じロジックがアンインストールで機能します。

コンポーネントをインストール/アンインストールしない場合(たとえば、別の機能がインストールされている場合や条件がfalseの場合)、「ファイルの削除命令」はWindowsインストーラーによって無視されます。

これが今より理にかなっていることを願っています。

于 2011-08-30T17:06:23.013 に答える