|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » (solved) RunOnceEx и WHS |
|
|
(solved) RunOnceEx и WHS
|
Пользователь Сообщения: 73 |
Профиль | Отправить PM | Цитировать
Добрай всем день. Возможно то, о чем я спрошу, уже обсуждалось на форуме, однако я этого, к сожалению, не нашел.
Делаю 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 |
(*.*) Сообщения: 36549
|
Профиль | Сайт | Отправить PM | Цитировать UnDetect
Это видимо вы мне задавали вопрос по эл. почте, забыв упомянуть, что тема уже создана... Непонятен следующий моемнт. Цитата:
Если же нужно узнать какое значение находится в определенном ключе реестра, то можно использовать команду FOR в сочетании с REG QUERY. Вот, например, фрагмент из HotFixes Installer VseDoFeni, в котором он определяет установлена ли XP и установлен ли на нее SP2 FOR /F "usebackq tokens=* delims==" %%i IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentVersion`) do set CV=%%i IF %CV:~-3%==5.1 FOR /F "usebackq skip=4 tokens=4*" %%i IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CSDVersion`) do set CSDV=%%j |
|
------- Отправлено: 01:32, 15-12-2005 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Сообщения: 53456
|
Профиль | Отправить PM | Цитировать UnDetect
Цитата:
при следующем логоне - это при втором логоне? или при первом? |
|
Отправлено: 10:16, 15-12-2005 | #3 |
Пользователь Сообщения: 73
|
Профиль | Отправить PM | Цитировать Petya V4sechkin:
Цитата:
|
|
Отправлено: 14:45, 15-12-2005 | #4 |
Пользователь Сообщения: 73
|
Профиль | Отправить PM | Цитировать Vadikan:
Цитата:
По поводу REG QUERY - ну руки у меня кривые, не могу я подобрать подходящих ключиков. Либо "ERROR: More data is available.", либо "End of search: 0 match(es) found." |
|||
Отправлено: 15:48, 15-12-2005 | #5 |
Сообщения: 53456
|
Профиль | Отправить PM | Цитировать UnDetect
Цитата:
скажем, если в Cmdlines.txt вставить строчку "wscript.exe Myscript.vbs", неужели оно не сработает? Что-то не верится. Далее, может, вместо "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Common Programs" использовать "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common Programs"? Если так уж хочется через батник, то пожалуйста: @Echo Off SetLocal EnableExtensions ChCP 1251 >nul For /F "UseBackQ Tokens=3 Delims= " %%I In (`Reg Query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /V "Common Programs"`) Do Set V=%%I Reg Add "HKCU\Environment" /V COMMONPROGRAMSLNK /D "%V%" /F >nul ChCP 866 >nul Exit Кодовые страницы приходится менять (иначе крякозябры будут в русской винде). А если через VBS, то так: Неужели не работает? |
|
------- Последний раз редактировалось Petya V4sechkin, 15-12-2005 в 18:58. Отправлено: 18:38, 15-12-2005 | #6 |
Пользователь Сообщения: 73
|
Профиль | Отправить PM | Цитировать проверяю вариан "wscript.exe Myscript.vbs"
Сервер сценариев Windows: Цитата:
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Common Programs" не спасает |
|
Последний раз редактировалось UnDetect, 15-12-2005 в 20:21. Отправлено: 19:05, 15-12-2005 | #7 |
Сообщения: 53456
|
Профиль | Отправить PM | Цитировать Надо же..
Кстати, прошу прощения, там же REG_EXPAND_SZ Ну вот тебе 6 вариантов, хоть один должен работать :) Если на T-12 не пашут, придется после первого логона запускать. Дело в том, что на T-12 Explorer еще не запущен, поэтому многих записей в реестре попросту не существует. 1) батник: @Echo Off SetLocal EnableExtensions ChCP 1251 >nul For /F "UseBackQ Tokens=3 Delims= " %%I In (`Reg Query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /V "Common Programs"`) Do Set V=%%I Reg Add "HKCU\Environment" /V COMMONPROGRAMSLNK /T REG_EXPAND_SZ /D "%V%" /F >nul ChCP 866 >nul Exit @Echo Off SetLocal EnableExtensions ChCP 1251 >nul For /F "UseBackQ Tokens=3 Delims= " %%I In (`Reg Query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /V "Common Programs"`) Do Set V=%%I Reg Add "HKCU\Environment" /V COMMONPROGRAMSLNK /T REG_EXPAND_SZ /D "%V%" /F >nul ChCP 866 >nul Exit @Echo Off Reg Add "HKCU\Environment" /V COMMONPROGRAMSLNK /T REG_EXPAND_SZ /D "%ALLUSERSPROFILE%\Главное меню\Программы" /F >nul Exit @Echo Off Reg Add "HKCU\Environment" /V COMMONPROGRAMSLNK /T REG_EXPAND_SZ /D "%%ALLUSERSPROFILE%%\Главное меню\Программы" /F >nul Exit Dim Sh Set Sh = WScript.CreateObject("WScript.Shell") Sh.RegWrite "HKCU\Environment\COMMONPROGRAMSLNK", Sh.SpecialFolders("AllUsersPrograms"), "REG_EXPAND_SZ" Батники все для русской винды, если английская, то поменять соответственно.. |
------- Последний раз редактировалось Petya V4sechkin, 15-12-2005 в 21:13. Отправлено: 20:58, 15-12-2005 | #8 |
Пользователь Сообщения: 73
|
Профиль | Отправить PM | Цитировать Батник не пробовал, а вот по VBS имеем следующее:
Цитата:
|
|
Отправлено: 12:21, 16-12-2005 | #9 |
Сообщения: 53456
|
Профиль | Отправить PM | Цитировать UnDetect
Вообще-то варианты номер 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%\Главное меню\Программы" Для английской винды заменить "Главное меню\Программы" на "Start Menu\Programs". |
------- Отправлено: 09:26, 17-12-2005 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
(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 |
|