2008-09-18 5 views
0

Есть ли способ принудительно обновить программное обеспечение с помощью RunOnce без входа администратора, если в фоновом режиме работает служба, работающая под управлением администратора?Как получить runonce для запуска без необходимости входа администратора

EDIT: Главное, что я хочу сделать, это запустить, когда RunOnce делает, I.E. перед запуском Explorer. Мне нужно иметь возможность устанавливать вещи, не загружая их в учетную запись администратора.

+0

tagged 'security', так как вы могли бы его сломать – 2008-09-19 00:01:12

ответ

2

Я не уверен, что понял вопрос. Позвольте мне попробовать:

Служба, которую вы упомянули, это ваша? Если это так, вы можете добавить к нему код для имитации Windows: из своей службы, проверить значение RunOnce и запустить исполняемый файл, который он задает. Вы можете использовать API CreateProcessAsUser(), чтобы запустить его в контексте произвольного пользователя. После запуска процесса удалите запись RunOnce.

Или я не понял ваш вопрос?

РЕДАКТИРОВАТЬ: Служба не зависит от входа пользователя. Вы можете начать процесс обновления с этой службы, как только сама служба запустится, это произойдет до того, как какой-либо реальный пользователь войдет на компьютер.

+0

Но он не будет работать, когда runonce запускается (до того, как dll's и так начнется). – 2008-09-19 03:20:51