InstallShield 2011 未从服务列表中删除服务

InstallShield 2011 not removing service from Services list

我有一个安装服务的 InstallShield 2011 项目 (A),并复制了该项目以用于安装不同服务的另一个项目 (B)。

在卸载期间,似乎如果安装了 (A) 或 (B),则服务会卸载并从服务列表中删除。但是,如果同时存在 (A) 和 (B),则 (B) 不会在卸载时从服务列表中删除。实际文件正在被删除,所以当我右键单击启动服务时,它说找不到文件。

我在项目的General Information页面更新了Product Code和Upgrade Code,并在复制InstallShield项目时更新了Setup Design - Advanced Settings - Services - [My Service]中的Key Name。

是否还有其他可能影响卸载的共享项目?


组件 GUID 也可以共享。这很可能是您的问题的根源。作为一种实践,您永远不应该复制一个项目并使用它来为另一个类似产品创建一个安装项目,这是错过更新某些必须是唯一的并且您的包行为不正确的 GUID 的最简单方法。

我不知道InstallShield有没有这个选项,其他工具有,但是推荐的方法是从第一个(A)创建一个项目模板,然后从那个模板创建一个新项目,在这种情况下IS 应确保您从包中获得所有敏感区域的新唯一 GUID。