PDA

Показать полную графическую версию : [addon] интеграция драйверов


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 [41] 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123

sergelen
17-01-2007, 11:58
Boa Soft
пропала строка VerCheck.exe из finish.ini, как будет выполняться ССС или СР для ати?

Boa Soft
18-01-2007, 01:22
VelDmi

Сейчас так и происходит. Но ведь любой балбес сможет найти и поправить cmd и вся защита насмарку

Если Вы крупный ведор, то можете договориттся с MS и предустанавливать на свои компы SPL системы, которые на оборудовании других вендоров не пойдут :).

А ради потенциальной возможности какой-то защиты, в ко встраивать ничего специально не хочется. Или токо за пиво.


Обновление от 77.01.07

Исправлено. Клавиатуру уже пора менять - клавиши то не нажимаются, то дребезг...

PS Вчера с дружественной фирмы принесли нард с полезностями - так там и пакет Petya V4sechkin`а с аддонами и pre sp3 dimadr`а...
Достаточно популярны среди наших IT.

PS2 Кто нибуть тут пользовался методом с использованием запуска SetupCopyOEMInf.exe с MSFN из presetup.cmd? На сколь успешно?
А то мой встроенный метод создает только около 15 oem*.inf + *.pnf из около 700 возможных. Из Finish тот же код отрабытывает все нормально - копируются все (около 700) инфов пакета. Вот и не пойму, то ли ошибка в коде, толи не все работает до запуска сетапа.
А исходники, когда-то выложенные на MSFN уже не найти. По MSDN вроди все правильно, но точно трудно сказать, что не устраивает систему и копируется только. около 15 инфов.

sergelen
18-01-2007, 03:36
Обновление от 77.01.07
не исправлено :)

biork
18-01-2007, 12:56
Заметил парочку ньюансов:

1) если в finish.ini не указать параметр в строчке KeepHWDir=...
то никакого копирования выбранных драйверов не происходит,
то есть установки KeepHWClass=... и KeepHWInstalled=... не учитываются.
Папка KeepDrvDir=... создаётся успешно в любом случае.

2) если запускать finish.exe в самом конце (RunOnceExKey = ZZZZ_002), то перед перезагрузкой промелькивает
старая ошибка, правда установка на ней не застревает. Если запускать finish.exe в начале (RunOnceExKey = 002),
то всё нормально :-)

Boa Soft
19-01-2007, 00:40
biork
1) если в finish.ini не указать параметр в строчке KeepHWDir=...
Уже нашел. Условие неправильно проверялось - место and надо было or.


2) если запускать finish.exe в самом конце (RunOnceExKey = ZZZZ_002), то перед перезагрузкой промелькивает
старая ошибка, правда установка на ней не застревает. Если запускать finish.exe в начале (RunOnceExKey = 002),
то всё нормально :-)

Это уже хуже. Пожалуйста, выложите пример вашего RunOnceEx и FinishDrv.log. Возхможно, это поможет решить проблему.
К стати если запускать finish.exe в самом конце (RunOnceExKey = ZZZZ_002), то перед перезагрузкой промелькивает
старая ошибка, правда установка на ней не застревает поясните это. Когда происходит перезагрузка? Не запускается ли она ДО
finish? А то, возможно, просто система сворачивается ранее, чем он отработает.

biork
19-01-2007, 11:47
поясните это. Когда происходит перезагрузка? Не запускается ли она ДО
finish? А то, возможно, просто система сворачивается ранее, чем он отработает.

Так и есть! RunOnceExKey = ZZZZ_002 ставит команду на запуск finish.exe в самый конец, а последней командой у многих является очистка и перегрузка, которая становится предпоследней :)
К тому же у меня драйвера, вместе с finish.ini распаковываются в Temp, поэтому и возникла такая ситуация... Так что ложная тревога и частный случай.

ProkVS
19-01-2007, 14:05
У меня пожалуй самая распространенная задача - интегрить все пакеты от башрата таким образом,
чтобы после установки ОС все они остались в системе и в случае необходимости, Windows смогла их найти!
Путь по умолчанию %SystemRoot%\OEMDrv вполне устраивает, при этом нет никакой необходимости иметь драйвера в корне диска,
что у меня вышло оставив конфигурационные файлы без изменения: часть драйверов осела в %SystemDrive%\D, а часть попала в %SystemRoot%\OEMDrv
Подскажите, пожалуйста, какие нужно внести изменения в конфигурационные файлы чтоб поиметь необходимый результат?
Хелпы читал, несколько раз, неполучаисса :(

Boa Soft
19-01-2007, 18:00
ProkVS

Если стоит параметр AutoCleanup = 0, то дайвера из %SystemDrive%\D сами не удалятся.

После проверки, что все нормально, надо выполнить finish.exe cleanup и будут удалены все остатки от аддона и папка %SystemDrive%\D.

Если же поставить AutoCleanup = 1, то все удалится автоматом.

ЗЫ. Похоже, придется mini-FAQ написать.

biork
Так и есть! RunOnceExKey = ZZZZ_002 ставит команду на запуск finish.exe в самый конец, а последней командой у многих является очистка и перегрузка, которая становится предпоследней
К тому же у меня драйвера, вместе с finish.ini распаковываются в Temp, поэтому и возникла такая ситуация... Так что ложная тревога и частный случай.

Ну, и слав богу. В неовой версии я сделал так, чтобы при ошибке программа просто завершилась с записью в лог, но не висело окно ошибки.



sergelen
пропала строка VerCheck.exe из finish.ini, как будет выполняться ССС или СР для ати?

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

ProkVS
20-01-2007, 14:39
Boa Soft
mini-FAQ это конечно хорошо, но думаю многим, неискушенным в интеграции драйверов пользователей, больше пригодилась парочка самых распрастранённых готовых типовых решений в виде комплектов конфигурационных файлов, что-то типа:
- Для интеграции драйверпаков башрата в чистом виде с сохранение драйверов в установленной ОС - качать комплэкт (http://) (PreSetup.ini, finish.ini, msst.ini)

Не сочтите за лентяйство и предложение "разжевать и в рот положить", для вас настройки просты и очевидны, а мой мозг несколько дней находился в диком напряжении пытаясь понять всю глубину закономерностей настроек в разых файлах :), думаю многие убили не один час, а то и день, дабы достичь шоблонного результата...

sergelen
21-01-2007, 07:18
ни у кого не было такого ? после применения аддона, все sfx 7z архивы не видят параметры как RunProgram="hidcon:Setup.cmd" (в случае winamp), вылетает ошибка "не найден "hidcon:Setup.cmd"" - пробую на VMWare, на рабочей сиcтеме те же архивы нормально инсталлируются. Может както связано с предыдущей ошибкой 7z ?

Boa Soft
21-01-2007, 11:33
sergelen

В аддоне содержится hidcon.exe, копируемый в system32. Остался как наследие от panels.cmd. Можно в принципе его убрать, на работу не повлияет. Но, у меня куча прог с инсталляторами с hidcon внутри. И, ни разу такой ошибки небыло.

ProkVS
Не будет. Особо msst.ini. Башрат уже обижался на выкладывание подобной информации.

ya158
21-01-2007, 15:38
Boa Soft
3. Исправлена несовместимость с аддоном WinRar (в RAR не открывались 7z архивы) (переименована 7zxa.dll в Un7z.dll)
Что-то у меня при установке не находятся пакеты драйверов - в логе пишется, что не найдена 7zxa.dll

sergelen
23-01-2007, 09:01
Не могу разобраться с установкой ATi CCC, чтобы выполнялась установка CCC4NEW для Catalyst 7, и CCC4OLD для Catalyst 6.4
Использую строки в finish.ini:
[Panels_001]
Caption=New Ati driver - Catalyst Control Center
TagFile_01=%DRVDIR%\ati2mtag.sys
TagFile_02=%DPROOT%\V\ATI\CCC4NEW\ISScript9.Msi
Condition_01=%DPROOT%\V\ATI\VerCheck.exe "%DRVDIR%\ati2mtag.sys" "6.14.10.6660"
Command_01=MSIEXEC /i %DPROOT%\V\ATI\CCC4NEW\ISScript9.Msi /qn /norestart
Command_02=MSIEXEC /i %DPROOT%\V\ATI\CCC4NEW\ATICCC.msi /qn /norestart

[Panels_002]
Caption=Old Ati driver - Catalyst Control Center
TagFile_01=%DRVDIR%\ati2mtag.sys
TagFile_02=%DPROOT%\V\ATI\CCC4OLD\ISScript9.Msi
Condition_01=%DPROOT%\V\ATI\VerCheck.exe "%DRVDIR%\ati2mtag.sys" "6.14.10.6601"
Command_01=MSIEXEC /i %DPROOT%\V\ATI\CCC4OLD\ISScript9.Msi /qn /norestart
Command_02=MSIEXEC /i %DPROOT%\V\ATI\CCC4OLD\ATICCC.msi /qn /norestart
Поправьте, если строки не верны.
Это строки для распакованных CCC, а как будут выглядеть они с упакованными в 7z архивы CCC4NEW.exe и ССС4OLD.exe?
P.S. sorry, если надоел с этими ати центрами =(

Boa Soft
25-01-2007, 02:50
ya158

Что-то у меня при установке не находятся пакеты драйверов - в логе пишется, что не найдена 7zxa.dll

Судя по всему у вас остался старый сетуп. Удалите папку Compressed и пеесоберите аддон заново. Или же, запакуйте setup.exe из нового пакета в каб и поместите его с перезаписью в папку i386 собранного дистрибутива.

Добавил в шапку:

PS В связи стем, что обычно от версии к версии сильно меняется структура, то обновлять аддон простой распаковкой в старую папку с перезаписью нежелательно.

Лучше поступать по такому алгоритму. Переименовать старую папку аддона. Распаковать новый аддон. перенести пакеты драйверов.
Прочитать об изменениях и отредактировать (или просто перенести) конфигурационные файлы из старого аддона. После проверки не забыть удалить старую папку.

sergelen
Поправьте, если строки не верны.
Это строки для распакованных CCC, а как будут выглядеть они с упакованными в 7z архивы CCC4NEW.exe и ССС4OLD.exe?

В принципе, все верно. VerCheck.exe положите в нужную папку. Версии файлов надо прописать те, которые у вас в дествительности (посмотреть свойства файлов).

С упакованными не работал - двойная упаковка увеличивает размер архивов. К тому же, я отказался от применения консолной версии 7z, поэтому придется или делать SFX или класть в пакеты 7za = консольный 7zip.

Можно стелать силент установки и панейлей и контролцентра по аналогии с DOT NET.

biork
27-01-2007, 04:26
Не могли бы Вы пояснить значение строчек в примере:

[EXCLUDE_DIRS]
;*=V\NV\OLD
PCI\VEN_10DE&DEV_0392=V\NV\OLD
PCI\VEN_10DE&DEV_0020=V\NV\NEW
PCI\VEN_10DE&DEV_0028=V\NV\NEW
PCI\VEN_10DE&DEV_00A0=V\NV\NEW
...


для чего потребовалось данное исключение?
Или это чисто формальный пример?

И ещё... не пойму в чём проблема, но ни хотит ставиться панель. Вроде бы и ati2mtag.sys присутствует, и пути правильные, ан нет... Check TagFiles - false...

ya158
27-01-2007, 12:55
Boa Soft
Судя по всему у вас остался старый сетуп. Удалите папку Compressed и пеесоберите аддон заново. Или же, запакуйте setup.exe из нового пакета в каб и поместите его с перезаписью в папку i386 собранного дистрибутива.
Понял. Всё получилось. Огромное спасибо!

Boa Soft
27-01-2007, 18:47
biork
е могли бы Вы пояснить значение строчек в примере:

С новыми драйверами не работают нормально старые карты (ранее 5200) - глючит оверлей и прочее. Ранее решал правкой инфов, но терялась подпись. Поэтому решил решить таким образом.

sepich
27-01-2007, 22:10
Если установлено:
UseMakeOEMDrvPnf = 1
то при установке MassStorage пака на Promise150 TX2plus PCI в текстовом режиме винт видится, графический режим установки тоже проходит нормально.(7z архивы распаковываются и т.д.) Но после второй перезагрузки перед стартом винды получаю BSOD 0x7B. Если выставить UseMakeOEMDrvPnf в ноль, то все ставится нормально. Пробовал несколько раз с разными аддонами. Насчет других драйверпаков ничего не могу сказать, интегрировал только MassStorage.

Boa Soft
28-01-2007, 02:39
sepich

Все дело в том, что CopyOemInf не работает на данном этапе (похоже, еще не стартовала криптография, необходимая для сопирования CAT и создания PNF). Поэтому, скоро выложу версию, в которой это будет действовать только на режим работы финиш.

Причина бсода - не произошла установка никаких драйверов, в том числе и контроллера диска.

Подождите немного - накопилось достаточно много мелких исправлений, которые надо оттестировать.

К тому же, я сейчас занялся (достаточно успешно) клонированием - было написано несколько утилит для суспреп установки на основе кода утилит этой темы. Поэтому, глюки отлавливаю параллельно в два потока...

SkySandy
31-01-2007, 08:33
На одном известном сайте нашел такой патчик:

Anti Driver Signing Patch for Win XP/2K3 V1
This patch will disable disable driver signing policy by setting the initialisationvalue of 'GlobalSetupFlags' to 0x40 inside setupapi.dll .data section.

It's an Offset patch that will only work with setupapi.dll
5.1.2600.2180 WinXP SP2
5.2.3790.0 Win2k3 retail

Before this patch appling the 'Windows System File Protection Patch(SFC) patch'. Or see Antiwpa2 readme on how to cheat it without patching.

Well normally this flag will only be set when
ntdll.VerSetConditionMask(NT_Embedded) KERNEL32.VerifyVersionInfoW Returns true
AND !!!
If "Software\Microsoft\Windows\CurrentVersion" "MinimizeFootprint"
EXISTS
but with this patch the initialisationvalue for GlobalSetupFlags will be 0x40 and no longer 0x0.

the Snipped SETUPAPI.dll (Winxp sp2)
778F71E3 CALL GetEmbeddedFlags
778F71E8 OR [GlobalSetupFlags], EAX

778F71EE CALL GetSeed
778F71F3 MOV [Seed], EAX

GetEmbeddedFlags
If EXISTS "Software\Microsoft\Windows\CurrentVersion" DWORD-Value "MinimizeFootprint" then
GlobalSetupFlags |= 0x40 (Flagsetbit via OR)
completely disable Driver Signing policy

----------------------------------------

"HKLM\System\WPA\PnP","seed"
^This strange value is also somehow involved in
driver signing settings protection
(problably to prevent hardware vendors to you modify driversigning policy in registry via a inf-file)


GetSeed
Return 0x0 WHEN (GlobalSetupFlags && 0x40)
Return RegQuery("HKLM\System\WPA\PnP","seed")

pSetupGetCurrentDriverSigningPolicy

pSetupGetRealSystemTime
If ok use "HKCU\Software\Policies\Microsoft\Windows NT\Driver Signing"
Else use "HKCU\Software\Policies\Microsoft\Windows NT\Non-Driver Signing"
---------


pSetupGetRealSystemTime
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup
"PrivateHash"
Checked against "PrivateHash"


"HKLM\System\WPA\PnP","seed=0xabc4e975"
ADVAPI32.CryptHashData (0xabc4e975)
Get 0x10 byte MD5 hash

"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" ,
"PrivateHash"="7D EA 36 2B 3F AC 8E 00 95 6A 49 52 A3 D4 F4 74"
Compare it with the created one

"Per-machine codesigning policy settings appear to have been tampered with. "
well "per-machine" means the application is available for all users of a computer.

ahgr no matter how this is working - don't need to care about
Per-machine codesigning policy anymore




© OSzone.net 2001-2012