| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > UAC |
| Автор: Racer 13.8.2010, 20:20 |
| Добрый вечер. Помогите пожалуйста в моем вопросе. У меня есть программа. ее необходимо иногда обновлять. для этого есть 2ой ехе который качает и заменяет файлы. НО на висте и 7 папка Програм Файлс защищена и вносить туда просто так изменения нельяз. Если запущу от имена админа- то все хорошо. вопрос: как заставить программц запускаться от имени админа. лазию по инету 2 день, не могу решить проблему. пробовал манифест - не выходит. Очень надо, помогите пожалуйста. |
| Автор: CodeMonkey 13.8.2010, 22:22 |
| Ваш установщик, который ставит программу, будет работать от админа. Так вот он должен добавить вашу обновлялку в планировщик заданий для периодического запуска из под админа. |
| Автор: Racer 13.8.2010, 23:03 |
| Как это сделать, я собирал все InnoSetup ом? |
| Автор: Racer 13.8.2010, 23:47 |
| И еще. Планировщик заданий может быть выключен. Надо что другое, конкретно вызвать это окно UAC на повышение прав. У Jedi есть такое. там спец аналог шелекезкют. но я не смог сделать, т.к. не вышло поставить все о него на delphi 2010. Помогите пожалуйста, горю |
| Автор: Racer 14.8.2010, 09:13 |
| Я уже разобрался. а вообще то каждый раз окошка не будет. для этого у меня специальный алгоритм. сама программа проверяет апедйт. если есть, то выдает мессагу на перегруз проги. она выключается и запускает апдейтер. он с правами админа. все заменяет и опять запускает прогу. |
| Автор: Akella 14.8.2010, 16:08 |
А разве при запуске дистрибутива, сделанного тобой, винда не предлагает запустить его с правами админа? Кстати, в настройках ISTool есть переключатель, типа "Требуются права администратора". |
| Автор: drkot 24.8.2010, 00:24 |
ох уж эти алгоритмы... планировщик не лучшее решение, если не худшее. - требует отдельный апдейтер - крутится даже если программа не используется (что не всегда хорошо) - для создания задания типа run as понадобится вводить пароль приего создании, что тоже не зер гуд зя... но нужно хитряй пируэт проделать А в целом тема очень интересна, тк решения пока на форуме НЕТ, да и в инете тоже не особо... |
| Автор: CodeMonkey 24.8.2010, 00:40 | ||||
Планировщик - отличное решение: Кто мешает запустить MyApp.exe /checkupdate?
Вы хотели сказать: "запускается раз в месяц и не грузит систему в остальное время"?
Какой пароль? Установщик программы создаёт задание в планировщике, чтобы он выполнял обновление от имени Local System. Хотите сказать, что у установщика может не быть админских прав? Ну так они тогда не нужны будут и для обновления - тогда и вопрос не стоит. |
| Автор: drkot 24.8.2010, 02:03 |
| CodeMonkey, это уже религия... и спорить смысла нет. но в жизни не все так радужно... и узать планировщик удобно краене редко (это имхо) для нормальной работы системы обновления надо проверять раз в день, чтобы гарантированно обновиться сразу, тк программа может быть завязана на сервер либо другие звенья, а тянуть за собой совместимость не есть хорошее решение (ms именно за это и жалуют, хотя и пользуют). например я не встречал программ которые так делают... + меня раздражает когда какаято га...сь прописалась кудато там и вдруг (спустя месяц а то и больше после того как я ее запускал) кудато там лезет... вот если она мне понадобится когда нибудь, тогда и проверим обновление если надо... а может меня и старая версия устраивает... или это способ напомнить мне что я вовремя не снес надоедливую программу? Другое дело это обновление в корпоративных сетях. Где нужно делать все массово и тихо, чтоб админ по этажам не бегал и юзверей не дергал... юзверь запустил арм, он тут же подтялул обновление и порядок (тоесть по необходимости), а не тогда когда планировщик решит... может к тому времени на сервере приложений уже новый набор комманд будет... тогда юзеру обломинся, а админ совершит пробежку в лучшем случае на соседний этаж в худшем на другой конец города. А когда вернется с пониманием причин происходящего не постесняется изложить все мысли, которые пришли в его светлую голову в пробках, уважаемым програмерам; при этом не навязчиво стараясь узнать кто же все таки придумал такуюсистему обновления, чтобы выразить глубокое уважение и отрубить этому резвому бойцу доступ к корпоративной порнухе... много букв... много слов, но все та же религия... нет универсальных решений. под каждую задачу свое решение. Добавлено через 3 минуты и 57 секунд к стати, пароль все же нужен... причем его нужно именно указать, и не достаточно находится под админской учеткой... или Вы занаете другой способ? |