我有一个C#.NET 4.0应用程序,它使用log4net进行日志记录。在Windows下,它总是将日志文件写入System.Windows.Forms.Application.CommonAppDataPath,,这也适用于Windows7下的管理用户,即使UAC设置为默认级别。但是,当在Windows 7下以有限用户的身份运行UAC时,日志文件不会被写入。
在以有限用户的身份运行时,是否有一种方法可以让System.Windows.Forms.Application.UserAppDataPath访问这些相同的滚动日志文件,或者我是否被迫使用log4net,并为每个用户提供不同的日志文件?如果可能的话,我更愿意为所有用户提供一组滚动日志文件,因为它使客户支持更加容易。
最后,程序必须运行"asInvoker“,所以升级应用程序不是一种选择。
发布于 2011-05-23 14:27:06
最后我改变了sgmoore的建议。我创建了一个名为C:\ProgramData[CompanyName][ProductName]\logs,的文件夹,我在该文件夹上为本地用户组启用了写访问权限。这样做的优点是,对ProgramData中的所有其他文件保持最小的访问权限,同时只为那些需要它的人提供对日志文件的必要访问。
发布于 2011-04-30 17:08:45
如果您更改文件夹c:\programdata\xxx (其中xxx是您的公司名称)的权限以启用每个人的写访问权限,该怎么办?
https://stackoverflow.com/questions/5836437
复制相似问题