0

Visual Studio でプログラムを作成しました。プログラムはログファイルを作成し、プログラムが log4net を介して実行されている間に書き込みます。したがって、プログラムを操作するユーザーに関係なく、プログラム フォルダーに書き込み権限を設定する必要があります。

アプリケーションにアクセスすると、次のようなエラーがスローされます

ファイルアクセスが拒否されました

だから私はそれをやったことで、そこにiis_users管理者権限を与えました...

しかし、私の問題は、iisを介してアプリケーションを実行できるようにする権利を設定していないことです

だから私はやった

1)次のコードで app.manifest ファイルを作成しました

 <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <!-- UAC Manifest Options
            If you want to change the Windows User Account Control level replace the 
            requestedExecutionLevel node with one of the following.

        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

            Specifying requestedExecutionLevel node will disable file and registry virtualization.
            If you want to utilize File and Registry Virtualization for backward 
            compatibility then delete the requestedExecutionLevel node.
        -->
         <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

      </requestedPrivileges>

しかし、これは私がこの問題を解決するのに役立ちません

4

1 に答える 1

0

まず、そうするべきではありません。つまり、プログラムフォルダにログを書き込んでください。それがTEMPフォルダの目的です。

そうは言っても、プログラムフォルダ内のファイルにパーミッションを設定する1つの方法は、セットアップのカスタムアクションでそれを行うことだと思います。

同様の質問があります:.NETを使用したインストール中にフォルダに読み取り/書き込み権限を与える方法

于 2013-01-11T07:41:10.077 に答える