我有一个安装服务的InstallShield 2011项目(A),并复制了这个项目以用于安装不同服务的另一个项目(B)。
在卸载期间,似乎安装了(A)或(B),服务将卸载并从“服务”列表中删除。但是,如果BOTH(A)和(B),那么(B)在卸载时不会从服务列表中删除。实际文件正在被删除,因此当我右键单击启动服务时,它表示找不到该文件。
我在项目的“常规信息”页面上更新了产品代码和升级代码,并在复制InstallShield项目时更新了设置设计中的密钥名称 - 高级设置 - 服务 - [我的服务]。
是否还有其他可能影响卸载的共享项?
答案 0 :(得分:1)
组件GUID也可以共享。这很可能是您问题的根源。作为一种做法,您不应该复制项目并使用为另一个类似产品创建安装项目,这是错过更新一些必须唯一且包裹行为不正确的GUID的最简单方法。
我不知道InstallShield是否有选项,其他工具确实有,但推荐的方法是从第一个创建项目模板(A),然后从该模板创建一个新项目,其中IS应该确保从包中获得所有敏感区域的新的唯一GUID。