VBScript не может редактировать реестр по умолчанию в Vista. Как получить повышение (даже если пользователю нужно что-то делать при запуске сценария), чтобы сценарий мог редактировать реестр?
Ошибка:
---------------------------
Windows Script Host
---------------------------
Script: blah blah blah.vbs
Line: 6
Char: 1
Error: Permission denied
Code: 800A0046
Source: Microsoft VBScript runtime error
---------------------------
OK
---------------------------





Чтобы заставить его работать с собственным VBScript, вам, скорее всего, понадобится сертификат подписи кода, которым вы подписываете свой скрипт. Более подробная информация находится в этой ветке на tek-tips.com.
Вы можете попробовать записать предполагаемые изменения в файл .reg и вызвать regedit.exe с этим. Может это срабатывает UAC. Однако не пробовал. У меня сейчас нет Vista. :-)
Насколько я понимаю, вы можете редактировать HKCU как обычный пользователь, но другие были ограничены. Я могу ошибаться. Тем не менее, есть несколько примеров здесь, которые делают то, что вы хотите.
Кроме того, я ковырялся в HKLM, поэтому, наверное, мне и понадобился подъем.
В Windows XP была возможность «Запуск от имени ...», когда вы щелкали программу правой кнопкой мыши (например, ярлык для командной строки). В Vista нет чего-то вроде этого, «Запуск от имени администратора» или чего-то подобного.
Сделать это в командной строке, а затем заставить их запустить сценарий из командной строки?
Это отлично сработало. Я использовал первый метод, с одной оговоркой, он меняет рабочий каталог скрипта.