无法安装新版本的.NET Windows服务

时间:2016-02-10 18:25:16

标签: c# .net windows-services

我有一个用C#编写的64位Windows服务。它以前安装在Windows 7 64位计算机上。我们对它进行了一些更改,并尝试将新版本部署到同一台机器上。

然而,无论我们做什么,我们看到的行为似乎表明正在运行的服务是旧版本。

以下是我们为解决此问题而采取的步骤:

  1. 使用INSTALLUTIL卸载服务。
  2. 使用SC DELETE验证是否已将其删除。
  3. 删除服务安装目录中的所有文件,如“服务”管理单元中服务的属性页中所指定。
  4. HKLM\System\CurrentControlSet001\Services中删除了与该服务关联的所有注册表项。
  5. 使用新版本号重建服务及其依赖项。
  6. 将新版本部署到服务的安装目录。
  7. 使用INSTALLUTIL重新安装服务。
  8. 已验证“服务”管理单元和注册表指向服务可执行文件的正确位置。
  9. 但是,新部署的服务的行为似乎与先前版本相同。 (具体来说,它是将消息注入MSMQ中的队列,当该功能被删除并且可以验证已经完成时。)

    我们确信我们正在部署正确的版本。即使我们从Visual Studio项目构建文件夹(bin\x64\release)安装新版本的服务,也会出现相同的行为。

    为什么会发生这种情况?我该如何解决?服务是否缓存在某处并在安装时从缓存中运行?如果是这样,他们在哪里,以及如何正确清除它们?

    或者这只是我在代码中剔骨的东西?

0 个答案:

没有答案