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

Показать сообщение отдельно

Всем до свидания!


Moderator


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

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


Цитата SharkyEXE:
что каждая строка делает, что происходит вот в этих строчках файла FINISH »
давайте, распишу все строчки из оригинального Finish из ZZ_MultiLinux_Lite.
он довольно обширен, потому что должен работать "из коробки" и давать на выходе готовый iso с прописанным загрузчиком.
раз на выходе готовый iso, то и все "предИСОшные" операции т.к. копирование дополнительных файлов/папок в дистрибутив, удаление лишних файлов/папок из дистрибутива должны быть выполнены до этого.
вот Finish из ZZ_MultiLinux_Lite и содержит множество образцов для удаления и копирования.

Цитата:
SET WDir=%~1
SET VOLNAME=WXP_SP3
SET ISOFILE=WINXP.ISO
SET ISOLINUX=BOOT\ISOLINUX\ISOLINUX.BIN
SET MAKEISO=1
ECHO Создание мультизагрузочного диска.
задание переменных, которые используются при создании iso
если выходной iso делается вручную то нужно отредактировать SET MAKEISO=0, а то и вообще это удалить.

Цитата:
REM Обход блокировки повторной интеграции аддона

Attrib -R "%I386%\ADDONS.LST"
FindStr /L /I /V /C:"ZZ_MultiLinux_Lite" "%I386%\ADDONS.LST"> "%I386%\ADDONS.TMP"
DEL "%I386%\ADDONS.LST"
REN "%I386%\ADDONS.TMP" *.LST

REM Удаление предыдщих попыток интеграции

IF EXIST "%Distr%\VOLD\" RD /s /q "%Distr%\VOLD" > nul
IF EXIST "%Distr%\VOLS\" RD /s /q "%Distr%\VOLS" > nul
IF EXIST "%Distr%\VOLM\" RD /s /q "%Distr%\VOLM" > nul
IF EXIST "%Distr%\BCDW\" RD /s /q "%Distr%\BCDW" > nul
IF EXIST "%Distr%\BOOT\" RD /s /q "%Distr%\BOOT" > nul
IF EXIST "%Distr%\ISO\" RD /s /q "%Distr%\ISO" > nul
IF EXIST "%Distr%\..\ISO\" RD /s /q "%Distr%\..\ISO" > nul
мне не нужно, я повторно ничего не интегрирую, использую UpdateIntegrator, там есть фишка что исходный дистрибутив сперва копируется в выходную папку, а затем в выходной папке происходит интеграция. При этом интеграция всегда выполняется однократно, за один проход.
т.е. в моём случае можно удалить.

Цитата:
REM Добавление персональных данных в файл сценария

Copy /b "%WDir%\WINNT.SID" + "%WDir%\userinfo.ini" "%I386%\WINNT.SID" > nul
одной из причин использования мультизагрузки - разделение установки на автоматическую и ручную. для автоматической установки необходим файл winnt.sit (в данном конкретном случае winnt.sid).
Для действительно автоматической установки в winnt.sit должен быть записан серийник от windows, если положить в публичный аддон winnt.sit с валидным серийником, то это будет в некоторой степени публикацией варёза
если положить winnt.sit с без серийника, но с инструкцией "впишите в строчку ProductID=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX ваш серийник" то найдутся пользователи, котрые в килобайтном файле эту строчку не найдут.
Поэтому авторы разделили winnt.sit на неизменную часть WINNT.SID и маленькую изменяемую часть userinfo.ini, а в этих строчках собирают его для помещения в дистрибутив.

эти строчки тоже можно удалить, если готовый WINNT.SID копируется каким либо другим образом, например лежит в папке Files\ForceCopy\ аддона или копируется updateintegrator'ом

Цитата:
XCopy "%WDir%\BOOT\*.*" "%Distr%\BOOT\" /E /H /R /Y > nul
единственная незаменимая строчка в Finish
копирование папки BOOT с isolinux'ом и образами для загрузки в выходной дистрибутив

Цитата:
REM Удаление совершенно ненужных папок и файлов.
REM Отредактировать по желанию.

IF EXIST "%Distr%\SUPPORT" RD /s /q "%Distr%\SUPPORT" > nul
IF EXIST "%Distr%\VALUEADD" RD /s /q "%Distr%\VALUEADD" > nul
IF EXIST "%Distr%\DOTNETFX" RD /s /q "%Distr%\DOTNETFX" > nul
IF EXIST "%Distr%\DOCS" RD /s /q "%Distr%\DOCS" > nul
rem IF EXIST "%Distr%\AUTORUN.INF" DEl /F /Q "%Distr%\AUTORUN.INF" > nul
IF EXIST "%Distr%\README.HTM" DEl /F /Q "%Distr%\README.HTM" > nul
IF EXIST "%Distr%\SETUPXP.HTM" DEl /F /Q "%Distr%\SETUPXP.HTM" > nul
rem IF EXIST "%Distr%\SETUP.EXE" DEl /F /Q "%Distr%\SETUP.EXE" > nul
IF EXIST "%Distr%\i386\BOOTFIX.BIN" DEl /F /Q "%Distr%\i386\BOOTFIX.BIN" > nul

REM Удаление ненужных папок.
REM Для чистой установки можно удалить все.

rem IF EXIST "%I386%\LANG" RD /S /Q "%I386%\LANG" > nul
IF EXIST "%I386%\WIN9XMIG" RD /S /Q "%I386%\WIN9XMIG" > nul
IF EXIST "%I386%\WIN9XUPG" RD /S /Q "%I386%\WIN9XUPG" > nul
rem IF EXIST "%I386%\WINNTUPG" RD /S /Q "%I386%\WINNTUPG" > nul
IF EXIST "%I386%\COMPDATA" RD /S /Q "%I386%\COMPDATA" > nul
IF EXIST "%I386%\DRW" RD /S /Q "%I386%\DRW" > nul
приведено для образца - "если хотите что-то удалить до создания iso, то делается это так"

я это удалил. ненужные папки и файлы лучше удалять именно удаляльными аддонами, а не аддонами для создания iso образа.
единственное, что действительно нужно удалять для конкретно этого аддона, это BOOTFIX.BIN - я внёс в DelOC.lst

Цитата:
REM Патч SETUPLDR.BIN для автоустановки.

COPY "%I386%\SETUPLDR.BIN" "%I386%\SETUPLDD.BIN" > nul

%WDir%\LdrPatch.exe "%I386%\SETUPLDD.BIN" /d:i386 /u:winnt.sid > nul

IF EXIST %I386%\$OEM$ MOVE %I386%\$OEM$ %Distr% > nul
описывалось выше. Помещение в дистрибутив файла SETUPLDD.BIN, который есть патченный на предмет WINNT.SIT/WINNT.SID SETUPLDR.BIN

я удалил и это
готовый SETUPLDD.BIN копируется у меня другим образом через папку Files\ForceCopy\ аддона

Цитата:
IF EXIST %I386%\$OEM$ MOVE %I386%\$OEM$ %Distr% > nul

rem Тут задаём путь к своим ОЕМ-папкам, которые будут скопированы в дистрибутив.
ECHO Копирование OEM-папок.
XCopy "%Distr%\..\Pre\*.*" "%Distr%\" /I /E /H /R /Y > nul
копироване $OEM$ папок из исходного дистрибутива (если были) и ещё откуда-то (если нужно)
Я $OEM$ папки не использую, поэтому удалил и эти строчки.
Глобально — это образец "как добавить папки/файлы в дистрибутив, перед созданием iso"
Этим я тоже не пользуюсь, нужные мне дополнительные файлы копируются updateintegrator'ом после этапа интеграции.

Цитата:
if %MAKEISO%==1 (
ECHO Создание образа %ISOFILE%.
MD "%Distr%\..\ISO"
start /wait %WDir%\CDIMAGE.EXE -n -h -m -p -x -b"%DISTR%\%ISOLINUX%" -l"%VOLNAME%" %DISTR%\ "%DISTR%\..\ISO\%ISOFILE%"
)
создание загрузочного iso. Я создаю вручную, мне не нужно и это.

Последний раз редактировалось Amigos, 19-05-2009 в 11:10.

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:50, 19-05-2009 | #130