Dwa dni temu ukończyłem standardową instalację systemu Windows 8. To była nowa instalacja. Jednak Windows 7 był już na dysku, a instalator przeprowadził migrację do Windows.old.
Z jakiegoś dziwnego i dziwnego powodu staram się „pisać” na mój dysk w odniesieniu do aplikacji .NET. Wygląda na to, że żadna z moich aplikacji .NET (samozapisanych) nie może zapisywać w swoich plikach dziennika na dysku, które są tworzone podczas uruchamiania.
Wyłączyłem UAC, a także ustawiłem pełną kontrolę nad dyskiem C: dla mojego użytkownika, ale nie miałem szczęścia. Wciąż pojawia się błąd:
Klient nie posiada wymaganego przywileju.
Zrobiłem Google i wypróbowałem kilka samouczków online, ale nadal nie miałem szczęścia!
windows-8
permissions
Dane Balia
źródło
źródło
DWORD
aw rejestrze. Jest wHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
,EnableLUA
i ustawić0
całkowicie wyłącza UAC. Ale nie poleciłbym tego, a także zauważ, że stracisz aplikacje Metro, ponieważ zależą one od UAC.Odpowiedzi:
Zainstalowałem system Windows 8 w bardzo podobny sposób i pozostało mi wiele folderów, które wymagały podwyższonych uprawnień do operacji zapisu. Twoje aplikacje .NET prawdopodobnie znajdują się na koncie, który nie może wykonywać tych działań, niezależnie od tego, czy piszą do tych folderów ogólnie, czy też je podwyższają (nie jestem strasznie informowany o tym, jak działają aplikacje .NET).
Na szczęście rozwiązanie powinno być dość proste. Przejmij na własność folder.
Na przykład mój folder PerfLogs ma trochę niechlujnych uprawnień (tak, zdaję sobie sprawę, że PerfLogs ma różne uprawnienia, ale było to przydatne). Wypróbuj to z folderem dzienników. Otwórz właściwości i spójrz na kartę bezpieczeństwa:
Kliknij Zaawansowane. Widać, że nie mam uprawnień, aby nawet przeglądać uprawnienia. Twoja sprawa może nie być tak ekstremalna:
Kliknij Kontynuuj i spójrz na zaawansowane ustawienia bezpieczeństwa. Oto, gdzie podejrzewam, że coś Ci się nie udaje:
Jeśli tylko administratorzy mogą zapisywać w folderze dzienników, a aplikacja .NET nie jest administratorem, dzienniki nie będą zapisywane.
Przyłóż się do użytkownika, pod którym działa Twoja aplikacja .NET i dowiedz się, czy w folderze dziennika jest dozwolone zapisywanie. To nie będzie trudne i szybkie rozwiązanie, ponieważ nie ma problemu. Najgorszy scenariusz, spróbuj dodać
Everyone
zFull access
tymczasowo, aby zobaczyć, czy to rozwiąże problem.źródło
Uznałem to również za pomocne dla tych, którzy mogą cierpieć z powodu problemu:
http://answers.microsoft.com/en-us/windows/forum/windows_vista-security/error-0x80070522-a-required-privilege-is-not-held/78cc11ec-c543-418d-9183-131318e9db8a
Aby całkowicie uruchomić system Windows 8 w trybie administratora, ponieważ nie można wyłączyć UAC po staremu, sprawdź to: http://www.neowin.net/forum/topic/1120770-windows-8-run-everything-as-administrator/
źródło
Uruchom CMD i uruchom go jako administrator. Wpisz następujące polecenie:
Wyloguj się, zaloguj jako nowo utworzony administrator. Właśnie masz uprawnienia administratora. Po prostu skopiuj wszystko z poprzedniego profilu do nowego.
źródło