Вверх ↑
Этот топик читают: Гость
Ответов: 34
Рейтинг: 0
#1: 2018-07-27 08:16:17 ЛС | профиль | цитата
Вопрос, как дать права админа для программы? как будто мы нажимаем на нее правой кнопкой - запуск от имени администратора
Искал по форуму нашел какой то компонент админ апп, но так и не понял как он работает, и подойдет ли он мне.

Пока пользуюсь сторонним способом, через bat to exe создаю еще один exe в который встраиваю прогу, и в настройках указываю запускать от имени админа, все работает, но хотелось бы избежать такого геморроя)

Как то встречал на форуме код который при добавление в проект добавляет такие права, но че то потерял.
карма: 0

0
Главный модератор
Ответов: 2999
Рейтинг: 396
#2: 2018-07-27 10:53:46 ЛС | профиль | цитата
То есть можно перефразировать Ваш пост так: "Самому искать нужную мне информацию влом - найдите кто-нибудь за меня."
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0
Ответов: 4630
Рейтинг: 749
#3: 2018-07-27 11:53:09 ЛС | профиль | цитата
Компонент WinExec, свойство Action='runas', Filename=<путь к программе>, выполнить метод doShellExec
карма: 26

0
Ответов: 34
Рейтинг: 0
#4: 2018-07-27 12:03:23 ЛС | профиль | цитата
Nic писал(а):
То есть можно перефразировать Ваш пост так: "Самому искать нужную мне информацию влом - найдите кто-нибудь за меня."

Что за глупости? говорю же искал, ненашел ничего кроме админ апп, но он я так понял для того что бы окно появлялось UACа, а мне немного другое надо.
Netspirit писал(а):
Компонент WinExec, свойство Action='runas', Filename=<путь к программе>, выполнить метод doShellExec

Не совсем пойму, вы мне предлагаете сделать программу для запуска моей программы от админа?)
И насколько я помню runas работает только если указано конкретное имя пользователя, а прогу запускаю на разных пк, с разными учетками.


Сделал прогу для синхронизации времени, но без прав админа время не синхронизирует, описанным выше способом все работает(с bat to exe) но уверен что есть способ сделать это как то из самой программы.
карма: 0

0
Ответов: 4630
Рейтинг: 749
#5: 2018-07-27 12:17:16 ЛС | профиль | цитата
ZloiDed писал(а):
вы мне предлагаете сделать программу для запуска моей программы от админа?
Да, поскольку это наиболее частый вопрос применительно к HiAsm. Можно положить рядом с файлом программы manifest - тогда система сама будет спрашивать повышение прав. Все остальные способы описаны в документации к операционной системе (отключение UAC, запуск в качестве службы, запуск через планировщик с повышенными правами).
UAC был придуман для повышения безопасности системы. И если программа будет получать полные права в обход UAC - значит, это проблема, и разработчики ОС её устранят.

ZloiDed писал(а):
насколько я помню runas работает только если указано конкретное имя пользователя
До Windows Vista. В Windows Vista и новее при включенном UAC появляется запрос повышения привилегий (если пользователь не админ - то окно входа под другим пользователем). Если UAC отключен - повышение без запроса (или другое, в зависимости от политик безопасности). То-есть, аналогично пункту меню "Запуск с правами администратора".
Для зупска от имени другого пользователя в Windows Vista+ используется команда 'runasuser'.

Редактировалось 2 раз(а), последний 2018-07-27 12:24:47
карма: 26

0
Ответов: 34
Рейтинг: 0
#6: 2018-07-27 12:29:55 ЛС | профиль | цитата
Netspirit писал(а):
ZloiDed писал(а):
вы мне предлагаете сделать программу для запуска моей программы от админа?
Да, поскольку это наиболее частый вопрос применительно к HiAsm. Все остальные способы описаны в документации к операционной системе (отключение UAC, запуск в качестве службы, запуск через планировщик с повышенными правами).
UAC был придуман для повышения безопасности системы. И если программа будет получать полные права в обход UAC - значит, это проблема, и разработчики ОС её устранят.

ZloiDed писал(а):
насколько я помню runas работает только если указано конкретное имя пользователя
До Windows Vista. В Windows Vista и новее при включенном UAC появляется запрос повышения привилегий (если пользователь не админ - то окно входа под другим пользователем). Если UAC отключен - повышение без запроса (или другое, в зависимости от политик безопасности). То-есть, аналогично пункту меню "Запуск с правами администратора".
Для зупска от имени другого пользователя в Windows Vista+ используется команда 'runasuser'.


Я понял, значит придется дальше пользоваться через сторонний софт, странно только то что он умеет давать права админа экзешнику без каких либо запросов, а сам HIASM не умеет)
карма: 0

0
Ответов: 4630
Рейтинг: 749
#7: 2018-07-27 12:41:12 ЛС | профиль | цитата
Что за софт? Если он при установке устанавливает свою службу, которой передаёт команду на запуск от имени системы - ничего удивительного. Очень "классная" фича, любой вирусописатель будет просто счастлив: посылаешь команду службе и оп - уже админ.
карма: 26

0
Ответов: 34
Рейтинг: 0
#8: 2018-07-27 13:51:08 ЛС | профиль | цитата
Netspirit писал(а):
Что за софт? Если он при установке устанавливает свою службу, которой передаёт команду на запуск от имени системы - ничего удивительного. Очень "классная" фича, любой вирусописатель будет просто счастлив: посылаешь команду службе и оп - уже админ.

Я выше указал же Bat to Exe прога, в ней можно поставить галочку запускать с правами админа или юзера, служб не никаких не ставит)
карма: 0

0
Ответов: 4630
Рейтинг: 749
#9: 2018-07-27 15:10:50 ЛС | профиль | цитата
ZloiDed писал(а):
Bat to Exe прога, в ней можно поставить галочку
И что, даже при включенном UAC не выскакивает окно подтверждения запуска с повышенными привилеями?
Судя по скриншоту программы, галочка "Request administrator privileges" значит, что при запуске программы появляется окно UAC для подтверждения. Реализуется это расположением файла *.manifest рядом с программой, либо помещение его в ресурсы исполняемого файла. Пример файла манифеста можно найти в интернете.

Редактировалось 1 раз(а), последний 2018-07-27 15:14:35
карма: 26

0
Ответов: 34
Рейтинг: 0
#10: 2018-07-27 15:42:09 ЛС | профиль | цитата
Netspirit писал(а):
ZloiDed писал(а):
Bat to Exe прога, в ней можно поставить галочку
И что, даже при включенном UAC не выскакивает окно подтверждения запуска с повышенными привилеями?
Судя по скриншоту программы, галочка "Request administrator privileges" значит, что при запуске программы появляется окно UAC для подтверждения. Реализуется это расположением файла *.manifest рядом с программой, либо помещение его в ресурсы исполняемого файла. Пример файла манифеста можно найти в интернете.


Ну можно ли подобное реализовать в HIASM? Я не утверждаю что не выскакивает на 100% возможно на тех 200 компах что я проверял UAC отключен, но всеравно маловероятно что это так)
карма: 0

0
Ответов: 4630
Рейтинг: 749
#11: 2018-07-29 12:57:17 ЛС | профиль | цитата
ZloiDed писал(а):
Ну можно ли подобное реализовать в HIASM?
Реализовать что? Чтобы при запуске программы система автоматически спрашивала разрешения на запуск с правами админа (при включенном UAC, при выключенном - молча запускалась с максимальными привилегиями)? Нужно сторонним редактором ресурсов в исполняемый файл поместить *.manifest (найти в интернете).

Можно доработать компонент Version (или XPStyle), чтобы он умел добавлять такой манифест в программу.

ZloiDed писал(а):
возможно на тех 200 компах что я проверял UAC отключен
Проверь, чтобы мы здесь не переливали из пустого в порожнее, пытаясь выяснить что требуется.
карма: 26

0
Ответов: 20
Рейтинг: 5
#12: 2018-07-29 13:02:08 ЛС | профиль | цитата
Где-то находил описание на включение в реестре
использования *.manifest файлов которые лежат рядом с приложением
Тоесть я так понял с какого-то момента мелкософтовцы
по соображениям безопасности запретили использование внешних *.manifest, а в старых(насколько?) ОС это всё ещё работает.

upd: немного покопавшись понял что манифест положенный рядом таки работает, но только если для этого "EXENAME с параметрами DATETIMESTAMP" ещё не было создано манифеста в каком-то кэше.. если такое произошло - хана, используется то что в кэше..

Редактировалось 4 раз(а), последний 2018-07-29 13:57:53
карма: 0

0
12
Сообщение
...
Прикрепленные файлы
(файлы не залиты)