![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Racer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 28.6.2009 Репутация: нет Всего: нет |
Добрый вечер. Помогите пожалуйста в моем вопросе. У меня есть программа. ее необходимо иногда обновлять. для этого есть 2ой ехе который качает и заменяет файлы. НО на висте и 7 папка Програм Файлс защищена и вносить туда просто так изменения нельяз. Если запущу от имена админа- то все хорошо. вопрос: как заставить программц запускаться от имени админа. лазию по инету 2 день, не могу решить проблему. пробовал манифест - не выходит. Очень надо, помогите пожалуйста.
|
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Ваш установщик, который ставит программу, будет работать от админа. Так вот он должен добавить вашу обновлялку в планировщик заданий для периодического запуска из под админа.
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Racer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 28.6.2009 Репутация: нет Всего: нет |
Как это сделать, я собирал все InnoSetup ом?
|
|||
|
||||
| Racer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 28.6.2009 Репутация: нет Всего: нет |
И еще. Планировщик заданий может быть выключен. Надо что другое, конкретно вызвать это окно UAC на повышение прав.
У Jedi есть такое. там спец аналог шелекезкют. но я не смог сделать, т.к. не вышло поставить все о него на delphi 2010. Помогите пожалуйста, горю |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Я не знаю. InnoSetup позволяет запустить программу во время установки или там есть скриптовый язык какой-то? Проще всего создать задачу через командную строку, но не уверен, есть ли там все возможности. Метод посложнее - через API (под Delphi в JCL есть оболочка в JclTasks). Это в Висте-то и выше? Ну тогда с таким же успехом могут отключить и вашу индивидуальную обновлялку. Т.е. вас устроит всплывающее окошко каждый раз, когда ваша программа решит обновиться? Я-то вам пытаюсь предложить способ без окошка.
Ещё раз и по-русски. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Racer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 28.6.2009 Репутация: нет Всего: нет |
Я уже разобрался. а вообще то каждый раз окошка не будет. для этого у меня специальный алгоритм. сама программа проверяет апедйт. если есть, то выдает мессагу на перегруз проги. она выключается и запускает апдейтер. он с правами админа. все заменяет и опять запускает прогу.
|
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
||||
|
||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 5 Всего: 8 |
ох уж эти алгоритмы... планировщик не лучшее решение, если не худшее. - требует отдельный апдейтер - крутится даже если программа не используется (что не всегда хорошо) - для создания задания типа run as понадобится вводить пароль приего создании, что тоже не зер гуд зя... но нужно хитряй пируэт проделать А в целом тема очень интересна, тк решения пока на форуме НЕТ, да и в инете тоже не особо... -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
| CodeMonkey |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 38 Всего: 89 |
Планировщик - отличное решение: Кто мешает запустить MyApp.exe /checkupdate?
Вы хотели сказать: "запускается раз в месяц и не грузит систему в остальное время"?
Какой пароль? Установщик программы создаёт задание в планировщике, чтобы он выполнял обновление от имени Local System. Хотите сказать, что у установщика может не быть админских прав? Ну так они тогда не нужны будут и для обновления - тогда и вопрос не стоит. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
||||
|
|||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: 5 Всего: 8 |
CodeMonkey, это уже религия... и спорить смысла нет.
но в жизни не все так радужно... и узать планировщик удобно краене редко (это имхо) для нормальной работы системы обновления надо проверять раз в день, чтобы гарантированно обновиться сразу, тк программа может быть завязана на сервер либо другие звенья, а тянуть за собой совместимость не есть хорошее решение (ms именно за это и жалуют, хотя и пользуют). например я не встречал программ которые так делают... + меня раздражает когда какаято га...сь прописалась кудато там и вдруг (спустя месяц а то и больше после того как я ее запускал) кудато там лезет... вот если она мне понадобится когда нибудь, тогда и проверим обновление если надо... а может меня и старая версия устраивает... или это способ напомнить мне что я вовремя не снес надоедливую программу? Другое дело это обновление в корпоративных сетях. Где нужно делать все массово и тихо, чтоб админ по этажам не бегал и юзверей не дергал... юзверь запустил арм, он тут же подтялул обновление и порядок (тоесть по необходимости), а не тогда когда планировщик решит... может к тому времени на сервере приложений уже новый набор комманд будет... тогда юзеру обломинся, а админ совершит пробежку в лучшем случае на соседний этаж в худшем на другой конец города. А когда вернется с пониманием причин происходящего не постесняется изложить все мысли, которые пришли в его светлую голову в пробках, уважаемым програмерам; при этом не навязчиво стараясь узнать кто же все таки придумал такуюсистему обновления, чтобы выразить глубокое уважение и отрубить этому резвому бойцу доступ к корпоративной порнухе... много букв... много слов, но все та же религия... нет универсальных решений. под каждую задачу свое решение. Добавлено через 3 минуты и 57 секунд к стати, пароль все же нужен... причем его нужно именно указать, и не достаточно находится под админской учеткой... или Вы занаете другой способ? -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |