部署的VS 2010 WPF应用程序无法更新日志文件,除非在管理员模式下

时间:2013-08-09 14:06:13

标签: c# wpf deployment

我有一个使用nLog写出日志文件的WPF应用程序。在我的机器上,它成功写出日志文件。 我创建了一个部署项目,并生成一个安装程序,将其安装到程序文件中。安装成功,但运行应用程序时,不会创建nLog生成的日志文件。没有例外。

我正在运行Windows 7。

正在与可执行文件在同一目录中创建日志文件。

如果我以管理员模式运行已部署的应用程序,则会成功创建日志文件。

我怎样才能超越这个?签署可执行文件有帮助吗?我真的需要这个以管理模式运行吗?

3 个答案:

答案 0 :(得分:3)

问题是您需要登录到其他位置。您不应从您的应用程序写入C:\Program Files。而是将日志文件移动到%APPDATA%\Your Company\Your Application\Logs

之类的内容

通过使用%APPDATA%,您的应用程序可以在不同版本的Windows上运行,如果它们更改了标准目录的结构(如XP和Vista之间),您的应用程序仍会记录到正确的位置。 / p>

答案 1 :(得分:2)

Program Files目录已正确锁定。更改应用程序以将日志文件写入不受限制的位置。 (我更喜欢所有用户的应用程序数据目录。)

答案 2 :(得分:1)

其他人说过:程序文件目录被锁定。您需要使用另一个文件夹位置来登录。

我已经成功登录到UserProfile特殊文件夹,以便我的日志结束于此文件夹结构中:

C:\ Users \ CurrentUser \ My Docuements \ Company Name \ ApplicationName \

有关特殊照片的一些有用信息,请参阅此链接:http://en.wikipedia.org/wiki/Special_Folders

%USERPROFILE%\Documents