Windows 服务项目中的 AppData\Roaming 文件夹

Posted

技术标签:

【中文标题】Windows 服务项目中的 AppData\\Roaming 文件夹【英文标题】:AppData\Roaming folder in windows service projectWindows 服务项目中的 AppData\Roaming 文件夹 【发布时间】:2011-11-25 19:55:49 【问题描述】:

我需要有关在 Windows 服务程序中获取特殊文件夹的帮助。我在我的 Windows 窗体 应用程序中使用了这段代码:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

得到了路径,“”C:\Users\\AppData\Roaming“*

但如果我在我的 Winows Service 项目中运行相同的代码,我会得到路径:"C:\Windows\ServiceProfiles\LocalService\AppData\Roaming\"

但我需要较早的路径(进入 Windows 窗体)。我如何在服务项目中也获得相同的路径。

我在 "C:\Users\\AppData\Roaming" 文件夹中有用户设置文件、日志、配置文件。所以我必须在我的 Windows 窗体 应用程序和 Windows 服务 项目中引用相同的路径。

谁能告诉我,这里有什么区别,我如何在两种类型的项目中获得相同的路径?

谢谢, 沙拉特

【问题讨论】:

【参考方案1】:

您的 Windows 服务应使用“用户”帐户,而不是“本地服务”或“本地系统”。

        ServiceProcessInstaller process = new ServiceProcessInstaller();
        process.Account = ServiceAccount.User;

并且在安装服务时,需要指定当前登录用户的用户名和密码。用户名应采用以下格式:“MachineName\UserName”。示例:“.\John”

【讨论】:

以上是关于Windows 服务项目中的 AppData\Roaming 文件夹的主要内容,如果未能解决你的问题,请参考以下文章

Word文件乱码XML

一个 exe 中的多个 Windows 服务

Windows 服务项目中的 AppData\Roaming 文件夹

使用移动设备访问托管在 Windows 服务中的 WCF 服务

Windows 服务中的 SQL 注入?

Windows 服务中的 Advantage 数据提供程序错误 6097