質問

イベントログにメッセージを書き込むアプリがあります。 EventLog.WriteEntryに渡すソースが存在しないため、フレームワークはソースをレジストリに追加してソースを作成しようとします。ユーザーが管理者でない場合、ユーザーが管理者でない場合、次のようになります:

" System.Security.SecurityException:要求されたレジストリアクセスは許可されていません。"メッセージ。

どうすれば修正できますか?

更新

レジストリに管理者アカウントで手動でレジストリを作成しました。今、私はエラーがあります:System.Security.SecurityException:要求されたレジストリへのアクセスは許可されていません。

グループ管理者でユーザーを作成しているため、理解できません...どうすればよいですか

役に立ちましたか?

解決

更新のために、あなたに役立つかもしれないものを見つけました:

Run regedt32
Navigate to the following key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Security
Right click on this entry and select Permissions
Add the ASPNET user
Give it Read permission

2. Change settings in machine.config file

Run Explorer
Navigate to WINDOWS or WINNT folder
Open Microsoft.NET folder
Open Framework folder
Open v1.1.4322 folder (folder name may be different, depending on what dotnet version is installed)
Open CONFIG folder
Open machine.config file using notepad (make a backup of this file first)
Locate processmodel tag (approx. at line 441)
Locate userName="machine" (approx. at line 452)
Change it to userName="SYSTEM"
Save and close the file
Close Explorer

3. Restart IIS

Run IISReset

ソースはこちら

他のヒント

「非プログラミングの方法」 Webアプリケーション/ Webサービスを使用するユーザーにレジストリへのアクセス権を付与することです(イベントログはイベントログに書き込まれます)。

これらのどれも私にとってうまくいきませんでした。トリックは、アプリケーションプールIDを" ApplicationPoolIdentity"から変更することでした。 「LocalSystem」へ。次に、LocalSystem WindowsアカウントをAdministratorsグループに追加します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top