c# - 通过在本地配置文件下运行服务从 Windows 服务获取用户 appdata 路径

标签 c# windows-services

我有一个 Windows 应用程序。因为我已经使用环境变量检索了 appdata。所以它给了我以下路径

c:\document and settings\当前用户名\应用程序数据。

但是当我使用环境变量从 Windows 服务检索 appdata 路径时,我得到以下路径

c:\windows\ServiceProfiles\LocalService\AppData\Local

所以这个 appdata 路径不同于我从 Windows 应用程序环境变量 appdata 路径获得的 appdata 路径。

我正在本地配置文件下运行 Windows 服务。我知道,如果我将服务配置文件更改为在用户下运行,则服务应用程序数据路径和 Windows 应用程序应用程序数据路径匹配,但服务提示输入用户名和密码。

所以我的问题是如何通过在本地配置文件下运行服务而不提示输入用户名和密码来从服务获取用户应用程序数据路径?

最佳答案

我也遇到过那个问题,看了你的问题,但乍一看没有找到答案。

这是 Mohit shah 的回答

“我发现无法通过在配置文件“LocalSystem”下运行服务来从 Windows 服务获取用户应用程序数据路径。所以我使用了 Environment.SpecialFolder.CommomAppData,它在 Windows 上运行时为我提供了应用程序数据路径 C:\ProgramData 7,当在 Windows 服务中使用相同的东西时,它也提供了相同的路径,我还在配置文件“LocalSystem”下运行该服务,因此它没有提示我输入凭据。所以这解决了我的问题。“

@Mohit Shah 请将此标记为答案,以便其他人可以从中获得帮助。

关于c# - 通过在本地配置文件下运行服务从 Windows 服务获取用户 appdata 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16922107/

相关文章:

c# - 要提供哪种参数类型(即 IEnumerable 且具有 Count)?

c# - 将奇怪的日期格式转换为短 DateTime

C# 解析文本

c++ - Windows 服务中的断言

wcf - 可以从 WCF 与 Windows 服务通信

c# - Try-catch 加速我的代码?

c# - 评论我的简单 MVP Winforms 应用程序

jenkins - 如何使用命令行设置 Jenkins Slave 作为 Windows 服务运行?

c++ - 安装 Windows 服务 C++

c# - 如何处理 .net core 3.1 自包含单文件发布的 Appsettings