【问题标题】:Windows service - cannot see created filesWindows 服务 - 看不到创建的文件
【发布时间】:2013-09-09 23:28:28
【问题描述】:

我使用 installutil 安装 Windows 服务,并且项目安装程序的 Account 属性设置为 User。

我以当前登录的用户(域/用户名)身份安装服务。

该服务会做一些事情并创建一个文本文件。我在 Windows 资源管理器中看不到文本文件,但根据服务的输出,我知道它在那里。

如果我以运行服务的用户身份登录,为什么我看不到服务创建的文件?

谢谢, 安德鲁

【问题讨论】:

    标签: c# file service


    【解决方案1】:

    根据我的经验,服务的当前工作目录默认为系统文件夹,而不是条目程序集所在的文件夹。在此处检查文件。如果你想改变工作目录,你可以在代码中这样做。

    Assembly assembly = Assembly.GetEntryAssembly();
    string assemblyFolder = Path.GetDirectoryName(assembly.Location);
    Environment.CurrentDirectory = assemblyFolder;
    

    【讨论】:

    • 我知道服务的 cwd 是 system32 文件夹,所以我更改了创建文件的代码以将它们保存在手动编码的路径中(仅用于快速测试)。该文件仍未在资源管理器中列出。我会看看你的代码是否有所作为。
    猜你喜欢
    • 2012-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-24
    • 2022-01-14
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多