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

时间:2021-11-04 17:05:23

I had an InstallShield 2011 project (A) that installs a service, and copied this project to use for another project (B) that installs a different service.

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

During uninstall, it seems like if either (A) or (B) is installed, the service uninstalls and is removed from the Services list. However, if BOTH (A) and (B), then (B) is not being removed from the Services list on uninstall. The actual files are being deleted, so when I right click to Start the service, it says that the file could not be found.

在卸载期间,似乎安装了(A)或(B),服务将卸载并从“服务”列表中删除。但是,如果BOTH(A)和(B),那么(B)在卸载时不会从服务列表中删除。实际文件正在被删除,因此当我右键单击启动服务时,它表示找不到该文件。

I updated the Product Code and Upgrade Code on the General Information page of the project, and updated the Key Name in Setup Design - Advanced Settings - Services - [My Service] when copying the InstallShield project.

我在项目的“常规信息”页面上更新了“产品代码”和“升级代码”,并在复制InstallShield项目时更新了“设置设计 - 高级设置 - 服务 - [我的服务]中的密钥名称”。

Are there any other shared items that could be affecting the uninstall?

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

1 个解决方案

#1


1  

The component GUIDs could be shared too. This is most likely the source of your problems. As a practice, you should NEVER copy a project and use to create a setup project for another similar product, this is the easiest way to miss updating some GUIDs that must be unique and have your packages behave incorrectly.

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

I don't know if InstallShield has the option, other tools do have it, but the recommended method is to create a project template from the first one (A), then create a new project from that template, case in which IS should make sure that you get new unique GUIDs for all sensitive areas from the package.

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

#1


1  

The component GUIDs could be shared too. This is most likely the source of your problems. As a practice, you should NEVER copy a project and use to create a setup project for another similar product, this is the easiest way to miss updating some GUIDs that must be unique and have your packages behave incorrectly.

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

I don't know if InstallShield has the option, other tools do have it, but the recommended method is to create a project template from the first one (A), then create a new project from that template, case in which IS should make sure that you get new unique GUIDs for all sensitive areas from the package.

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