2011-08-17 13 views
6

Mam instalator, który chciałbym uruchomić ze skryptu. Instalator żąda podniesienia UAC, ale nie wymaga podniesienia, ponieważ instaluję go w katalogu użytkownika. Czy istnieje jakiś sposób uruchomienia instalatora, aby nie żądał podniesienia UAC?Czy mogę zatrzymać plik wykonywalny z żądaniem podniesienia UAC?

Skrypt jest napisany w języku Python, więc mogę uzyskać dostęp do interfejsu API systemu Windows za pośrednictwem ctypes.

Zmiana instalatora nie jest opcją.

+0

Jaki to jest instalator? Może to być duplikat: http://stackoverflow.com/questions/252871/make-uac-optional-in-windows-installer-on-vista –

+0

@John to exe utworzone przez Inno Setup. –

+2

[To pytanie dla superużytkownika] (http://superuser.com/questions/24631/prevent-elevation-uac-for-an-application-the-doesnt-need-it) wydaje się być relevang. –

Odpowiedz

4

Musisz ustawić enviromnet zmienną __COMPAT_LAYER dla procesu RunAsInvoker. Następnie możesz uruchomić plik wykonywalny bez monitu UAC. W tym celu można użyć funkcji API Windows SetEnvironmentVariable.

+0

Norbert, mógłbyś wyświadczyć mi przysługę i wysłać tę samą odpowiedź na moje pytanie: http://stackoverflow.com/questions/7004310/bypassing-elevation-when-launching-a-new-process system narzeka, ponieważ ja mam 't przyjął odpowiedź :-) –

+0

Odpowiedziałem na twoje pytanie. –

Powiązane problemy