Все, что вам нужно сделать, это использовать команду runas
для запуска вашей программы от имени администратора (с предупреждением).
runas /user:Administrator "cmdName parameters"
В моем случае это было
runas /user:Administator "cmd.exe /C %CD%\installer.cmd %CD%"
Обратите внимание, что вы должны использовать кавычки, иначе команда runas сожрет опцию переключателя до cmd.
Также обратите внимание, что административная оболочка (cmd.exe) запускается в папке C: \ Windows \ System32. Это не то, что я хотел, но было достаточно легко передать текущий путь к моему установщику и ссылаться на него, используя абсолютный путь.
Предупреждение: включить учетную запись администратора
Для использования runas таким способом требуется активировать учетную запись администратора, что не является значением по умолчанию в Windows 7 или Vista. Тем не менее, здесь - отличное руководство по его включению тремя различными способами:
Я сам включил его, открыв Администрирование , Локальная политика безопасности , затем перейдя к Локальные политики \ Параметры безопасности и изменив значение Учетные записи: Административный статус учетной записи Политика для Включено, что не является ни одним из трех способов, показанных в ссылке.
Еще более простой способ:
C:> net user Administrator /active:yes