如何在AppData Administrator用户中保存文件

时间:2015-03-26 21:30:14

标签: c#

我有两个项目:

  1. Windows窗体
  2. Windows服务
  3. Windows窗体项目是一个配置实用程序,用于保存Data.XML

    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

    相同的Windows窗体应用可以安装Windows Service,但始终使用Administrator凭据安装Windows服务。

    当我的Windows窗体配置保存Data.XML时,它保存到我当前的用户AppData文件夹中,我需要在我的管理员AppData文件夹中,因为我的Windows Service将不会能够找到它。

    有关如何获得的任何线索:

    Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
    

    我的管理员帐户?

1 个答案:

答案 0 :(得分:0)

  

有关如何获得的任何线索:

     

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);   对于我的管理员帐户?

您可以使用SHGetKnownFolderPath检索特定用户的文件夹路径。

但是,默认情况下,其他用户无权访问该文件夹。如果为此目的允许访问,它会削弱您的安全模型。

SpecialFolder.CommonApplicationData

似乎符合这个目的。

  

用作所有用户使用的特定于应用程序的数据的公共存储库的目录。

请参阅Environment.SpecialFolder Enumeration

如果可能,请考虑重构服务和WinForms应用程序,以使用他们都可以访问的文件夹。

相关问题