[问题]写了个windows service用来监视文件夹的变化,调试的时候可以通过,可是用installtuil安装的时候却不能启动,大家帮我看看
我的服务是这样的:
private FileSystemWatcher curWatcher;//设置一个侦听,当指定的文件夹发生变化时出发事件
我在服务里有个初始化变量的方法:
/// <summary>
/// 数据初始化
/// </summary>
private void CreateObject()
{
log_txt = ConfigurationManager.AppSettings[ "LogTxt "].ToString();
file_url = ConfigurationManager.AppSettings[ "FileUrl "].ToString();
file_bak = ConfigurationManager.AppSettings[ "FileBak "].ToString();
this.WriteMessage( "FileService服务正在进行初始化!\r\n ");
this.CanPauseAndContinue = true;
this.CanStop = true;
servicePaused = false;//用来暂停服务的变量,为true时表示服务暂停
this.WriteMessage( "FileService初始化成功!\r\n ");
}
在OnStart方法中我调用了上面的CreateObject()方法
protected override void OnStart(string[] args)
{
this.CreateObject();
this.WriteMessage( "FileService已经成功开启!\r\n ");
this.WriteMessage( "正在设置文件侦听!\r\n ");
//设置一个侦听,当指定的文件夹发生变化时触发事件
curWatcher = new FileSystemWatcher();
curWatcher.BeginInit();
curWatcher.IncludeSubdirectories = true;
curWatcher.Path = file_url;
curWatcher.Created += new FileSystemEventHandler(OnFileCreated);
curWatcher.EnableRaisingEvents = true;
curWatcher.EndInit();
}
服务编译是可以通过的,我也添加了安装程序ProjectInstaller.cs,生成后在\obj\Debug目录下生成了文件**.exe我在控制台也执行了installutil **.exe.查看服务里面也确实有这个服务,但是我选择启动服务的时候....