使用InnoSetup为NLog创建日志文件的文件夹

时间:2013-07-10 20:23:57

标签: inno-setup acl nlog

我遇到一个问题,我需要我的用户能够在没有管理员权限的情况下运行我的应用程序,但同时,我需要NLog能够创建它的日志文件,它需要管理员权限才能创建它们位于安装应用程序的同一文件夹中。

我正在尝试在名为Logs的应用程序目录下创建一个目录,并使用inno setup授予everyone-modify权限。我将设置我的NLog配置来写入这个新的Logs文件夹而不是应用程序目录,因此即使应用程序由非管理员运行,NLog也有足够的权限来创建日志。

我的问题是,这是正确的方法吗?我对NLog或InnoSetup不是很熟悉,所以我不确定是否有遗漏的东西,或者这是否会产生安全问题?

我的NLog配置部分设置如此

NLOG

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <targets>
    <target name="el" xsi:type="EventLog" log="ASI" layout="${message} ${exception:innerFormat=tostring:maxInnerExceptionLevel=10:format=tostring}" />
    <target name="fl" xsi:type="File" fileName="Logs\iDocClientLog.log" layout="${date}: ${message} ${exception:innerFormat=tostring:maxInnerExceptionLevel=10:format=tostring}" />
  </targets>
  <rules>
    <logger name="*" minlevel="Debug" writeTo="el,fl" />
  </rules>
</nlog>

我的InnoSetup安装程序脚本Dirs部分就像这样

InnoSetup

[Dirs]
Name: "{app}\Logs"; Permissions: everyone-modify

0 个答案:

没有答案