我在Windows 7上使用c#构建了一个Windows应用程序.
一切都运行正常,所以我创建了一个安装向导项目,然后构建它.一旦我安装了应用程序,我就可以正确打开它,但是当我尝试执行一些写入文本文件的操作(带有日志记录)时,它会崩溃,并向我发出以下错误消息:
UnauthorizedAccessException
访问路径'C:\ Program Files(x86)\ MSProgram\MSProgram\log.txt'被拒绝.
当我手动给该文件夹完全权限时,它工作正常.现在,问题如下:
如何以编程方式为应用程序目录中的内容编写应用程序权限?因此,每个下载它的人都不会遇到同样的问题.
Ree*_*sey 21
别.应用程序不应直接将数据写入其安装目录.这样做会使应用程序在Windows Vista和Windows 7上运行不佳,因为它不是保存数据的正确方法.
您应该使用Environment.GetFolderPath,并写入一个好的位置,例如用户的应用程序数据文件夹(Environment.SpecialFolders.ApplicationData).
Jar*_*Par 10
解决方案不是授予该directry权限,而是写入更适合应用程序日志的文件夹."Program Files(x86)"和"Program Files"是应用程序安装的地方,而不是日志记录.
更合适的位置是每用户数据文件夹
或者Environment.GetFolderPath以下值的结果