1

パーマネントとしてマークされているコンポーネントを削除する必要がある次の状況にあります。以前のバージョンのセットアップでは、Windowsサービスがインストールされます。このサービスは、メイン製品がアンインストールされた後もシステムに残しておく必要があります。

次に、左側のサービスを削除して、更新されたバージョンに置き換えようとします。問題は、msiの作成に使用したツールを変更したため、2つの異なるコンポーネントガイドがあることです。

私の意見では、目標を達成するための3つの可能な方法があります。

a)ファイル検索を使用してファイル自体を更新します。b)コンポーネント検索を使用して、それを見つけようとします。見つからなかった場合は、もう一方を探してみてください。見つかった場合は、アップグレード要素を使用してコンポーネントをアップグレードします。c)??? -おそらく「ベストプラクティス」の方法

私の仲間の中には、ファイルを削除するだけだと言った人もいますが、Windowsインストーラレジストリに未登録のコンポーネントがないため、これによりさらに問題が発生します。

CustomActionsは、目標を達成するための最後のオプションである必要があるため、ここでは説明しません。

4

1 に答える 1

1

ここでの最善のオプションは、 InstEdItを使用して古いMSIを開くことです。またはOrcaを選択してから、コンポーネントGUIDをコピーし、新しいインストーラーで使用します。

このようにして、WindowsInstallerがアップグレードを処理します。パーマネントとして設定されているコンポーネントが何百もある場合(パーマネントコンポーネントだけを気にする必要がある場合)、これは明らかに非常に苦痛ですが、それが単なるサービス要素である場合は、かなり簡単な作業になるはずです。

また、UpgradeCodeが転送され、MajorUpgradeを実行して、古いインストーラーが最初にアンインストールされるようにします。

于 2012-07-20T20:16:01.927 に答える