0

レジストリキー(HKEY_LOCAL_MACHINEハイブに)があります。このキーは、古いバージョンのアプリケーションから新しいバージョンに保持する必要がありますが、ユーザーがアプリケーションを完全にアンインストールすると削除されます。VisualStudio2010のセットアップおよび展開プロジェクトを使用しています。

インストールパッケージのビルドバージョンの増加、アセンブリのビルドバージョン、および「ProductCode」のアップグレードについて知っています(ただし、「UpgradeCode」は同じままです)。'RemovePreviousVersion'はtrueに設定されています。問題は、ユーザーが新しいバージョンをインストールすると、以前のバージョンのレジストリキーが削除され(重要なデータが含まれている)、再作成されることです。新しいバージョンをインストールする前に、MSIがアプリケーションをアンインストールするようです。'RemovePreviousVersion'をfalseに設定しようとしましたが、この場合、新しいバージョンが個別にインストールされ、アプリケーションの両方のバージョンが同じマシンに表示されます。これは非常に一般的なシナリオのようですが、異なるバージョン間でレジストリキーを保持する方法が見つかりませんでした。

前もって感謝します。

4

1 に答える 1

1

RemoveExistingProductsアクションのスケジュールを遅らせると、問題が修正されます。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa371197(v=vs.85).aspx

于 2013-01-16T06:23:18.777 に答える