SecurityException utilizzando le Microsoft Enterprise Library

Utilizzando le Microsoft Enterprise Library si può ricevere il seguente errore:

System.Security.SecurityException: Requested registry access is not allowed

In genere ciò non avviene sulla propria workstation di sviluppo ma quando si installa l'applicazione sul web server di produzione (dal cliente oppure in hosting).

Il motivo è che le Enterprise Library per funzionare correttamente richiedono la creazione nel registro di appositi Performance Counter

Quindi è necessario aggiungere alcune chiavi di registro. Si possono inserire manualmente le righe seguenti nel registro oppure si possono copiare in una file con estensione .reg (ad esempio enterprise.reg) e facendoci poi doppio click sopra avviene automaticamente l'installazione.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationEnterprise Library Backup Sink]
"EventMessageFile"="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\EventLogMessages.dll"

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationEnterprise Library Caching]
"EventMessageFile"="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\EventLogMessages.dll"

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationEnterprise Library Configuration]
"EventMessageFile"="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\EventLogMessages.dll"

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationEnterprise Library Cryptography]
"EventMessageFile"="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\EventLogMessages.dll"

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationEnterprise Library Data Service]
"EventMessageFile"="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\EventLogMessages.dll"

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationEnterprise Library Distributor Service]
"EventMessageFile"="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\EventLogMessages.dll"

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationEntLib Exception Handler]
"EventMessageFile"="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\EventLogMessages.dll"

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationEnterprise Library Exception Handling]
"EventMessageFile"="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\EventLogMessages.dll"

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationEnterprise Library Instrumentation]
"EventMessageFile"="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\EventLogMessages.dll"

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationEnterprise Library Logging Service]
"EventMessageFile"="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\EventLogMessages.dll"

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationEnterprise Library Security]
"EventMessageFile"="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\EventLogMessages.dll"

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplicationEnterprise Library Security Cryptography]
"EventMessageFile"="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\EventLogMessages.dll"

Alcuni post indicano come strettamente necessaria esclusivamente l'ultima chiave ma da me non ha funzionato finchè non le ho installate tutte.

Aggiornamento: "Come disabilitare i performance counters nelle Enterprise Library"

Share

Leave a Reply

Your email address will not be published. Required fields are marked *