1

我有一个安装服务的 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。

是否有任何其他共享项目可能会影响卸载?

4

1 回答 1

1

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

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

于 2014-01-16T07:44:18.277 回答