3

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

我正在运行 Windows 7。

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

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

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

4

3 回答 3

3

问题是您需要登录到不同的位置。您不应该C:\Program Files从您的应用程序中写入。相反,将您的日志文件移动到类似%APPDATA%\Your Company\Your Application\Logs.

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

于 2013-08-09T14:11:10.540 回答
2

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

于 2013-08-09T14:10:59.033 回答
1

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

我在登录到 UserProfile 特殊文件夹方面取得了巨大成功,因此我的日志最终出现在以下文件夹结构中:

C:\用户\当前用户\我的文档\公司名称\应用程序名称\

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

%USERPROFILE%\Documents
于 2013-08-09T14:21:18.227 回答