我有一个使用VS2005的桌面应用程序。
应用程序将XML文档写入应用程序的文件夹。
当我使用管理员帐户运行时,应用程序运行正常,但当我作为没有访问权限的用户运行时,我收到拒绝访问错误消息。
我的应用程序将分发给多个用户,因此无法通过Windows资源管理器发布访问权限。在机器用户上安装我的应用程序时需要释放访问权限。
我如何解决这个问题?
我必须使用User安装应用程序的文件夹,通常是C:\ Program Files \ ...
我的应用程序将创建以下架构:
C:\Program Files\CapProj\Data\ << where the XML files will be located >>
C:\Program Files\CapProj\Imagens\ << images folder >>
.EXE文件将位于C:\Program Files\CapProj\CapProj.EXE
。
我的应用程序不使用任何数据库系统。此应用程序仅使用XML文件来存储数据,因为此应用程序将分发给Brasil中的许多用户。
答案 0 :(得分:1)
您应该让您的应用程序在该用户的“我的文档”文件夹中写入属于用户的文件,而不是应用程序的文件夹。
您可以使用带有以下C#代码的.NET Framework获取My Documents文件夹的路径:
var myDocsPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));
如果XML文件更像应用程序设置,则使用Environment.SpecialFolder.ApplicationData或a more appropriate special folder。
答案 1 :(得分:0)
请考虑使用用户的AppData目录。您可以使用:
string appDataDir = Application.UserAppDataPath;