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 文件夹的主要内容,如果未能解决你的问题,请参考以下文章
Windows 服务项目中的 AppData\Roaming 文件夹