Windows服务无法正常工作
我使用visual studio创建了一个服务,并使用visual studio命令提示符安装它。它工作正常Windows服务无法正常工作
但现在我想使用Visual Studio安装程序安装相同的服务。我已经按照这个link创建了一个安装程序。安装程序会正确安装该服务,因为它不会引发任何错误或异常。但是当我从服务列表启动服务时,服务确实启动,但不会写入日志文件。所以任何人都可以帮助我,并告诉为什么服务在使用命令提示安装时表现良好,但通过安装程序安装时会导致问题。
protected override void OnStart(string[] args)
{
timer1 = new Timer();
this.timer1.Interval = 5000;
this.timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.timer1_tick);
timer1.Enabled = true;
Library.WriteErrorLog("service started!");
}
private void timer1_tick(object sender, ElapsedEventArgs e)
{
Library.WriteErrorLog("Timer ticked succesfully");
}
protected override void OnStop()
{
timer1.Enabled = false;
Library.WriteErrorLog("Service Stopped!");
}
您是否检查过该服务有权写入日志文件?
检查目录的权限,转到日志文件夹 - 属性和安全选项卡。
服务通常在没有对Windows文件系统的写入访问权的情况下运行。
通过命令提示符安装时,它工作正常 –
通过命令提示符安装时,用户在使用安装程序时与用户不同吗? IE使用任务管理器用户名列?你也看到服务在运行服务时运行,msc在开始菜单的运行框中? –
是状态正在运行。和用户是一样的 –
安装之前请检查所有路径和目录。有时会选择错误的目录。
尝试调试您的服务,解释[这里](http://stackoverflow.com/a/126016/1630056) – Pan
您是否安装服务作为用户,本地服务或网络服务运行? –
@SimonPrice作为本地服务,也尝试作为本地系统 –