Цитата:
копирование папки i386 перенесли на T13
а планируется ли как нибудь выкрутиться без этой операции в будующих релизах?
|
Если ТЕБЕ это не нужно - отключи в Finish.cmd.
Цитата:
Правильно ли я понял (сори я не очень разбераюсь в батниках), если мой DRIVERS.EXE распаковываетса в %SystemRoot%\Drivers , то в PreSetup.cmd мне надо поменять
|
Новая версия не работает более с SFX. Все идет в простых архивах 7z. Так проще. Если надо - замени распаковку архивов на запуск своего sfx. Более ничего не надо менять. Скрипт уже проверенный и не дает проблем.
presetup.cmd
Код:

@ECHO OFF
REM Set variables
// Это куда распаковываются Башратовские архивы.
SET DRVROOT=%SystemDrive%\
// Это куда ляжут после распаковки драйвера
// В его архивах такая структура
// .\D
// \имя класса драйверов
// \папка1
// \папкаN
SET DRVDIR=%DRVROOT%\D
//имя папки, где лежат упакованные в архивы драйвера на сд (можно и в корне HDD)
SET OEMDIR=DRV
// Выбор метода 0 - через setdevicepath 1- SetupCopyOEMInf
SET CopyInf=0
//происк диска с папкой упакованных драйверов.
REM find driver arhives folder at TAGFILE
FOR %%i 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 "%%i:\%OEMDIR%" set CDDRIVE=%%i:
//Распаковка архивов
CD /D %DRVROOT%
REM auto unpacking all driver 7z arhive
%SystemRoot%\system32\7za.exe x -y -aoa %CDDRIVE%\%OEMDIR%\*.7z -o"%DRVROOT%"
//Проверяем, были ли распакованны драйвера, если нет - считаем, что они в распакованном виде уже лежат на HDD в DRIVERS
REM Check HDD or RIS mode
IF NOT EXIST %DRVDIR% SET DRVDIR=%DRVROOT%\DRIVERS
// Обход дерева каталогов драйверов или прекопирование Inf
IF %CopyInf%==0 (
REM prepare install signed or unsigned drivers
REM RegPath metod
%SystemRoot%\system32\SETPATH.EXE %DRVDIR%
) ELSE (
REM prepare install signed or unsigned drivers
REM CopyOemInf metod
%SystemRoot%\system32\CopyInf.exe %DRVDIR%
)
//Запуск WATCHDRV.EXE
REM supress check signed drivers
Start %SystemRoot%\system32\WATCHDRV.EXE
EXIT
Обращаю внимание, что setup в пакете - новая версия, которая переименовывает и запускает реальный setup сама.
Цитата:
Кстати могу ли я в самом конце из RunOnceEx.cmd убить C:\WINDOWS\I386 ?
|
Смотри первое предложение. Но, не проще ли DEL %SystemRoot%\system32\*.sif ???
PS Обьясняю еще раз. На очень многих ноутах и фабрично предустановленных брендовых компах присутствует или в корне или в папку винды папка i386 дистрибутива. Иногда в порепаном виде - удалены средства установки (winnt, winnt32 и некотрые вложенные папки ).
И все source* в реестре прописаны на неё.
Сделанно это для того, чтобы уменьшить число обращений юзерей в ТП. при таком методе при доустановке опциональных компонентов не надо втавлять диск. При порче вайлов WFP просто возьмет из этой папки файлы, а не будет просить диск.
Так что, если не надо - отключите в Finish, поставив SET CopySrc=0
PS2 Скоро выложу свою версию setup, конфигурируемую на основе дополнительной секции в файле ответов.
Сделано на основе наблюдения, что виндовс игнорирует неизвестные ему секции и значения в файле ответов, но файл с небольшими дополнениями копируется в $winnt$.sif. Поэтому при запуске setup мы просто обрабатываем дополнительную секцию этого файла и делаем выводы. Могу сделать при отсутствии секции вывод диалога выбора параметров.