2016-04-13 11 views
0

InstallShieldで基本的なMSIプロジェクトを1つ作成しました。私は1つのシナリオを達成したい。このため、私はインストール時にinstallScript関数MsiSetProperty()を使って1つのプロパティを設定しています。しかし、私はまた、アンインストール時に同じプロパティの値を読み取る必要があります。アンインストール時には、インストール時に設定されたプロパティの値が必要です。アンインストール時にプロパティの値を読み取る方法は?

インストール時に設定されているアンインストール時にプロパティの値を取得する方法はありますか。

答えて

0

これを回避する方法を試しました。インストール時にレジストリ値を設定しています。アンインストール時にそのプロパティを読み込み、その値をプロパティに設定してインストールしています(&)。

0

アンインストール時にプロパティを読み取ることは、インストール中に読み取る場合と同じです。MsiGetProperty()と呼びます。遅延コンテキストの場合は、CustomActionDataプロパティに渡す必要があります。また、遅延コンテキスト中にプロパティを設定してもあまり効果はありません。

しかし、おそらくあなたを引き上げるのは、一般にプロパティがWindowsインストーラセッション全体で保持されないということです。インストールされたコンポーネントのDirPropertiesなどの例外は自動的に保持されます。しかし、現在のアクションが終了すると、ほとんどのプロパティは単に忘れられます。典型的な推奨は、プロパティの値をレジストリキーに保存し、システム検索でそれを読み取ることからなる、「覚えやすいプロパティパターン」に従うことです。

+0

PropertyManagerに1つのプロパティ "PROP123"を作成し、その値を0に設定しました。次に、カスタムアクション "CA123"を作成しました。その値は "PROP123"の値を1に設定しています。 インストール時のみ「CA123」と表示されます。私が "PROP123"を読んでいるアンインストール時に、私はその値0を得ています。ここでは、アンインストール時に値1が必要です。だから私はこれをどのように達成することができるか教えてください? –

関連する問題