【发布时间】:2018-08-30 08:53:53
【问题描述】:
我遇到了一个奇怪的问题,我找不到可行的解决方案。提前感谢您的帮助。
我用 C# 开发了一个 Windows 服务,它使用 Newtonsoft.JSON 库来解析来自一堆 WebAPI 的结果。该服务与 MSI 一起部署,一切正常。
该服务的第一个版本使用 Newtonsoft.JSON 6.0.8,但最近我移至版本 11.0.2。
我打包了一个新的 MSI(使用正确的版本/产品 ID/升级 ID 以确保升级),我正在尝试通过执行以下操作的小型安装应用程序部署新版本:
- 使用 System.ServiceProcess.ServiceController 停止服务(如果已安装并正在运行)
- 使用
System.ServiceProcess.ServiceController卸载服务 - 运行
System.Process,在新的 msi 文件上调用 msiexec
结果:服务不工作,从日志中可以看出,应用还在寻找6.0.8版本的Newtonsoft.JSON。
如果我尝试以下操作:
- 右键单击 msi -> 卸载
- 右键单击 msi -> 安装
一切正常,服务使用库的 11.0.2 版本...
我快要疯了...如何修复/清理升级过程?
提前致谢
【问题讨论】:
标签: c# json.net windows-services windows-installer