我们有一个使用第三方DLL与COM打印机通信的Windows服务(用C#编写)。
已在4台本地机器上测试了Windows服务,在每种情况下打印机都能正常工作。
我们已经将这个Windows服务部署到多个客户的生产环境中,并且也能正常工作,但是现在我们要将其部署到一个新客户端,并且无论我们进行多少次测试,该DLL都无法打开COM端口(已检查是否被其他应用程序使用,但没有发现)。
但最奇怪的是,如果我们从命令行启动服务.exe,则它可以正常工作,因此我们尝试以连接到机器的用户身份启动服务(而不是本地系统),但仍然无法工作。
这是什么原因?有没有任何方法,无论是通过Windows配置还是通过某些软件,阻止Windows服务与COM端口通信?或者还有其他解释吗?
已在4台本地机器上测试了Windows服务,在每种情况下打印机都能正常工作。
我们已经将这个Windows服务部署到多个客户的生产环境中,并且也能正常工作,但是现在我们要将其部署到一个新客户端,并且无论我们进行多少次测试,该DLL都无法打开COM端口(已检查是否被其他应用程序使用,但没有发现)。
但最奇怪的是,如果我们从命令行启动服务.exe,则它可以正常工作,因此我们尝试以连接到机器的用户身份启动服务(而不是本地系统),但仍然无法工作。
这是什么原因?有没有任何方法,无论是通过Windows配置还是通过某些软件,阻止Windows服务与COM端口通信?或者还有其他解释吗?