【发布时间】:2013-09-09 23:28:28
【问题描述】:
我使用 installutil 安装 Windows 服务,并且项目安装程序的 Account 属性设置为 User。
我以当前登录的用户(域/用户名)身份安装服务。
该服务会做一些事情并创建一个文本文件。我在 Windows 资源管理器中看不到文本文件,但根据服务的输出,我知道它在那里。
如果我以运行服务的用户身份登录,为什么我看不到服务创建的文件?
谢谢, 安德鲁
【问题讨论】:
我使用 installutil 安装 Windows 服务,并且项目安装程序的 Account 属性设置为 User。
我以当前登录的用户(域/用户名)身份安装服务。
该服务会做一些事情并创建一个文本文件。我在 Windows 资源管理器中看不到文本文件,但根据服务的输出,我知道它在那里。
如果我以运行服务的用户身份登录,为什么我看不到服务创建的文件?
谢谢, 安德鲁
【问题讨论】:
根据我的经验,服务的当前工作目录默认为系统文件夹,而不是条目程序集所在的文件夹。在此处检查文件。如果你想改变工作目录,你可以在代码中这样做。
Assembly assembly = Assembly.GetEntryAssembly();
string assemblyFolder = Path.GetDirectoryName(assembly.Location);
Environment.CurrentDirectory = assemblyFolder;
【讨论】: