Testuję swoją aplikację pod Guest Guest. To zawiesza się z następującym błędem."UnauthorizedAccessException" - "Global .net clr networking"
„UnauthorizedAccessException” - „Global.net clr networking”
Teraz wiem, że mogę edytować zasady zabezpieczeń na urządzeniu, aby umożliwić kod CLR działa pod gościa można ufać, ale co należy zrobić na zasadzie aplikacja komercyjna?
(Zarejestruj i dodaj atrybuty CAS?) Obecnie czytam całą sekcję bezpieczeństwa, ale jestem w szczypie czasowym, więc wszelkie wskazówki we właściwym kierunku zostaną docenione.
EDYCJA: Zidentyfikowaliśmy problem z wykorzystaniem klasy Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase. Jeśli zostanie uwzględniony, pojawi się błąd. Szukam czegoś do dodania do manifestu lub w inny sposób, aby po zainstalowaniu/uruchomieniu aplikacji, poprosił o odpowiednie uprawnienia. Nie chcę prosić użytkownika o osobiste wywołanie caspol lub innego narzędzia.
Środowisko Szczegóły: - App używa .NET 3.0 - OS jest Vista
Oto właściwy ślad stosu dla tych w tych rzeczach:
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)
Skąd się on zawiesza? Na starcie? Podczas normalnej pracy? – blowdart
podczas uruchamiania, zanim jakakolwiek część mojego kodu zostanie wykonana. – moogs