Szukałem google i odpowiedzi tutaj przez chwilę teraz i dochodzę do wniosku, że pisząc do rejestru, HKEY_CURRENT_USER powinien być dostępny bez UAC, prawda? Tak przynajmniej wydaje się każda nić. Moje problemy polegają na tym, że otrzymuję błąd odmowy dostępu podczas próby uzyskania dostępu do tego klucza i napisania nowej wartości. Czy dzieje się tak dlatego, że coś jest nie tak z moim rejestrem, czy też robię coś nie tak? Oto kod, którego używam:Nie mogę napisać do HKEY_CURRENT_USER klucz rejestru w C#
string runKey = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
RegistryKey startupKey = Registry.CurrentUser.OpenSubKey(runKey, true);
startupKey.SetValue("Arebokerts application", '"' + Environment.CurrentDirectory + "\\arebokert.exe" + '"', Microsoft.Win32.RegistryValueKind.String);
Czy ktokolwiek może być tak miły i rzucić nieco światła na ten temat? Chciałbym trzymać się z daleka od wszelkiego rodzaju poleceń UAC i być w stanie go uruchomić bez uprawnień UAC. Ten kod zgłasza "UnauthorizedAccessException". Co jest nie tak?
poważaniem, arebokert
EDIT
Jak David i Hans w komentarzach wskazał, ten problem był spowodowany coś blokuje mi zmianę klucza. Dowiedziałem się, że to był program antywirusowy comodo, więc go wyłączyłem. To sprawiło, że aplikacja działała prawidłowo. Dziękuję za wszystkie odpowiedzi!
Prawa dostępu mogą być nadpisane na każdym pojedynczym kluczu przez administratora. Ten znajdzie się wysoko na liście. Uruchom regedit.exe, kliknij prawym przyciskiem myszy, Uprawnienia. –
To nie jest opłacalne rozwiązanie dla mnie Obawiam się. Ta aplikacja będzie działać również na innych moich komputerach, więc zmiana uprawnień na każdym komputerze nie jest opcją. Dzięki za twoją radę. – arebokert
@arebokert To nie jest to, co mówi Hans. Hans sugeruje, że jest możliwe, że twój rejestr został zabezpieczony z uprawnieniami, które odmawiają ci praw użytkownika do robienia tego, co próbujesz. W takim przypadku nie pomoże żadna ilość prośby o inne rozwiązania. Jeśli zabezpieczenie uniemożliwia dostęp, nie można go obejść. Gdybyś mógł, nie byłby, um, bezpieczny. –