Udostępnij za pośrednictwem


Jak kontrola konta użytkownika (UAC) wpływa na aplikację?

Kontrola konta użytkownika (UAC) to funkcja systemu Windows Vista, w której konta użytkowników mają ograniczone uprawnienia. Szczegółowe informacje o kontroli dostępu użytkownika można znaleźć w następujących witrynach:

Kompilowanie projektów po włączeniu kontroli dostępu użytkownika

Jeśli tworzysz projekt programu Visual Studio C++ w systemie Windows Vista z wyłączoną funkcją kontrola konta użytkownika, a później włączysz funkcję kontrola konta użytkownika, musisz wyczyścić i ponownie skompilować projekt, aby działał poprawnie.

Aplikacje wymagające uprawnień administracyjnych

Domyślnie konsolidator visual C++ osadza fragment kontroli dostępu użytkownika w manifeście aplikacji z poziomem asInvokerwykonywania . Jeśli aplikacja wymaga, aby uprawnienia administracyjne działały poprawnie (na przykład jeśli modyfikuje węzeł HKLM rejestru lub jeśli zapisuje w chronionych obszarach dysku, takich jak katalog systemu Windows), należy zmodyfikować aplikację.

Pierwszą opcją jest zmodyfikowanie fragmentu interfejsu użytkownika manifestu w celu zmiany poziomu wykonywania w celu wymaganiaadministratora. Aplikacja wyświetli monit o podanie poświadczeń administracyjnych przed jego uruchomieniem. Aby uzyskać informacje o tym, jak to zrobić, zobacz /MANIFESTUAC (Osadza informacje O kontroli użytkownika w manifeście).

Drugą opcją jest nie osadzenie fragmentu kontroli dostępu użytkownika w manifeście przez określenie opcji konsolidatora /MANIFESTUAC:NO . W takim przypadku aplikacja zostanie uruchomiona zwirtualizowane. Wszelkie zmiany wprowadzone w rejestrze lub w systemie plików nie będą utrwalane po zakończeniu aplikacji.

Poniższy schemat blokowy opisuje sposób działania aplikacji w zależności od tego, czy kontrola konta użytkownika jest włączona i czy aplikacja ma manifest kontroli dostępu użytkownika:

Schemat blokowy zachowania modułu ładującego systemu Windows.

Zobacz też

Najlepsze rozwiązania w zakresie zabezpieczeń