我制作了一个安装在c:\Program Files\My Service
目录中的 Windows 服务。除了可执行文件,我还有一个安装在同一目录中的 XML 文件。服务使用此 XML 文件来获取用户定义的信息。
在服务的代码中,我读取文件,就好像它是可执行文件的本地文件一样。例如:
DataSet ds = new DataSet();
ds.ReadXml("Foo.xml");
但是,当我运行该服务时,该服务会抛出一个异常说:
找不到文件“C:\Windows\system32\Foo.xml”
由于可执行文件存在于c:\Program Files\My Service
我希望 Windows 服务在c:\Program Files\My Service\Foo.xml
. 显然,事实并非如此。
如何强制服务在服务可执行文件所在的同一位置(相对)查找 Foo.xml 文件?