【发布时间】:2011-02-17 22:53:55
【问题描述】:
我有一个解耦的 WMI 提供程序(Windows 服务),它配置了一个位于 C:\ProgramData\CompanyName 文件夹中的文件。当服务加载时,它使用Environment.GetFolderPath(Enviornment.SpecialFolder.CommonApplicationData) 方法来获取路径的C:\ProgramData 部分。
当服务运行时,我尝试写入同一个文件,通过对服务的 WMI 调用,使用相同的方法调用,但这次失败;返回空值。
我现在在 WMI 的上下文中运行是否会导致这种情况发生?
【问题讨论】:
-
是的,请注意用户帐户。对于 LocalSystem,GetFolderPath 变得很糟糕。
-
调用 WMI 的用户帐户?因为两次调用的服务用户相同。
-
@Hans:你到底是什么意思?用
Environment.GetFolderPath()不好吗?Environment.GetFolderPath(Environment.SpecialFolder.StartMenu)(当前用户路径)呢 -
不适用于系统帐户,LocalSystem 没有开始菜单。