" title="Написать письмо">Написать письмо

Статистика

Пользователи : 1
Статьи : 1936
Просмотры материалов : 7052605
 
Автоматическая установка программ и настройка Windows (23.11.2016). Печать E-mail
2016 - Ноябрь
23.11.2016 19:30
Save & Share
Программа nLite обеспечивает возможности автоматической установки Windows, несмотря на то, что лицензионное соглашение не позволяет делать это. Но есть возможность вполне легально написать автоматический инсталлятор программ под данную ОС, а также автоматический настройщик параметров ОС. На примере Windows 2000.

Речь идет об обычном языке BAT-файлов "Batch". Требуется выбор правильной концепции, самих команд по работе с ПО, настройка путем запуска лишь одного-двух файлов:
- если бы использовалась nLite, то в опциях автоматизации возможно указание однократного запуска BAT-файла после установки Windows (RunOnce). В иных случаях придется довольствоваться запуском BAT-файла вручную с другого компакт-диска;
- расширение файла Batch может быть как расширения .BAT, так и .CMD;
- файл должен быть сохранен в кодировке OEM 866 для правильной работы с русскими буквами;
- если запуск происходит в ОС Windows 7 и новее - возможна блокировка файла .BAT. В этом случае требуется создание файла .manifest, название без расширения которого равно полному названию BAT-файла. Этот файл лежит в полезных исходниках (444 байта), там же и описываемый код ниже;
- запуск одного BAT-файла из другого, путем добавления в реестр (RunOnce), позволяет создать каскадную серию перезагрузок, когда это необходимо;
- программы анализа реестра RegShot и анализа файлов Process Explorer порождают мощное средство диагностики: отслеживание изменений в реестре, списке загруженных библиотек и драйверов. В итоге BAT-файл можно наполнять параметрами реестра и последовательностью загрузок сторонних DLL/VXD/SYS без использования интернета путем простого сравнения списков "до-после";
- из самого дистрибутива Windows лучше ничего не удалять, и только после ее установки чистить то, что требуется. Пакеты и ПО в дистрибутиве имеют недокументированные зависимости; удаление одного может привести к неработоспособности другого, и даже самого установщика.

Пример ниже показывает, как настроить Windows 2000 и установить программы автоматически. AutoInstall.BAT вызывается однократно: автоматически или запускается руками. Включает поддержку больших дисков, устанавливает бесплатное ПО в тихом режиме, помещает в RunOnce запуск файла Disk.BAT и перезагружается самописным EXE-файлом. Disk.BAT размечает диск до конца, расставляет буквы и метки, распаковывает архивы портативных программ, устанавливает ассоциации между программами и типами файлов, настраивает ОС. Некоторые файлы взяты из Windows XP, т.к. отсутствуют в Windows 2000. "< yes.txt" - фишка посыла DOS-программам необходимой буквы. Автовход и смена языка клавиатуры не работают корректно: что-то не доглядел.

[AutoInstall.BAT]
cd /d D:\!AutoInstall\

@echo .
@echo .
@echo .
@echo СКРЫТАЯ УСТАНОВКА ПРОГРАММ.
@echo .
@echo .

"Programs\7-Zip v.16.2.exe" /S
"Programs\Adobe Acrobat Reader v.7.0.1.exe" /s /v" /qn"
Programs\MDAC.exe /Q:A /C:"dasetup /Q /N"
copy reg.exe C:\WinNT\System32 /Y
copy temp.temp D:\ /Y


@echo .
@echo .
@echo .
@echo ПРЕДВАРИТЕЛЬНАЯ РАЗМЕТКА ДИСКА С ПЕРЕЗАГРУЗКОЙ.
@echo .
@echo .

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d Администратор /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d "" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v ForceAutoLogon /t REG_SZ /d 1 /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonCount /t REG_DWORD /d 999999 /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v Always_AutoAdminLogon /t REG_SZ /d "reg add \"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\" /v AutoAdminLogon /t REG_SZ /d 1 /f" /f

reg add HKLM\SYSTEM\CurrentControlSet\Services\atapi\Parameters /v EnableBigLba /t REG_DWORD /d 00000001 /f
Diskpart\diskpart.exe /s Diskpart\diskpart.list
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v Disk /t REG_SZ /d "Z:\!AutoInstall\Disk.bat | Z:\!AutoInstall\Tee\tee.exe C:\AutoInstall_DISK.log" /f

"Programs\Windows Installer v.3.1.exe" /quiet /passive


[Disk.BAT]
cd /d Z:\!AutoInstall\

@echo .
@echo .
@echo .
@echo КОНЕЧНАЯ РАЗМЕТКА ДИСКА.
@echo .
@echo .

rem ЕСЛИ ВДРУГ WINDOWS СОДЕРЖИТ ДИСК D, и при разметке диска ранее произошла осечка (попадаем на форматированный раздел).
if not exist D:\temp.temp (
Diskpart\diskpart.exe /s Diskpart\diskpart2.list
C:\WinNT\System32\format.com D: /fs:ntfs /q < Diskpart\yes.txt
)
C:\WinNT\System32\label.exe D: Документы
C:\WinNT\System32\label.exe C: Система

@echo .
@echo .
@echo .
@echo ПОДДЕРЖКА БОЛЬШИХ ДИСКОВ, АВТОМАТИЧЕСКИЙ ВХОД В СИСТЕМУ.
@echo .
@echo .

rem ПРОГРАММНЫЙ АВТОМАТИЧЕСКИЙ ВХОД В СИСТЕМУ ТРЕБУЕТ УСТАНОВКИ НЕ ТОЛЬКО НЕСКОЛЬКИХ ФЛАГОВ, НО И ПОСТОЯННОЕ ОБНОВЛЕНИЕ ПРИ ЗАГРУЗКЕ ОДНОГО ИЗ НИХ. ГАЛКА "ТРЕБОВАТЬ ПАРОЛЬ ПРИ ВХОДЕ В СИСТЕМУ" ПРИ ЭТОМ НЕ СНИМАЕТСЯ.
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName /t REG_SZ /d Администратор /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d "" /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v ForceAutoLogon /t REG_SZ /d 1 /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoLogonCount /t REG_DWORD /d 999999 /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v Always_AutoAdminLogon /t REG_SZ /d "reg add \"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\" /v AutoAdminLogon /t REG_SZ /d 1 /f" /f

rem ЧТО УВИДИТ ПОЛЬЗОВАТЕЛЬ ПО ОКОНЧАНИЮ АВТОУСТАНОВКИ.
reg delete HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Disk /f
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v RunOnce1 /t REG_SZ /d "D:\Ручная установка" /f
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v RunOnce2 /t REG_SZ /d D:\Драйверы /f
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v RunOnce3 /t REG_SZ /d "C:\Programs\NewShell v.1.0.0.0\Settings.ini" /f
reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" /v RunOnce4 /t REG_SZ /d Z:\!AutoInstall\Beep.bat /f

del "C:\Documents and settings\Администратор\Рабочий стол\Подключение к интернету.lnk"
del "C:\Documents and Settings\All Users\Главное меню\Программы\Автозагрузка\Ускоренный запуск Adobe Reader.lnk"
del "C:\Documents and Settings\All Users.WinNT\Главное меню\Программы\Автозагрузка\Ускоренный запуск Adobe Reader.lnk"
del "C:\Documents and settings\All Users\Рабочий стол\Adobe Reader 7.0.lnk"
del "C:\Documents and settings\All Users.WinNT\Рабочий стол\Adobe Reader 7.0.lnk"
reg add "HKCU\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\ShellFolder" /v Attributes /t REG_DWORD /d 00100024 /f
rem ЗНАЧОК ИЕ НЕ УБИРАЕТСЯ.
rem reg add "HKEY_CLASSES_ROOT\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\ShellFolder" /v Attributes /t REG_DWORD /d 00100024 /f

@echo .
@echo .
@echo .
@echo РАСПАКОВКА ПРОГРАММ БЕЗ ИНСТАЛЛЯТОРОВ, СЖАТЫХ ПРОГРАММ И ДРАЙВЕРОВ. НЕВЕРНО ВЫСТАВЛЕННЫЙ АТТРИБУТ "е" (НУЖНО "x") ИСПОЛЬЗУЕТСЯ КАК АЛЬТЕРНАТИВА.
@echo .
@echo .

rem "C:\Program Files\7-Zip\7z.exe" e "Programs\National Instruments Measurement Studio v.6.0.7z" -spf -aoa -o"D:\Ручная установка\National Instruments Measurement Studio v.6.0\"
"C:\Program Files\7-Zip\7z.exe" e "Programs\Borland C++ Builder Enterprise v.6.0.7z" -spf -aoa -o"D:\Ручная установка\Borland C++ Builder Enterprise v.6.0\"
"C:\Program Files\7-Zip\7z.exe" e "Programs\Штирлиц v.4.01.7z" -spf -aoa -o"C:\Programs\Штирлиц v.4.01\"
"C:\Program Files\7-Zip\7z.exe" e "Programs\Notepad++ v.6.6.9.7z" -spf -aoa -o"C:\Programs\Notepad++ v.6.6.9\"
"C:\Program Files\7-Zip\7z.exe" e "Programs\NewShell v.1.0.0.0.7z" -spf -aoa -o"C:\Programs\NewShell v.1.0.0.0\"
"C:\Program Files\7-Zip\7z.exe" e "Programs\Защитник ПО v.1.1 NIIP Edition.7z" -spf -aoa -o"C:\Documents and settings\Администратор\Рабочий стол\Защитник ПО v.1.1 NIIP Edition\"
"C:\Program Files\7-Zip\7z.exe" e "Programs\MDB Viewer Plus v.2.50.7z" -spf -aoa -o"C:\Programs\"
"C:\Program Files\7-Zip\7z.exe" e "Programs\FreeCommander v.2009.02b.7z" -spf -aoa -o"C:\Programs\FreeCommander v.2009.02b\"
"C:\Program Files\7-Zip\7z.exe" e "Other\Драйверы.7z" -spf -aoa -o"D:\Драйверы\"


@echo .
@echo .
@echo .
@echo РАСПАКОВКА ЯРЛЫКОВ И НАСТРОЙКА ОКРУЖЕНИЯ.
@echo .
@echo .

rem АССОЦИАЦИИ С ТИПАМИ ФАЙЛОВ.
rem ДЛЯ НЕСУЩЕСТВУЮЩИХ ТИПОВ.
assoc .dt=MDB_dt
ftype MDB_dt="C:\Programs\MDB Viewer Plus v.2.50.exe" "%%1" %%*
rem ДЛЯ СУЩЕСТВУЮЩИХ ТИПОВ.
ftype Notepad++_file="C:\Programs\Notepad++ v.6.6.9\notepad++.exe" "%%1" %%*
assoc .txt=Notepad++_file
assoc .log=Notepad++_file
assoc .ini=Notepad++_file

"C:\Program Files\7-Zip\7z.exe" e "Other\Ярлыки.7z" -spf -aoa -o"C:\Documents and settings\Администратор\Рабочий стол\"

rem НУЖНО ВЫЗВАТЬ ПЕРВОНАЧАЛЬНО ОКНО "ОТКРЫТЬ С ПОМОЩЬЮ": ОНО УНИЧТОЖАЕТ АССОЦИАЦИИ ФАЙЛОВ ВЫШЕ. НУЖНА ЗАДЕРЖКА ВО ВРЕМЕНИ - ОБЕСПЕЧИВАЕТСЯ СЛУЖБАМИ И АРХИВОМ.
start temp.temp

rem ФАЙЛ НЕОБХОДИМ ДЛЯ УСПЕШНОГО СОЗДАНИЯ АРХИВА ЯРЛЫКОВ.
del "C:\Documents and settings\Администратор\Рабочий стол\!Этот файл удалится сам.txt"

rem СКРЫТЬ СЕТЕВОЕ ОКРУЖЕНИЕ.
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoNetHood /t REG_DWORD /d 00000001 /f

rem ОТКЛЮЧИТЬ АВТОМАТИЧЕСКИЙ ПЕРЕВОД ВРЕМЕНИ.
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v Bias /t REG_DWORD /d 0xffffff10 /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v ActiveTimeBias /t REG_DWORD /d 0xffffff10 /f
reg add "HKLM\SYSTEM\ControlSet001\Control\TimeZoneInformation" /v DisableAutoDaylightTimeSet /t REG_DWORD /d 1 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" /v DisableAutoDaylightTimeSet /t REG_DWORD /d 1 /f

reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\NonEnum /v {450D8FBA-AD25-11D0-98A8-0800361B1103} /t REG_DWORD /d 00000001 /f
rem ВЫВОДИТЬ ПОЛНЫЙ ПУТЬ В СТРОКЕ ЗАГОЛОВКА.
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CabinetState /v FullPath /t REG_DWORD /d 00000001 /f
rem ВЫВОДИТЬ ПОЛНЫЙ ПУТЬ В ПАНЕЛИ АДРЕСА.
reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CabinetState /v FullPathAddress /t REG_DWORD /d 00000001 /f
rem ПОДДЕРЖКА БОЛЬШИХ ДИСКОВ.
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Memory Management" /v LargeSystemCache /t REG_DWORD /d 00000000 /f
rem ПРИОРИТЕТ ВЫПОЛНЕНИЯ ПРОГРАММ, А НЕ ФОНОВЫХ ПРОЦЕССОВ.
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\PriorityControl" /v Win32PrioritySeparation /t REG_DWORD /d 26 /f
rem АНГЛИЙСКИЙ ЯЗЫК ПО УМОЛЧАНИЮ.
reg add "HKCU\Keyboard Layout\Preload" /v "1" /t REG_SZ /d "00000409" /f
reg add "HKCU\Keyboard Layout\Preload" /v "2" /t REG_SZ /d "00000419" /f
reg add "HKCU\Keyboard Layout" /v Attributes /t REG_DWORD /d 0 /f
rem СОЧЕТАНИЕ КЛАВИШ ПЕРЕКЛЮЧЕНИЯ ЯЗЫКОВ.
reg add "HKCU\Keyboard Layout\Toggle" /v "HotKey" /t REG_SZ /d "2" /f

rem ПОКАЗЫВАТЬ ВСЕ РАСШИРЕНИЯ ФАЙЛОВ.
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v HideFileExt /t REG_DWORD /d 0 /f

ОТКРЫВАШКА ДЛЯ НЕИЗВЕСТНЫХ ТИПОВ.
reg add "HKEY_CLASSES_ROOT\Unknown\shell\open\command" /v "" /t REG_SZ /d "C:\Programs\Notepad++ v.6.6.9\notepad++.exe %%1" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Unknown\shell\open\command" /v "" /t REG_SZ /d "C:\Programs\Notepad++ v.6.6.9\notepad++.exe %%1" /f
reg add "HKEY_CLASSES_ROOT\Unknown\shell" /v "" /t REG_SZ /d "open" /f

call "Other\Настройка служб (умолчания оптимизации).bat"

rem ЗАКЛЮЧИТЕЛЬНЫЕ МАНИПУЛЯЦИИ ПО АССОЦИАЦИЯМ.
reg add "HKEY_CLASSES_ROOT\Notepad++_file\shell\open\command" /v "" /t REG_SZ /d "C:\Programs\Notepad++ v.6.6.9\notepad++.exe %%1" /f
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Notepad++_file\shell\open\command" /v "" /t REG_SZ /d "C:\Programs\Notepad++ v.6.6.9\notepad++.exe %%1" /f

msiexec /i"Programs\National Instruments LabVIEW Run-Time Engine v.8.0\lv80runtime.msi" /quiet /passive

(добавлено 28.11.2016) Поправил архив и залил другие батники, уже отлаженные.

(добавлено 08.12.2016) Чтобы одновременно выводить процессы, выполняемые BAT-файлом, и на экран, и в файл - нужно использовать сторонний файл tee.exe с библиотеками libiconv2.dll, libintl3.dll и msvcp60.dll.

(добавлено 12.12.2016) Обновил файлы и дописал комменты. 2 перезагрузки в итоге происходит из-за MSI - и не нужен самописный ребут.

(добавлено 30.12.2016) Файл SETUPREG.HIV размером 69632 байта позволяет модернизировать установщик Windows 2000, чтобы тот видел весь объем дисков более 128ГБ. Нужно заменить исходный файл в папке I386.

(добавлено 10.01.2017) Можно помещать на диск C произвольные файлы при установки Windows 2000 (при этом файл разместит сам инсталлятор). Файл в папке I386 (на примере CALC.EX_) является не переименованным файлом Calc.exe, а архивом CAB, содержащем в себе 1 файл Calc.exe. Если взять программу PowerArchiver, можно изменить этот CAB-архив, разместив вместо Calc.exe необходимый файл. Но есть две тонкости: из архива берется только первый файл по алфавиту, этот файл переименует в Calc.exe. То есть, если архив содержит файлы 1.com и Calc.exe - инсталлятор вытащит файл 1.com и переименует его в Calc.exe.

Зачем это нужно: программа nLite последней версии не позволяет выполнить несколько команд после собственной установки, а только одну (вкладка RunOnce? глюк). Этот глюк не обходится ни амперсандом, ни попыткой вызвать CMD /c, передав серию строк с амперсандом в качестве параметра. Программа NTLite же обновляется, но ниже Windows 7 ОС не поддерживает.
Обновлено ( 10.01.2017 18:43 )
 
 

Последние новости


©2008-2024. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).

Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Открыта карта ВТБ для донатов на дорогостоящие эксперименты: 5368 2902 0040 0838.

Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
Top.Mail.Ru