我有一个用C#编写的64位Windows服务。它以前安装在Windows 7 64位计算机上。我们对它进行了一些更改,并尝试将新版本部署到同一台机器上。
然而,无论我们做什么,我们看到的行为似乎表明正在运行的服务是旧版本。
以下是我们为解决此问题而采取的步骤:
SC DELETE
验证是否已将其删除。 HKLM\System\CurrentControlSet001\Services
中删除了与该服务关联的所有注册表项。 但是,新部署的服务的行为似乎与先前版本相同。 (具体来说,它是将消息注入MSMQ中的队列,当该功能被删除并且可以验证已经完成时。)
我们确信我们正在部署正确的版本。即使我们从Visual Studio项目构建文件夹(bin\x64\release
)安装新版本的服务,也会出现相同的行为。
为什么会发生这种情况?我该如何解决?服务是否缓存在某处并在安装时从缓存中运行?如果是这样,他们在哪里,以及如何正确清除它们?
或者这只是我在代码中剔骨的东西?