Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » (solved) RunOnceEx и WHS

Ответить
Настройки темы
(solved) RunOnceEx и WHS

Пользователь


Сообщения: 73
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 19-12-2005
Добрай всем день. Возможно то, о чем я спрошу, уже обсуждалось на форуме, однако я этого, к сожалению, не нашел.

Делаю unattended установку WindowsXP с использованием RunOnceEx. Но CMD формат меня не устраивает в силу того, что мне надо взять значение из HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Common Programs и подставить его в HKCU\Environment\COMMONPROGRAMSLNK. Все мои эксперементы с REG COPY закончились ничем в силу того, что я не понял как скопировать ExpandedStringValue из одного ключа реестра в другой. соотвественно в исходнике этот ExpandedStringValue называется Common Programs, а в приемнике COMMONPROGRAMSLNK.
Попробовал JS и VBS, но они в момент установки винды не срабатывали.

Кто что может подсказать на этот предмет?

PS: в RunOnceEx.CMD указать при запуске выполнить VBS скрипт - не прокатит, потому как переопределяются макропеременные, а видны они станут только при следующем логоне.

PPS: как в VBS реализовано вот такое сочетание символов: \"
Тупая подстановка ничего не дает кроме ошибок.
Решение

Отправлено: 17:05, 14-12-2005

 

Пользователь


Сообщения: 73
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата:
Вообще-то варианты номер 3 и 4 должны работать по-любому, даже на T-12.
Если ты так любишь VBS, то вот еще парочка:
Цитата:
Код:
Dim Sh
Set Sh = WScript.CreateObject("WScript.Shell")
Sh.RegWrite "HKCU\Environment\COMMONPROGRAMSLNK", "%ALLUSERSPROFILE%\Главное меню\Программы", "REG_EXPAND_SZ"
Цитата:
Код:
Dim Sh, Env
Set Sh = WScript.CreateObject("WScript.Shell")
Set Env = Sh.Environment("User")
Env("COMMONPROGRAMSLNK") = "%ALLUSERSPROFILE%\Главное меню\Программы"
Второй вариант более правильный. Можно заменить Environment("User") на Environment("System"), тогда это будет системная переменная (живет по адресу HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment).
Для английской винды заменить "Главное меню\Программы" на "Start Menu\Programs".
Ну не хочу я привязываться к "%ALLUSERSPROFILE%\Главное меню\Программы". В данном случае произойдет привязка к русской версии винды, а я хочу сделать универсальный скрипт, которому будет глубоко фиолетово, какой локализации система. Потому и спрашиваю, как мне подобрать универсальные команды.

Отправлено: 23:33, 18-12-2005 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Moderator


Сообщения: 53589
Благодарности: 15546

Профиль | Отправить PM | Цитировать


UnDetect
Объясню повторно, для особо непонятливых.
Цитирую себя:
Цитата:
Если на T-12 не пашут, придется после первого логона запускать. Дело в том, что на T-12 Explorer еще не запущен, поэтому многих записей в реестре попросту не существует.
Таким образом, когда ты пытаешься получить ключи из HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Common Programs, то на T-12 (CMDLINES.TXT) их еще нет. Со всеми вытекающими..

-------
«Компьютеру стало совсем худо, и он решил прекратить свои страдания».

Msgina.dll, диалог 2210


Отправлено: 09:20, 19-12-2005 | #12



Moderator


Сообщения: 53589
Благодарности: 15546

Профиль | Отправить PM | Цитировать


UnDetect
Воспользуйся вариантом номер 6, только запускай его не на T-12, а после первого логона.

Отправлено: 10:31, 19-12-2005 | #13


Пользователь


Сообщения: 73
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата:
Воспользуйся вариантом номер 6, только запускай его не на T-12, а после первого логона
Уже все...

Пример скрипта тем, кому оно надо:
Цитата:
Set Shell = WScript.CreateObject("WScript.Shell")

HKCU_CPL = array ("HKCU\Environment\COMMONPROGRAMSLNK","")
NAME = 0
VALUE = 1

HKCU_CPL(VALUE) = Shell.SpecialFolders("AllUsersPrograms")
Shell.RegWrite HKCU_CPL(NAME),HKCU_CPL(VALUE),REG_EXPAND_SZ
Кстати, логическим продолжением данного подхода является и установка софта через Shell.Run ("my_command",0,true)

Отправлено: 15:04, 19-12-2005 | #14



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » (solved) RunOnceEx и WHS

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
(solved) RunOnceEx - запуск autorun CD e9990638 Автоматическая установка Windows 2000/XP/2003 16 19-03-2006 12:57
(solved) RunOnceEx. Запускаются окна Проводника вместо установки приложений Stile Автоматическая установка Windows 2000/XP/2003 14 11-02-2006 23:25
VBS/WSH/JS - *VBS/WHS/JS* | Инсталлятор на VB DevilHaker Программирование и базы данных 1 27-01-2006 19:55
VBS/WSH/JS - *VBS/WHS/JS* | Серийный номер процессора, через WMI inul Программирование и базы данных 2 25-01-2006 15:51
(solved) Где ошибка в RUNONCEEX.CMD? Has17 Автоматическая установка Windows 2000/XP/2003 2 21-12-2005 20:09




 
Переход