2つ以上のバージョンを並行してインストールできる基本的なMSIプロジェクトがあります。共有され、デスクトップにショートカットがある単一のexeを除いて、それぞれが異なる場所にインストールされます。
バージョン 1.0 の MSI では、コンポーネント – ファイルを \Program Files\prod_1.0 にインストールします。共有ファイル コンポーネント A - exe を \Program Files\prod_shared にインストールします。
バージョン 2.0 の MSI では、コンポーネント – ファイルを \Program Files\prod_2.0 にインストールします。共有ファイル コンポーネント A - exe を \Program Files\prod_shared にインストールします。
コンポーネント GUID は両方の MSI バージョンで同じであり、共有ショートカット コンポーネントで使用しているアイコンは他のショートカットでは使用されていません。私が抱えている問題は、2つのバージョンがある場合ですか? 並行してインストールしてから、1 つのバージョンをアンインストールします。デスクトップ ショートカットを削除します。この行をコード MsiSetComponentState(hMSI,"Shared_Shortcut_Desktop",INSTALLSTATE_ABSENT); に追加しました。
しかし、アンインストールすると、「NewShortcut74_AE5D17DE4C4B4737ABB20A0D0358B69E.exe」アイコンが削除されないように、コンポーネントが削除されないというメッセージが表示されます。
それを解決する方法はありますか?