2011-01-30 9 views
10

Myślałem, że potrzebuję praw administratora do zmiany rejestru (otrzymuję błędy, jeśli moja aplikacja tego nie robi). Być może tylko część rejestru wymaga uprawnień administratora.Zmiana rejestru bez uprawnień administratora

Czy możesz podać jakieś informacje? Muszę gdzieś przechowywać moje dane aplikacji bez uprawnień administratora.

Odpowiedz

15

Potrzebujesz uprawnień administratora, aby pisać w lokalizacjach współużytkowanych przez wielu użytkowników.
W systemie plików oznacza to foldery takie jak \WINDOWS lub \Program Files. W rejestrze oznacza to wszystkie ule, które nie są przeznaczone dla poszczególnych użytkowników.

Dlatego można pisać tylko pod numerem HKEY_CURRENT_USER.
W szczególności należy napisać do: HKCU\Software\Your Company.

+1

Przez "W szczególności należy pisać do HKCU \ Software \ Your Company" oznacza to, że jest to jedyne miejsce, w którym można pisać bez uprawnień administracyjnych lub że można pisać wszędzie w ramach HKCU, ale zaleca się zrobić? –

+0

@Saysmaster: The last. – SLaks

+0

Cóż, pomyślałem też to samo.Ale wpadłem w ten problem ... W maszynie wygrywającej 7 64 uruchamiam setup msi, stworzony przeze mnie w VS 2010, pod kontem użytkownika bez uprawnień administratora. W tym msi ustawiłem niektóre wartości rejestru w HKCU ... Ale to nie wykonałoby. Poprosił mnie o prawa administracyjne. Usunięcie ustawień rejestru z msi, wszystko poszło gładko, aplikacja została zainstalowana, ale bez ustawień w HKCU. Zauważyłem, że to naprawdę dziwne, ponieważ wszyscy są całkiem pewni, że nie potrzebujesz uprawnień administratora w ramach HKCU. Tak samo jak pisałem w podkluczu mojej firmy –

3

Zaloguj się jako zwykły użytkownik bez uprawnień administratora. Otwórz regedit, kliknij prawym przyciskiem myszy klucze najwyższego poziomu i sprawdź uprawnienia dla każdego, zobaczysz, które z nich możesz zapisać jako użytkownik. Zasadniczo jest to po prostu HKEY_CURRENT_USER, jak mówi SLaks.

HKEY_LOCAL_MACHINE jest na przykład niedostępna. Możesz napisać do HKEY_USERS/SID twojego użytkownika, ponieważ HKCU jest po prostu jego obrazem.

+2

HKCU to _alias_ na to. Są one wspierane przez ten sam plik na dysku. – SLaks

Powiązane problemy