Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать привилегии в системе под пользователем? [D7, WinXP]


Gear ©   (2006-12-19 19:30:00) 

Как узнать запущена ли программа под администратором в системе или нет?


Gear   (2006-12-20 12:33:00) [1]

Внутри инсталлятора сидит инсталлятор Windows Installer, который требует админских прав и не устанавливается.


Rouse_   (2006-12-20 10:57:00) [2]


> Необходимо, чтобы программа ещё до закачки инсталлятора
> знала, что у инсталлятора не будет админских прав.

Не факт, тот же Install Shield запущен от SYSTEM, не важно под какой учеткой он находиться...


Gear   (2006-12-20 09:59:00) [3]

Да, сделал, но! Необходимо, чтобы программа ещё до закачки инсталлятора знала, что у инсталлятора не будет админских прав.


Eraser   (2006-12-19 23:50:00) [4]

> [12] Gear   (19.12.06 23:42)

всеэто можно сделать через InnoSetup, в.ч. и определение админских прав.


Gear   (2006-12-19 23:42:00) [5]

Вобщем смысл такой:
Программа должна определить админские ли права у юзера, под которым она запущена или нет и если да, то:
1) скачать из сети апдейт(инсталлятор);
2) инсталлятор этот должен уметь:
   а) устанавливать в систему dll (в system32);
   б) регистрировать в системе COM-объекты;
   в) создавать в юзерских папках др. папки;
   г) устанавливать др инсталляторы (Windows Installer и др.)
На всё это админские права нужны.
Если программа запущена не из-под админа, то она должна знать это и не качать апдейт (тот самый инсталлятор).


oxffff   (2006-12-19 23:12:00) [6]


> Gear   (19.12.06 19:30)  
> Как узнать запущена ли программа под администратором в системе
> или нет?


Опять синенькая книжка Рихтера "Программирование серверных приложений ..."


Desdechado   (2006-12-19 21:54:00) [7]

админ компа или домена?
какие именно привилегии ты считаешь админскими?


Gear   (2006-12-19 21:51:00) [8]

а что за unit для этой функции? в shlobj нет его


Eraser   (2006-12-19 21:47:00) [9]

> [6] Gear   (19.12.06 21:29)

в целом он работает (наверное), но будет выдавать true, даже если админский token является ограниченным, что ни есть гуд.
все таки советую [3], если программа не будет использоваться под NT4.


trubin   (2006-12-19 21:32:00) [10]


> в примере ошибка, вернее недоработка.

Дык я его особо и не смотрел... .


Gear   (2006-12-19 21:29:00) [11]

А чё там? У меня пример не работает :(


Eraser   (2006-12-19 21:03:00) [12]

> [4] trubin ©   (19.12.06 20:48)

в примере ошибка, вернее недоработка.


trubin   (2006-12-19 20:48:00) [13]

http://www.delphiworld.narod.ru/base/is_admin.html


Eraser   (2006-12-19 20:43:00) [14]

> [2] Gear   (19.12.06 20:40)

IsUserAnAdmin (начиная с win2k).


Gear   (2006-12-19 20:40:00) [15]

Ага, либо администратор ОС (или юзер с его привелегиями) либо всё остальное. Такую проверочку надо.


Desdechado   (2006-12-19 20:20:00) [16]

администратором чего?
привилегии на что?

или у тебя только 2 состяния - все/ничего?


Наверх

Титульная страница Поиск, карта сайта Написать письмо