用c#编写的服务在安装后无法正常工作

时间:2010-10-11 18:57:16

标签: c# service windows-server-2008

用c#编写的实际与MS Word交互的Windows服务在调试模式下运行时工作正常..或者从命令提示符运行它。

但是在将其作为服务安装后它无法正常工作。运行该服务的帐户是管理员(本地)。

Server 2008 R2 ...在2003年使用之前从未遇到过问题

4 个答案:

答案 0 :(得分:3)

理解“为什么我的服务没有运行?”的最佳方法正在使用

            try
            {

            }
            catch (Exception ex)
            {
                EventLog.WriteEntry(ex.Message + ex.StackTrace);
            }

开始您的主要方法等事件。

答案 1 :(得分:1)

在Windows Server 2008 R2上,您在.Net Framework中构建的需要访问文件系统才能运行的服务需要具有适当的权限才能运行。在我的情况下,我需要安装服务,打开服务窗口,停止我的服务,右键单击并编辑服务的属性以在运行时使用管理员帐户。一旦我这样做,服务就按照预期开始工作了。

现在,这可能不是最好的事情,因此您可能希望在系统上定义一个自定义帐户,该帐户具有执行服务所需的最少权限。

答案 2 :(得分:0)

服务帐户是否具有"Log on as a service"权限?

答案 3 :(得分:0)

调用目标抛出了异常。 at System.RuntimeType.InvokeDispMethod(String name,BindingFlags invokeAttr,Object target,Object [] args,Boolean [] byrefModifiers,Int32 culture,String [] namedParameters)    at System.RuntimeType.InvokeMember(String name,BindingFlags bindingFlags,Binder binder,Object target,Object [] providedArgs,ParameterModifier [] modifiers,CultureInfo culture,String [] namedParams)    在System.Type.InvokeMember(String name,BindingFlags invokeAttr,Binder binder,Object target,Object [] args)