Ich teste meine Anwendung unter dem Benutzer Gast. Es stürzt mit dem folgenden Fehler ab.'UnauthorizedAccessException' - 'Global .net clr networking'
‚UnauthorizedAccessException‘ - ‚Global.net clr Networking‘
Jetzt weiß ich, dass ich die Sicherheitsrichtlinie auf der Maschine bearbeiten kann, um CLR-Code zu erlauben unter Gastsystem ausgeführt zu trauen, aber was sollte man auf einem tun kommerzielle App?
(Signieren und CAS-Attribute hinzufügen?) Ich lese derzeit die gesamte Sicherheitsabteilung, aber ich bin in einer Zeit Prise, so dass alle Hinweise in die richtige Richtung geschätzt werden.
EDIT: Ich habe das Problem auf die Verwendung der Klasse Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase verfolgt. Wenn dies enthalten ist, wird der Fehler angezeigt. Ich bin auf der Suche nach etwas, das dem Manifest oder einer anderen Methode hinzugefügt werden kann, damit beim Installieren/Ausführen der Anwendung nach den entsprechenden Berechtigungen gefragt wird. Ich möchte nicht den Benutzer bitten, caspol oder irgendein anderes Werkzeug persönlich anzurufen.
Umwelt Details: - App ist .NET 3.0 mit - OS ist Vista
Hier ist der relevante Stack-Trace für die in diesen Dingen:
Unhandled Exception: System.UnauthorizedAccessException: Access to the path 'Glo
bal\.net clr networking' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.Threading.Mutex.<>c__DisplayClass3.<.ctor>b__0(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCl
eanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Threading.Mutex..ctor(Boolean initiallyOwned, String name, Boolean&
createdNew, MutexSecurity mutexSecurity)
at System.Diagnostics.SharedUtils.EnterMutexWithoutGlobal(String mutexName, M
utex& mutex)
at System.Diagnostics.SharedPerformanceCounter.Verify(CategoryEntry* currentC
ategoryPointer)
at System.Diagnostics.SharedPerformanceCounter.FindCategory(CategoryEntry** r
eturnCategoryPointerReference)
at System.Diagnostics.SharedPerformanceCounter.GetCounter(String counterName,
String instanceName, Boolean enableReuse, PerformanceCounterInstanceLifetime li
fetime)
at System.Diagnostics.SharedPerformanceCounter..ctor(String catName, String c
ounterName, String instanceName, PerformanceCounterInstanceLifetime lifetime)
at System.Diagnostics.PerformanceCounter.Initialize()
at System.Diagnostics.PerformanceCounter.set_RawValue(Int64 value)
at System.Net.NetworkingPerfCounters.Initialize()
at System.Net.Configuration.SettingsSectionInternal..ctor(SettingsSection sec
tion)
at System.Net.Configuration.SettingsSectionInternal.get_Section()
at System.Net.Sockets.Socket.InitializeSockets()
at System.Net.Sockets.Socket.get_SupportsIPv4()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.get_
HostName()
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Regi
sterChannel(Boolean SecureChannel)
at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(
String[] commandLine)
Wo stürzt es ab? Beim Start? Während des normalen Betriebs? – blowdart
während des Starts, bevor irgendein Teil meines Codes ausgeführt wird. – moogs