3

ユーザーが管理者権限なしでアプリケーションを実行できるようにする必要があるという問題がありますが、同時に、NLog でログ ファイルを作成できるようにする必要があります。ログ ファイルを作成するには管理者権限が必要です。アプリケーションがインストールされている同じフォルダ。

アプリケーションディレクトリの下に という名前のディレクトリを作成し、 inno setup で権限をLogs付与しようとしています。everyone-modifyアプリケーション ディレクトリではなく、この新しい Logs フォルダーに書き込むように NLog 構成をセットアップします。これにより、アプリケーションが管理者以外によって実行されている場合でも、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セクションはこのようなものです

イノセットアップ

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

0 に答える 0