Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   Только для экспертов! FAKE-Setup своими руками. (http://forum.oszone.net/showthread.php?t=64587)

amel27 07-04-2006 12:45 429372

Только для экспертов! FAKE-Setup своими руками.

Метод использования Fake-копии SETUP.EXE был придуман неким Pyron с форума MSFN и нынче широко используется для Unattend-пакетов, в основном драйверов (пакеты от Bashrat, BoaSoft и др.). Подробней о том как он фунциклирует можно почитать в мануалах к пакетам и на форумах MSFN. Несмотря на простой алгоритм, для написания EXE-файла нужно быть немного программером, а это ИМХО не совсем справедливо! ;). Поэтому я решил реализовать его на AutoIT, но здесь ждал облом - AutoIT v.3 напрочь отказывался запускаться в PRE-Setup окружении WinXP, хотя между тем прекрасно работал из под Win2K. К счастью, все заработало на версии 2.64, которая до сих пор доступна для скачивания.

Привожу пример скрипта, где совмещены обе возможности - AutoIT и PreSetup чтобы всегда можно было выбрать удобный интерфейс. Код намеренно не тестировался и может содержать ошибки - кому нужно, тот поймет что к чему. ;) Многое зависит еще от содержимого Presetup.Cmd
Код:

HideAutoItWin,On
 SetBatchLines,100

;=======================================================
; Восстанавливаем параметры командной строки
;-------------------------------------------------------
 SetEnv,i,0
 Repeat,%0%
  EnvAdd,i,1
  StringTrimLeft,parm,%i%,0
  SetEnv,CmdLine,%CmdLine% %parm%
 EndRepeat

;=======================================================
; Установка путей к утилитам и драйверам
;-------------------------------------------------------
 SetEnv,DrvTag,drv51
 SetEnv,WrkDir,%SystemDrive%\\Install

;=======================================================
; Установка всех требуемых файлов
;-------------------------------------------------------
 FileInstall,setupORG.exe,%SystemRoot%\\System32\\setupORG.exe
 FileInstall,presetup.cmd,%WrkDir%\\presetup.cmd
 FileInstall,cmdow.exe,%WrkDir%\\cmdow.exe
 FileInstall,7za.exe,%WrkDir%\\7za.exe
 FileInstall,setpath.exe,%WrkDir%\\setpath.exe
 FileInstall,watchdrv.exe,%WrkDir%\\watchdrv.exe

;=======================================================
; Трикс с переименованием
;-------------------------------------------------------
 IfExist,%SystemRoot%\\System32\\Setup.exe,RunWait,CMD /C REN Setup.exe SetupOld.exe,%SystemRoot%\\System32,Hide
 IfExist,%SystemRoot%\\System32\\SetupORG.exe,RunWait,CMD /C REN SetupORG.exe Setup.exe,%SystemRoot%\\System32,Hide

;=======================================================
; Собственно запуск процесса установки
;-------------------------------------------------------
 SetBatchLines,1
;-------------------------------------------------------
 RunWait,CMD /C PreSetup.cmd %DrvTag% %WrkDir%,%WrkDir%\\,Hide
 RunWait,Setup.exe %CmdLine%,%SystemRoot%\\System32

;=======================================================
; Чистим после себя
;-------------------------------------------------------
 RunWait,CMD /C RD /Q /S %WrkDir%,%SystemDrive%\\,Hide

P.S. Несмотря на "убогость" и сложный синтаксис морально-устаревшей версии, использование AutoIT открывает широкие возможности для автоматизации установки, некоторые из которых я еще сам не освоил. Вот только некоторые:
1. Свобода от правки inf-файлов, все инструменты включены уже в один файл - SETUP.EXE, который устанавливается простым копированием.
2. Свобода выбора между WATCHDRV и стандартным AutoIT-методом отслеживания окон, тем более что WATCHDRV отрабатывает не всегда.
3. Возможность условного заполнения реквизитов. Например, загрузив из INI-файла базу всех ПК можно автоматически заполнить имя машины, лицензионный ключ и т.д. Сам не пробЫвал - нужды пока не было.

bogomolv 15-04-2006 10:41 429375

amel27
Объясни, плз, идею FAKE-Setup. Без этого невозможно понять суть своего предложения.

amel27 16-04-2006 06:22 429376

bogomolv
Ok, осознал. Подправил скрипт - перегнал две строчки из PRESETUP.CMD чтобы смысл был ясен.

Идея проста - оригинальный SETUP.EXE переименовывается в дистрибутиве в SETUPORG а вместо него подкладывают FAKE-копию, которая и запускается установщиком. FAKE-setup выполняет необходимые действия (обычно лишь запускает PRESETUP.CMD), переименовывает все обратно и, наконец, запускает оригинальный SETUP.EXE. Важно, чтобы FAKE-setup не завершал работу в течении всего процесса установки, иначе произойдет прерывание и перезагрузка.

Vadikan 16-04-2006 07:21 429377

bogomolv
В старой версии статьи об установке драйверов с CD этот способ излагался. Он еще есть в старой оффлайн версии, наверное. И на MSFN он есть на англ.

bogomolv 17-04-2006 07:41 429378

amel27, Vadikan
Спасибо, понял о чем речь.
Но вопросы к amel27 остались:
Из твоего скрипта не видно, зачем тебе "свобода выбора между WATCHDRV и стандартным AutoIT-методом отслеживания окон", и где и как ты собираешься юзать "возможность условного заполнения реквизитов"?

А вообще-то метод заинтересовал с точки зрения возможности реализации одного трюка, которым давно пользуюсь, но делаю это коряво:
Одним из стандартных приемов установки Windows является выделение на диске раздела под систему с последующим автоматическим переформатированием этого раздела в ходе переустановки системы. Так красиво и элегантно избавляемся от мусора и возможности воспроизведения кривых настроек прежней системы. К тому же в ходе автопереустановки не появляется нарушающий unattend'ность запрос, что делать со старой папкой Windows.
Способ всем хорош, но его условие - наличие свободного раздела. Не все это любят, а неподготовленные пользователи к тому же не умеют им пользоваться, и бесполезно им объяснять, что не надо сохранять свои документы на диске C:!
Я для автоудаления прежней системы использую такую конструкцию:
1. На винчестер кладу заточненный под пользователя дистрибутив со всеми дровами и всеми дополнительными программами (что-то вроде дистрибутива на скрытом разделе ноутбуков Asus).
2. Разворачиваю на диске WinPE (в собственной облегченной сборке).
3. Запуск переустановки системы осуществляется файлом UNATTEND.BAT, который из-под Windows меняет BOOT.INI, создает маркерный файл и отправляет систему на перезагрузку под WinPE:
Код:

echo Удалить системные файлы>>c:\delwin.bat
bootcfg /default /id 2
shutdown -r -t 0

4. Загрузившаяся WinPE "реагирует" на наличие c:\delwin.bat и запускает:
Код:

del %DISK%:\delwin.bat
rd /s /q %DISK%:\windows
rd /s /q %DISK%:\docume~1
rd /s /q %DISK%:\progra~1
rd /s /q %DISK%:\system~1
rd /s /q %DISK%:\recycled
rd /s /q %DISK%:\RECYCLER
@dir %DISK%:\
@%DISTR%:
@cd %DISTR%
.\I386\winnt32.exe /s:.\I386 /unattend1:unattend.txt /noreboot
exit

Давно пытаюсь избавиться от этой конструкции, которую сам называю "стол-на-стул". Ведь нужно-то мне совсем немного - научить установщик Windows удалять системные папки на первом "неграфическом" этапе установки...

В принципе, я и свою конструкцию неплохо отточил: перезагрузка и запуск установки из-под WinPE занимают у меня не более 50 сек, нарисовал скрипты автоматизации процесса развертывания WinPE на жестком диске, та же самая WinPE на установочном мультизагрузочном CD служит для подготовки жесткого диска на новом компьютере, а на самом жестком диске WinPE в качестве дополнительной оси неплохо помогает восстановить рухнувшую систему.
Удается даже руководить этими процессами по телефону, подсказывая детям своих друзей и знакомых, что и как нужно сделать, чтобы ОНО опять заработало :)

amel27 17-04-2006 12:11 429379

bogomolv
Цитата:

Из твоего скрипта не видно, зачем тебе "свобода выбора между WATCHDRV и стандартным AutoIT-методом отслеживания окон", и где и как ты собираешься юзать "возможность условного заполнения реквизитов"?
1. WATCHDRV срабатывает не всегда, классический пример - дрова в VMware... И по сути - это использование "дыры" в безопасности, которую в любое время могут прикрыть. Кстати, если внимательно читать автора он именно об этом и писал.
2. Это только "мысли вслух"... Как вариант - дождаться окна ввода реквизитов, затем идентифицировать к-либо способом машину (MAC-адрес, BIOS или еще как... тут нужно обмозговать), по этому индексу вытянуть из INI-файла нужную инфу и вставить куда надо.

З.Ы. В AutoIT меня не устраивает только привязка к языку, а собирать титлы окон для всех языков (у меня их три) и систем (тоже три) не очень хочется...

amel27 18-04-2006 07:23 429382

bogomolv
Цитата:

Давно пытаюсь избавиться от этой конструкции, которую сам называю "стол-на-стул". Ведь нужно-то мне совсем немного - научить установщик Windows удалять системные папки на первом "неграфическом" этапе установки...
ИМХО вполне реально. Примерный алгоритм:
1. Запустить под Windows первую фазу установки (только копирование):
Код:

winnt32.exe /tempdrive:c /unattend:unattend.txt /noreboot
В результате будут созданы временные каталоги C:\$WIN_NT$.~BT и C:\$WIN_NT$.~LS,
а также BOOT.INI типа:
Код:

[Boot Loader]
Default=C:\$WIN_NT$.~BT\BOOTSECT.DAT
[Operating Systems]
C:\$WIN_NT$.~BT\BOOTSECT.DAT="Microsoft Windows XP Professional Setup"

2. Сохранить все это хозяйство где-нибудь в укромном месте и восстановить исходный BOOT.INI

3. Проверить содержимое winnt.sif в $WIN_NT$.~BT на предмет строчек:
Код:

[Unattended]
TargetPath=*
NTUpgrade=No

4. Заменить в $WIN_NT$.~LS SETUP.EXE на Fake-копию, которая перед установкой сделает RD всем каталогам WINDOWS.* (кроме %WINDIR%), ну и дальше по списку...

5. Сваять скрипт, который при запуске копирует коталоги $WIN_NT$.* и BOOT.INI в корень диска C: и перегружает машину, после чего сразу стартует графическая часть Unattend-установки.

З.Ы. Одно "неудобство" - папка %WINDIR% после каждой переустановки будет называться по другому.

bogomolv 18-04-2006 09:08 429383

amel27
Спасибо, буду думать.
На первый взгляд - еще более тяжеловесная конструкция...

amel27 18-04-2006 11:13 429384

bogomolv
Цитата:

На первый взгляд - еще более тяжеловесная конструкция...
На самом деле первая фаза почти совпадает с методом подготовки дистрибутива Gosh с форума MSFN, готовый дистриб гораздо компактнее и его несложно переделать для установки с CD... Ну и на одну перезагрузку должно получиться меньше.

bogomolv 19-04-2006 06:57 429385

amel27
Цитата:

На самом деле первая фаза почти совпадает с методом подготовки дистрибутива Gosh
Это я сразу понял. Года три назад даже пытался освоить этот метод. Полностью с ним так и не разобрался.
Так и не понял, что представляют собой эти временные каталоги? Насколько они универсальны, и можно ли их использовать для установки на разных машинах? Не является ли этот метод чем-то вроде Sysprep-установки, рекомендуемой для однотипных машин...
Подробности уже подзабыл, но осталась уверенность, что этот метод не для моего подхода, когда я из стандартного дистрибутива и заготовок драйверов и программ общего назначения готовлю дистрибутив, заточенный под конкретного пользователя и его машину (или группу машин).


amel27 20-04-2006 06:25 429839

bogomolv
Цитата:

что представляют собой эти временные каталоги?
~LS - все файлы дистрибутива явно прописанные в dosnet.inf
~BT - загрузочные файлы (полный набор из загрузочных дискет, только с учетом обновлений)

Цитата:

Насколько они универсальны, и можно ли их использовать для установки на разных машинах? Не является ли этот метод чем-то вроде Sysprep-установки, рекомендуемой для однотипных машин...
К машинам привязки нет, ведь это просто набор файлов (кроме двух файлов ответов, кот. можно удалить). В работе всегда использую только GOSH-дистрибутивы, но они не подходят для повторной установки с HDD (там просто нет winnt32.exe). Мне только один раз попадался дистрибутив (XP SP2 OEM) когда в dosnet.inf были пропущены файлы из txtsetup.inf, приходилось вручную потом копировать в образ.

В контексте твоего вопроса все это можно понимать как отложенную установку, которую можно продолжить при необходимости в любое время.

bogomolv 20-04-2006 19:46 430133

amel27
Спасибо за толковое разъяснение.
А ссылку на свежее описание метода не дашь? У меня сохранилась ссылка только на старое описание, которое уже давно не обновлялось.

amel27 21-04-2006 05:12 430237

bogomolv
нет, ссылки нет но там практически ничего не изменилось, вот несколько дополнений из личного опыта:

1. Для того чтобы к GOSH-дистрибутиву можно было применять трансформ-паки типа nLite нужно дополнительно скопироватьиз дистрибутива файл dosnet.inf... а если изменения касаются txtsetup.sif, то по окончании процесса скопировать его из i386 в BOOT. Для пакетов драйверов, затрагивающих начальную фазу загрузки (MassStorage) нужно дополнительно скинуть из i386 в BOOT файлы *.sys (только новые).

2. Для локализованных версий нужно дополнительно скопировать bootfont.bin
3. Для XP SP2, 2K3 SP1 файл setupldr.bin взять из дистрибутивов XP SP0/SP1, 2K3 SP0

Boa Soft 21-04-2006 10:20 430292

Цитата:

Для XP SP2, 2K3 SP1 файл setupldr.bin взять из дистрибутивов XP SP0/SP1, 2K3 SP0
При использовании BCDW, совместимого с SP2 это совершенно не нужно. Новый setupldr.bin патчится нормально.

DmitryOlenin 21-04-2006 16:01 430413

Если я понял все правильно, то FAKE-setup делает нечто, после чего передает управление настоящему файлу setup.exe, который отрабатывает после копирования файлов и перезагрузки.
Выше писали о том, как бы все от старой винды почистить, а потом ставить начать, при этом запустив все из Windows.
Так может проще сделать так:
1.
Код:

winnt32.exe /tempdrive:c /unattend:unattend.txt /noreboot
2. Пишем на чем угодно setup.exe так, чтобы он просто запускал наш батник и закрывался.
3. Батник создаем и кладем его в $WIN_NT$.~LS. Например так: create.bat
Код:

@echo off
ren "%SystemDrive%\$WIN_NT$.~LS\setup.exe" setup1.exe
copy /y setup.exe "%SystemDrive%\$WIN_NT$.~LS\"
echo @echo off>%SystemDrive%\$WIN_NT$.~LS\dele.bat
echo rd %windir%>>%SystemDrive%\$WIN_NT$.~LS\dele.bat
echo rd %ProgramFiles%>>%SystemDrive%\$WIN_NT$.~LS\dele.bat
echo rd %allusersprofile%>>%SystemDrive%\$WIN_NT$.~LS\dele.bat
echo rd %homepath%>>%SystemDrive%\$WIN_NT$.~LS\dele.bat
echo del setup.exe>>%SystemDrive%\$WIN_NT$.~LS\dele.bat
echo ren setup1.exe setup.exe>>%SystemDrive%\$WIN_NT$.~LS\dele.bat
echo setup.exe>>%SystemDrive%\$WIN_NT$.~LS\dele.bat

Итого скрипт для установки из винды будет состоять из 3х строк.
Установка файлов винды, копирование батника, перезагрузка компа.

Или я чего-то не понял? Если так - поясните пожалуйста ;)

DmitryOlenin 21-04-2006 23:04 430551

Только что проверил на виртуалке.
У меня почему-то не создается директория [и]$WIN_NT$.~LS[/b]
Но при этом инсталляция идет(проверил после перезагрузки). Более того, директория $WIN_NT$.~BT занимает около 10Мб.
Кто-нибудь может обьяснить, как такое может быть?

P.S.
Проверил dosnet.inf, он далеко не пустой.

-----------
Дело в файле автоустановки (*.sif). Попробовал без него ввести серийник и прочее руками - все ок.
Может галочка - копировать все файлы не ставится по умолчанию?

---------------
Точно, только что проверил. По-умолчанию эта галка не стоит...

amel27 22-04-2006 08:21 430627

DmitryOlenin
Цитата:

Если я понял все правильно, то FAKE-setup делает нечто, после чего передает управление настоящему файлу setup.exe, который отрабатывает после копирования файлов и перезагрузки.
Именно так, причем независимо от способа установки - с CD или HDD.
Цитата:

2. Пишем на чем угодно setup.exe так, чтобы он просто запускал наш батник и закрывался.
3. Батник создаем и кладем его в $WIN_NT$.~LS. Например так: create.bat
Попробуй хоть раз написать "на чем угодно setup.exe", например на AutoIt и перед запуском оригинального SETUP запусти "CDM /K" - обнаружишь много для себя интересного, например что %windir% удалить уже невозможно, так как это текущая папка для новой WINDOWS... Смысл строчки "del setup.exe" тоже не понятен, впрочем она и не отработает.

EDIT: извиняюсь, насчет %windir% поторопился - действительно, CMD создается еще в старой Windows... Текст не стал править, остальное остается в силе.

DmitryOlenin 22-04-2006 10:00 430641

amel27
Проверил бы... Только я пока до конца не разобрался во взаимодействии упакованного setup.ex_, setuporg.exe и presetup.bat.
У меня драйвера от Башрата, так что, по идее, все это должно использоваться.
Cтрочка rd /q /s d:\windows, именно так она выглядела после отработки батника в старой винде, не отработала в том самом presetup.bat.

P.S.
Да, кстати, я попробовал написать на чем угодно setup.exe. 7Кб вышло. Да, кстати, само себя переименовать он вполне может.
Я так понял под cdm имелось в виду cmd. Если у меня получится сначала передать управление моему файлу, то, есть предположение, каталог вида d:\windows вполне удалится.

bogomolv 23-04-2006 02:18 430885

amel27, DmitryOlenin
Ткните пальцем, куда класть свой setup.exe, кого при этом переименовывать и т.д.
Ваши предложения:
Код:

REN Setup.exe SetupOld.exe,%SystemRoot%\\System32
и
ren "%SystemDrive%\$WIN_NT$.~LS\setup.exe" setup1.exe

У меня ни в $WIN_NT$.~LS, ни в $WIN_NT$.~BT вообще нет никаких setup.exe!

Пока лишь удалось создать дистрибутив из временных папок $WIN_NT$.~LS и $WIN_NT$.~BT и вписать его в свою конструкцию переустановки с HDD:
1) с HDD запускается батник, создающий маркерный файл и перезапускающий систему под WinPE;
2) WinPE, реагируя на маркерный файл, удаляет системные папки и копирует из нового дистрибутива $WIN_NT$.~LS, $WIN_NT$.~BT и boot.ini и вновь отправляет машину на перезагрузку;
3) после перезагрузки подхватываются $WIN_NT$.~LS и $WIN_NT$.~BT и начинается установка Windows.
В результате удалось сэкономить 1 минуту на первом графическом этапе установки с HDD, и установка всей системы (с дровами и прогами) занимает 13 мин 40 сек.
Если научите, как и чем удалять системные папки, не презагружаясь в WinPE, удастся сэкономить еще 40 сек.
А вот с размерами дистрибутива выигрыш небольшой - 379MB против прежних 392MB (это без папки $OEM$).

Кстати о рекордах. При обычном способе вся система у меня ставится примерно за 14 мин 40 сек - 15 мин.
Когда вышел на этот уровень, обнаружилась такая ерунда - после завершения последнего графического этапа установки остается голубой экран с курсором и система висит до 2 минут, лишь изредка помигивая лампочкой активности HDD. В итоге никак не мог перешагнуть рубеж в 16 мин 30 сек.
Вот выдержка из setuplog.txt:
Код:

04/21/2006 21:29:53.077,d:\xpsprtm\base\ntsetup\syssetup\services.c,496,,SetupStartService: Sending StartService to <Eventlog>
ЗАВИСАНИЕ НА 30 сек
04/21/2006 21:30:22.952,d:\xpsprtm\base\ntsetup\syssetup\services.c,498,,SetupStartService: Sent StartService to <Eventlog>
....
ПОСЛЕДНЯЯ ЗАПИСЬ ПЕРЕД ПЕРЕЗАГРУЗКОЙ
04/21/2006 21:30:22.968,d:\xpsprtm\base\ntsetup\syssetup\syssetup.c,6664,END_SECTION,Installing Windows NT
ЕЩЕ ОДНО ЗАВИСАНИЕ ДО 2 мин ... И СЛЕДУЮЩАЯ ЗАПИСЬ УЖЕ ПОСЛЕ ПЕРЕЗАГРУЗКИ
04/21/2006 21:32:31.140,d:\xpsprtm\base\ntsetup\syssetup\oobe.c,1127,,SetupOobeInitDebugLog
....

Нашел крайне глупое, но работающее(!) решение этой проблемы. На выходе из стадии CMDLINES запускаю установку "тяжелого" MSI-установщика (Nero7 или MSIntelliPoint для своей мыши). Причем запускаю не через RunWait, а через Run. То есть последние стадии установки Windows идут параллельно с работой MSI-установщика. В итоге - никаких зависонов! Эти самые MSI-установщики даже не всегда успевают отработать до конца!
Setuplog.txt такой установки:
Код:

04/21/2006 23:11:02.187,d:\xpsprtm\base\ntsetup\syssetup\services.c,496,,SetupStartService: Sending StartService to <Eventlog>
НЕТ ЗАВИСАНИЯ
04/21/2006 23:11:02.187,d:\xpsprtm\base\ntsetup\syssetup\services.c,498,,SetupStartService: Sent StartService to <Eventlog>
....
04/21/2006 23:11:02.203,d:\xpsprtm\base\ntsetup\syssetup\syssetup.c,6664,END_SECTION,Installing Windows NT
НЕТ ЗАВИСАНИЯ. РАЗРЫВ В 40 сек НА ПЕРЕЗАГРУЗКУ
04/21/2006 23:11:42.328,d:\xpsprtm\base\ntsetup\syssetup\oobe.c,1127,,SetupOobeInitDebugLog

Кто-нибудь, что-нибудь понимает? Я - нет.
Да и решением найденый способ, конечно, назвать нельзя. Сам знаю, что MSI-установщики не рекомендованы для CMDLINES. В результате MSIntelliPoint нормально ставится в одном случае из пяти, а Nero7 так вообще приходится переустанавливать на следующей стадии...

P.S. Дистрибутив WinXP SP2 Prof RUS Corporate Edition (самоделка). Проверял на несамодельной WinXP SP2 Prof RUS VLK. Кроме того, что она у меня всегда ставится на 2 минуты дольше (заметно медленнее идет стадия копирования файлов), поведение такое же. Пробовал и с интегрированными обновлениями и без - все так же.

amel27 23-04-2006 11:17 430917

DmitryOlenin
Цитата:

Я так понял под cdm имелось в виду cmd
Глубокомысленное замечание :)

bogomolv
Цитата:

У меня ни в $WIN_NT$.~LS, ни в $WIN_NT$.~BT вообще нет никаких setup.exe!
поищи i386\setup.ex_

Цитата:

Ткните пальцем, куда класть свой setup.exe, кого при этом переименовывать и т.д.
1. Оригинальный setup.exe переименовать в setuporg.exe, и обеспечить его попадание в System32 во время установки, варианты:
- использовать txtsetup.sif (можно запаковать в setuporg.ex_);
- использовать ф-цию AutoIT FileInstall;
- прямое копирование перед переименованием. Имхо не лучший вариант, т.к. привязан к абсолютному пути.

2. Запаковать Fake setup.exe в setup.ex_ и поместить в i386
Код:

REN Setup.exe SetupOld.exe
REN SetupOrg.exe Setup.exe

Цитата:

Если научите, как и чем удалять системные папки, не презагружаясь в WinPE, удастся сэкономить еще 40 сек.
Попробуй перед запуском оригинального setup.exe запутить "CMD /K" и удалить папки/файлы из командной строки.

DmitryOlenin 23-04-2006 15:28 430957

amel27
Как перед запуском setup.exe можно что-то запустить?
Обьясните, если возможно, как взаимодействуют setup.exe, setuporg.exe и, собственно, предполагаемый presetup.bat.

Я понял так, что после загрузки из bootsect.dat(кажется так) винды распаковывает и запускает setup.exe.
В случае, если в txtsetup.sif как-то хитро(пока не понял, что означают эти запятые и цифры) прописаны setuporg.exe и некий батник(например presetup.bat), то сначала запускаются они, а потом управление передается настойщему setup.exe.

Но что и как надо запаковывать, а главное надо ли - я не понял. А так же попробовал прописать что-нибудь в уже готовый presetup.bat - не выполняется. Несмотря на то, что этот файл из комплекта драйверов от Bashrat и у меня нет причины сомневатся в его работоспособности...

amel27 24-04-2006 08:55 431088

DmitryOlenin
Цитата:

В случае, если в txtsetup.sif как-то хитро(пока не понял, что означают эти запятые и цифры) прописаны setuporg.exe и некий батник(например presetup.bat), то сначала запускаются они, а потом управление передается настойщему setup.exe.
в txtsetup.sif указаны файлы только для копирования, переименовывать и запускать придется самому из Fake-Setup, в том числе и presetup.bat. Насчет использования txtsetup посмотри аддоны с форума.

З.Ы. Скрипт в первом сообщении вполне рабочий. ;)

DmitryOlenin 24-04-2006 12:25 431154

amel27
Я просил пояснить последовательность действий винды после перезагрузки.
По какому именно принципу что запускается. Что переименовывать надо из запускаемых файлов - это я и сам понял.
Меня интересуют механизмы взаимодействия. Как что и с чем. Пока что я этого так нигде и не увидел...
По ссылке от Vadikan лишь прочел порядок действий для интеграции драйверов при использовании этого метода.

P.S.
Спасибо за разъяснение насчет txtsetup.sif. Хотя я все еще не понял - это для первичного копирования на HDD или для копирования после запуска "синей" установки.

Boa Soft 24-04-2006 12:57 431163

Цитата:

З.Ы. В AutoIT меня не устраивает только привязка к языку, а собирать титлы окон для всех языков (у меня их три) и систем (тоже три) не очень хочется...
Я написал тулузу, свободную от этого. Титлы берутся из ресурсо винды. Если не влом, выложи аутоитовский скрипт и прочие настройки.

Я тестил утилиту в винде на неподписанных драйверох - все отработало. При установке - не отработало. Какие установки были в sif ?


bogomolv 04-05-2006 19:53 434377

amel27
Ну и...? Чего молчим? Чего ждем? :)
Колись! Так Fake-setup отрабатывает на 39 мин.? Я пока добился только зависания на этой стадии. Есть серьезные подозрения :), что именно на этой стадии и должен отработать твой скрипт.
Значит, для моей задачи он не подходит и не может подойти? Прежнюю-то папку Windows мне нужно затереть до "синей" стадии копирования! До запроса о том, что делать со старой папкой!

DmitryOlenin 05-05-2006 11:39 434584

Да-да, я все тоже жду ответа на мое сообщение... Надеюсь автор сможет прояснить не совсем ясные для меня моменты.

7ka 02-03-2010 07:52 1359278

Цитата:

Цитата amel27
Возможность условного заполнения реквизитов. Например, загрузив из INI-файла базу всех ПК можно автоматически заполнить имя машины, лицензионный ключ и т.д. »

хорошобы увидеть это в fakesetup :)


Время: 12:21.

Время: 12:21.
© OSzone.net 2001-