作为本地系统服务正常,但作为网络服务有故障模块?

Service fine as local system, but has faulting module as network service?

我有点困惑为什么这个 windows 服务在使用 Network Service 帐户时不是 运行(但在使用相同代码的其他机器上这样做),在事件查看器中获取这两个后续错误:

Application: MyApplication.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: exception code c0000005, exception address 06F3C67E
Stack:

Faulting application name: MyApplication.exe, Version: 1.0.0.0, time stamp: 0x87654321
Faulting module name: ReferencedComLib.dll, Version: 1.0.0.0, time stamp: 0x12345678
Exception code: 0xc0000005
Fault offset: 0x0000c67e
Faulting process ID: 0x148c
Faulting application start time: 0x01d4df2e591220f2
Faulting application path: C:\Program Files (x86)\MyApplication\MyApplication.exe
Faulting module path: C:\Windows\SYSTEM32\ReferencedComLib.dll
Report ID: 9d8df956-4b21-11e9-80c8-00155dc82141
Faulting package full name: 
Faulting package-relative application ID: 

这似乎表明该服务正在 C:\Windows\SYSTEM32...

下寻找 ReferencedComLib.dll

但 ReferencedComLib.dll 实际上位于 C:\Windows\SysWOW64 下 - 它是来自第三方的 COM 库(他们的安装程序将其正确安装到 SysWOW64 中)

运行 在 Local System 下,但是这个错误甚至没有出现,服务运行没有问题 - 这个问题目前只能在一个阶段重现,在所有其他阶段都是 运行 可以 Network Service.

如何更改服务帐户 运行 服务会导致模块出现故障?

Simon Mourier 是对的,问题出在我正在使用的第三方 dll 内部,它试图访问 C:\Users...

下的目录

在网络服务可以访问的不同路径下重新安装解决了问题。