Microsoft Fix It Registry问题

时间:2015-05-19 19:04:50

标签: installer registry windows-server-2008-r2

我有一个程序在安装时启动Windows服务,并在卸载时删除Windows服务。然而,在我意外修改安装程序后它拒绝卸载(我的错!)。我甚至无法从程序和功能中删除它,因为它一直在抛出错误2715.我发现这篇文章有一个FixIt程序:https://support.microsoft.com/en-us/mats/program_install_and_uninstall

使用它,我设法最终删除程序本身。但是,现在,当我尝试再次安装和卸载它(以测试我的更改)时,附加的Windows服务不会被删除。事实上,它继续运行。我检查了注册表,确实卸载后服务的密钥仍然存在。我需要手动停止它并执行sc删除以摆脱它。关于如何解决这个问题的任何想法?

编辑:我可以在另一台计算机上复制该问题。我所做的是,我在那里安装程序,并使用Fix It工具将其删除。完成此操作后,我可以轻松复制该问题,因为卸载后服务永远不会被删除。在此之前它工作正常。

1 个答案:

答案 0 :(得分:-1)

这里有些猜测,因为没有足够的信息....

Eroor 2715是Windows Installer错误,我怀疑它与您运行程序(正如您所描述的)启动和停止服务有关。我猜你把它作为一个cuatom动作运行,而在卸载时你试图运行它,但它已经丢失,因为它已经被安装了。

所以:

  1. 该修复方法不适用于破坏的MSI(您的MSI) - 它用于修复损坏的注册表数据以防止卸载,而不是修复损坏的MSI卸载。

  2. 您不需要运行代码来启动,停止和删除服务。大多数MSI构建工具都支持为您执行此操作的Windows Installer功能,因此请停止执行此操作!

  3. 如果不知道您使用什么来构建MSI以及如何运行程序,则更具体的答案是困难的,但有迹象表明您在程序运行后运行该程序已被删除,即使你让程序正常运行,没有看到代码也无法判断它是否正确。但无论如何,2是你应该做的。