シナリオ:
- .vdproj インストーラーがあります (実際には、マージ モジュールを備えた多数のインストーラーがありますが、これは単純にしておきましょう)。
- 当社の製品の新しいリリースがあります。
- 製品コードを変更し、コードとバージョンをアップグレードし、AssemblyInfos と COM インターフェイスを再ガイドし、デフォルトのインストール場所を変更しました。
すべてが正常に表示され、プログラムはサイド バイ サイドで動作します。ただし、アンインストール時に、両方のバージョンが同時にインストールされている場合、プログラム メニューとデスクトップ ショートカットは削除されません。(参照カウントのにおいがしますか?)。
これは表面的な問題ですが、調べてみることにしました。Orca では、ファイルの ComponentId が同じであることに気付きました。
[TARGETDIR]\myfile
これらは、実際の展開された ではなく、 に基づくハッシュのようTARGETDIR
です。
たとえば、 myはインストール時にTARGETDIR
効果的に異なります。c:\program files\myCompany\v1.0\myfile
c:\program files\myCompany\v2.0\myfile
しかし、インストーラー プロジェクトに関しては、そのハッシュ オフに基づいていると思いますTARGETDIR\filename
。
私はそれを発見しました
- 出力ファイルの名前を変更し
myfile2
て別の ComponentId を生成する TARGETDIR
または、インストールで呼び出されたのサブフォルダーを作成するとv2.0
、別の ComponentId が生成されます。しかし、それがどのような影響を与えるかはわかりません。
何が起こっているのかを正しく解釈しましたか?これが私の唯一の回避策ですか? トップレベルのフォルダを として共有するリスクは何TARGETDIR
ですか?
Microsoft はこの VS2015 コンポーネントを 1 年以上更新しておらず、オープン ソース化もしていません。
更新 これは、最上位のインストーラーではなく、マージ モジュールのみの問題のようです。