在 ExportService.Service1.OnStart(String[] args) 位置 E:/Demos/ExportService/ExportService/Service1.cs:行号 30
事实上,a.xls文件是存在的,而同样的代码在非Service程序是正常的,且Service部署到Windows Server 2003上运行正常。我不得不怀疑是权限问题,服务是以Local System运行的,在给工作目录加上了相应的权限后发现问题依旧。无奈,上网去转了一圈,找到了一个解决方案,以下是其中关键的部分:
This solution is ...
・Windows 2008 Server x64
Please make this folder.
C:/Windows/SysWOW64/config/systemprofile/Desktop
・Windows 2008 Server x86
Please make this folder.
C:/Windows/System32/config/systemprofile/Desktop
...instead of dcomcnfg.exe.
This operation took away office automation problems in my system.
A Desktop folder seems to be necessary in the systemprofile folder to open file by Excel.
It disappears from Windows2008, Windows2003 had the folder,
and I think it cause this error.
虽然问题解决了,但是为什么在X:/Windows/System32/config/systemprofile目录下创建名为Desktop目录即可解决问题,这个还不是很清楚。