Показать полную графическую версию : [решено] Добавление OEM информации - все вопросы
Страниц :
1
2
3
[
4]
5
6
7
8
9
10
11
12
NikLok
set WINNTSIF=%CDROM%\I386\winnt.sif
в принципе это помогло, окно с ошибкой не появилось....а вот лишние названия в инфе так и остались, русификация тоже не реализовалась.
vlastan
Перечитай еще раз пред пост я там изменения внес!
В частности надо убирать пробел и писать CDROM=%%d:&& goto metka
Тогда застревать не будет!
Правда у меня там сейчас другая проблема открылась. После Line4 - вывод отстуствует при работе из cmdlines.txt! При запуске из под виндов все ок!
Буду дальше ковырять!
Sanja Alone
10-10-2006, 04:03
All
В обновленном цикле определения CDROM-а была опечатка - лишний пробел (т.е., переменной CDROM присваивалось значение "буква_диска:пробел", а не "буква_диска:"). Нужно удалить пробел перед &&:
for %%d in (c d e f g h i j k l m n o p q r s t u v w x y z) do (if exist %%d:\%TAGFILE% set CDROM=%%d:&& goto metka)
NikLok
вывод отстуствует при работе из cmdlines.txt!Это и было причиной использования режима отложенного расширения переменных среды (ENABLEDELAYEDEXPANSION) - без него список апдейтов на данном этапе не формировался вовсе.
Последним же изменением в oeminfo.cmd было только goto metka в цикле определения CDROM-а. А это, по идее, никак не должно было повлиять на дальнейшие действия в файле. Хотя, в данном сл. трудно быть в чем-либо уверенным. Тем более, что установку Винды после описанного дополнения я еще не производил...
Всем спасибо! Сделал запуск oeminfo.cmd из RunOnceEx.cmd на виртуалке установилось без проблем. Винда у меня английская корпоративная + MUI, который устанавливается из cmdlines.txt видимо из-за этого и не срабатывала русификация, поэтому и решил добавлять ОЕМ инфу при первом входе в систему.
2ALL
Такой вопрос.
Хочу добавить свой логотип в свойства системы.
Для этого добавил в приведенный здесь файл команду.
copy /y oemlogo.bmp %windir%\system32
Данный батник запускается из RunOnceEx на последней стадии установки.
Все остальные команды из RunOnceEx корректно отрабатывают.
Инфа об обновлениях серийнике и тп срабатывает и отображается корректно.
Более того, если после финальной перезагрузки запустить этот батник, картинка появляется.
PS. %windir% на %systemroot% менял, не помогло.
Пытался сделать отдельный батник с этой одной командой, то же самое.
Вопрос: почему данная команда работает в установленной ОС, но не работает во время отработуи RunonceEx? когда тожу уже готовая ОС? ;)
Какие будут мнения?
Fanzuga
@echo off
xcopy "C:\TMP\OEMLOGO.BMP" "%WINDIR%\SYSTEM32\*.*" /y /q /s
exit
Sanja Alone
20-10-2006, 16:17
Fanzuga
Для этого добавил в приведенный здесь файл команду.Дело в том, что рабочий каталог запуска файла и каталог в к-ром лежит oemlogo.bmp в данном сл. не совпадают. Нужно в команде копирования указать полный путь файла oemlogo.bmp:
copy /y "%~dp0oemlogo.bmp" "%SYSTEMROOT%\SYSTEM32\"(кавычки лучше указать на случай присутствия пробелов в путях).
copy /y oemlogo.bmp %windir%\system32 а не проще ли это файл подкинуть в $OEM$\$$\system32\oemlogo.bmp , и он сам скопируется на этапе установки
Привет всем, решил привести пример своего файлика oeminfo.cmd для внесения информации в oeminfo.inf на стадии установки через метод RunOnceEx.cmd
Вася Пупкин и имя@сервер замените на нужное вам.
Ещё очень важно, чтобы в номерах строк не было пропусков, т.е 12345-верно, а 1235-неверно, после строки 3 будет пусто в oeminfo.inf.
CMDOW @ /HID
::В этом файле были использованы доработанные строки из
::файла PatcherU.cmd автором которых является
::Balobanov Aleksandr aka Vse Do Fe'Ni
::vse_do_feni@front.ru ICQ 160827696
@echo off
Color 1E
SetLocal EnableExtensions EnableDelayedExpansion
SET D=%SystemRoot%\system32\
set HF=%SystemDrive%
if exist %HF%\Updates.txt del %HF%\Updates.txt
if exist %HF%\Updates1.txt del %HF%\Updates1.txt
:;Проверяем установленную версию Windows
:;Считываем всю строку (usebackq - без кавычек) ключа "CurrentVersion" из реестра и присваеваем её переменной "CV"
FOR /F "usebackq tokens=* delims==" %%i IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CurrentVersion`) do set CV=%%i
:;Если последние 3 символа ("-3" - это отсчёт от конца строки) переменной "CV" равно 5.1, то считываем всю строку (usebackq - без кавычек) ключа "CSDVersion" и присваеваем её переменной "CSDV"
IF %CV:~-3%==5.1 FOR /F "usebackq tokens=* delims==" %%i IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v CSDVersion`) do set CSDV=%%i
:;Считываем всю строку (usebackq - без кавычек) ключа "BuildLab" из реестра и присваеваем её переменной "BUILD"
FOR /F "usebackq tokens=* delims==" %%i IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildLab`) do set BUILD=%%i
SET h=1
set N=0
echo [General] > "%D%oeminfo.ini"
echo Manufacturer=Автор сборки: Вася Пупкин >> "%D%oeminfo.ini"
echo Model=Windows XP Corporate Edition >> "%D%oeminfo.ini"
echo [OEMSpecific] >> "%D%oeminfo.ini"
echo [Support Information] >> "%D%oeminfo.ini"
echo Line%h%=Microsoft Windows XP Corporate Edition v%CV:~-3% %CSDV:~-14% >> "%D%oeminfo.ini"
SET /A h=%h%+1
echo Line%h%=Версия сборки: %BUILD:~-21% >> "%D%oeminfo.ini"
SET /A h=%h%+1
echo Line%h%= >> "%D%oeminfo.ini"
SET /A h=%h%+1
echo Line%h%=Дата установки системы: -- %date% -- >> "%D%oeminfo.ini"
SET /A h=%h%+1
echo Line%h%=Время установки системы: -- %time:~0,8% -- >> "%D%oeminfo.ini"
SET /A h=%h%+1
echo Line%h%= >> "%D%oeminfo.ini"
SET /A h=%h%+1
echo Line%h%=Support Contact: Вася Пупкин >> "%D%oeminfo.ini"
SET /A h=%h%+1
echo Line%h%=>> "%D%oeminfo.ini"
SET /A h=%h%+1
echo Line%h%=. e-mail: имя@сервер >> "%D%oeminfo.ini"
SET /A h=%h%+1
echo Line%h%= >> "%D%oeminfo.ini"
SET /A h=%h%+1
echo Line%h%=Установленные обновления: >> "%D%oeminfo.ini"
SET /A h=%h%+1
echo Line%h%= >> "%D%oeminfo.ini"
SET /A h=%h%+1
:;Считываем из реестра все установленные обновления и выводим в файл Updates.txt в директорию C:\Hotfixes
FOR /F "usebackq tokens=7 delims=\" %%i IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"`) do echo %%i >> %HF%\Updates.txt
:;Выделяем с файла Updates.txt все установленные обновления с именем "KB*" и выводим в файл Updates1.txt в директорию C:\Hotfixes
FOR /F "usebackq eol=! tokens=*" %%i IN (`find /i "KB" %HF%\Updates.txt`) do echo %%i >> %HF%\Updates1.txt
:;Далее считываем с реестра информацию о "DotNetFx 1.1" и дописываем в файл Updates1.txt
FOR /F "usebackq eol=! tokens=7* delims=\" %%i IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Updates\.NETFramework\1.1"`) do @call :prov "%%i"
:;Считываем с реестра информацию о "DotNetFx 2.0" и дописываем в файл Updates1.txt
FOR /F "usebackq eol=! tokens=7* delims=\" %%k IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Updates\Microsoft .NET Framework 2.0"`) do @call :prov1 "%%k"
:;Считываем с реестра информацию о "MSXML 6.0 Parser (KB925673)" и дописываем в файл Updates1.txt
FOR /F "usebackq tokens=* delims==" %%r IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{031816E0-7ED4-4F9B-986D-CE9E1A1CC6E5}" /v DisplayName`) do set PS=%%r
echo %PS:~-9,8% >> %HF%\Updates1.txt
:;Считываем с реестра информацию о "Клиент управления правами Windows (KB839178)" и дописываем в файл Updates1.txt
FOR /F "usebackq tokens=* delims==" %%r IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{B820A362-C3CF-411F-880B-9BF5E992B25E}" /v HelpLink`) do set CL=%%r
echo KB%CL:~-6,8% >> %HF%\Updates1.txt
:;Считываем с файла "Updates1.txt" строки и передаём их переменной "exhf" в тело цикла через переменную "i"
FOR /F "usebackq skip=1 tokens=*" %%i IN (%HF%\Updates1.txt) do call :inspatch "%%i"
goto :end
:inspatch
set exhf=%~1
echo Line%h%=%exhf:~0,8% >> "%D%oeminfo.ini"
SET /A h=%h%+1
SET /A N+=1
goto :eof
:end
echo Line%h%= >> "%D%oeminfo.ini"
SET /A h=%h%+1
echo Line%h%=Всего обновлений %N% шт. >> "%D%oeminfo.ini"
del /q %HF%\Updates.txt
del /q %HF%\Updates1.txt
exit
:prov1
set k=%~1
echo %k% >> %HF%\Updates1.txt
:prov
set u=%~1
echo KB%u:~-6% >> %HF%\Updates1.txt
prokazzza
22-10-2006, 10:52
alcos
Неплохо сделано Спасибо!!!
prokazzza
22-10-2006, 16:32
alcos
ты что его изменил? еще раз скопировал, теперь не работает!!!
говорит:
CMDOW @ /HID "CMDOW" не является внутренней или внешней командой и т.д..
Ошибка: Система не удалось найти указанный раздел или параметр реестра.
prokazzza
CMDOW @ /HID это вызов cmdow.exe (http://www.commandline.co.uk/cmdow/cmdow.zip) (Commandline Window Utility for NT4/2000/XP, Copyright © 2001-2004 Ritchie Lawrence)
prokazzza
22-10-2006, 18:09
разобрался почему не работает :)
prokazzza
разобрался почему не работает А вот у меня обновления для .NET Framework 2.0 и MSXML 6.0 Parser не хочет включать :(
Не подскажешь в чем дело?
prokazzza
22-10-2006, 19:01
YuriPet
какие номера КВ?
и кол-во у мя 130 штук написано
prokazzza
Вопрос снят!
Пора новые очки покупать... :blind: :)
prokazzza
22-10-2006, 23:33
YuriPet :)
Я действительно два раза изменил содержимое Oeminfo.cmd, так как не все обновления прописываются в одном месте реестра и пришлось добавлять ещё строки.
prokazzza
23-10-2006, 14:20
alcos
то то я смотрю что сперва столько-то было, а потом больше обновлений написано стало. :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.