Отключить UAC в Vista для сеанса

814
Frank V

Я пытаюсь собрать Firefox из исходного кода, и у меня возникли проблемы. Я считаю, что причина в UAC в Vista.

Этот вопрос похож на другие вопросы о UAC, но мне интересно, можно ли отключить UAC на определенный период времени (пока я создаю) или до выхода из системы.

Кто-то может сказать мне, что я могу использовать опцию «Запуск от имени администратора» для всего, что я пытаюсь сделать. Это не работает для моих целей. Мне нужно, чтобы он был полностью отключен, чтобы каждая программа, выполняемая сценарием сборки, могла запускаться с полными правами администратора. Кроме того, я уже попробовал это.

Я пытаюсь решить проблемы со сборкой, и я хотел бы полностью исключить UAC из уравнения, но я не хочу постоянно отключать UAC для всего компьютера - только когда собираюсь собирать,

Этот вопрос связан с: nsinstall: Ошибка неверного номера файла в Vista при переполнении стека.

0

2 ответа на вопрос

1
DigitalRoss

В моем окне Vista есть ярлык быстрого запуска, который запускает cygwin rxvt от имени администратора. Если вы просто используете окно с досками, вы не можете легко использовать страницу свойств совместимости, потому что Vista распознает cmd.exe, но если вы просто скопируете cmd.exe в вашу домашнюю папку («notcmd.exe»), то вы сможете запустить его "как администратор".

Я даже установил в моем приглашении% значение # by isadmin && PS1='# '.

isadmin.c:

#include <stdio.h> #define _WIN32_WINNT 0x0500 #include <windows.h>  BOOL APIENTRY CheckTokenMembership( IN HANDLE TokenHandle OPTIONAL, IN PSID SidToCheck, OUT PBOOL IsMember );   int main (int argc, char **argv) { SID_IDENTIFIER_AUTHORITY NtAuthority = ; PSID AdministratorsGroup; BOOL isAdmin;  if (AllocateAndInitializeSid (&NtAuthority, 2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &AdministratorsGroup) == 0 || CheckTokenMembership (NULL, AdministratorsGroup, &isAdmin) == 0) { printf ("failed with win32 error %lu\n", GetLastError ()); exit (2); }  FreeSid (AdministratorsGroup); exit (!isAdmin); } 
0
Nick Josevski

Похоже, что UAC в Vista довольно укоренился, и для его полного отключения требуется перезагрузка.

Есть онлайн-руководства с единственными вызовами командной строки, чтобы отключить его. Но вам нужно будет перезагрузиться, чтобы ваш сеанс контролировался вами, после того, как ваша сборка завершена, вы можете снова включить ее и перезагрузить.

Вот руководство по How- To-Geek .

Отключить команду:

C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f 

Включить команду:

C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 1 /f 
Спасибо .... Как оказалось, отключение UAC не решило проблему ... Но это полезно знать для моей будущей ссылки. Frank V 15 лет назад 0
Ах, это достаточно справедливо. Nick Josevski 15 лет назад 0