【发布时间】:2015-08-17 13:45:05
【问题描述】:
我有基本的 MSI 项目,可以并行安装 2 个或更多版本 除了一个共享的 exe 文件并在桌面上有一个快捷方式,每个文件都位于不同的位置。
在 1.0 版 MSI 我有 组件 – 将文件安装到 \Program Files\prod_1.0 共享文件组件 A - 将 exe 安装到 \Program Files\prod_shared 共享快捷方式组件 B - 在桌面上创建快捷方式到组件 A 中的 exe
在 2.0 版 MSI 我有 组件 – 将文件安装到 \Program Files\prod_2.0 共享文件组件 A - 将 exe 安装到 \Program Files\prod_shared 共享快捷方式组件 B - 在桌面上创建快捷方式到组件 A 中的 exe
两个 MSI 版本的组件 GUID 相同,并且我在共享快捷方式组件中使用的图标未被其他快捷方式使用。 我遇到的问题是,如果我有 2 个版本?并行安装,然后我卸载了一个我希望删除桌面快捷方式的版本。 我将此行添加到代码中 MsiSetComponentState(hMSI,"Shared_Shortcut_Desktop",INSTALLSTATE_ABSENT);
但是当我卸载时,我收到了这条消息 组件不会被移除,因此“NewShortcut74_AE5D17DE4C4B4737ABB20A0D0358B69E.exe”图标不会被移除。
知道怎么解决吗?
【问题讨论】:
标签: windows-installer installshield uninstallation desktop-shortcut