Показать полную графическую версию : Перепаковка пакетов драйверов
он сделан отдельным паком » Знаю, скачан, распакован куда положено.
nView Desktop Manager является частью панели » Нет, это отдельный компонент драйвера, у него даже установщик свой (nviewsetup.exe). Кстати, как удобнее всего пожать кучу файлов в CAB без сжатия?
из-из кривого родного установщика » Да, я уже в курсе (http://forum.oszone.net/post-1737591-1153.html). Так что либо через анус, либо дрова не выше 258.96 :(
Пытался как обычно - сначала просто драйвер от Башрата, перепакованный здешним скриптом, потом с перепаковкой nView обратно в каб, как в оригинале... И так и эдак - болт. Правда, их оба (nView и PhysX) можно и через финишер поставить, но он криво работает - 2 раза запускает установщик, почему-то думая, что у меня на компе стоят и обычная и мобильная видюхи. :) И с таг-файлами не поиграешься - все названия то одинаковые.
Опытным путем вычислил последние версии дров со "старым" инсталлятором: 258.96_desktop(notebook)_winxp_32bit_international_whql и 259.81-Quadro-winxp-32bit-international-whql - может понадобится кому...
JohnnyD,
Мне сейчас не на чем эксперементировать. Вот какие задумки - после обработке моим скриптом путь к PhysX получается "%DPSROOT%\D\V\N1\PhysX_9.10.0514_SystemSoftware.msi", а в оригинале он лежит "%DPSROOT%\D\G\N1\PhysX_9.10.0514_SystemSoftware.msi". Может в этом проблема?
Далее. Поскольку, если я не ошибаюсь, на Т34 не работает и оригинальный NvCplSetupInt.exe, то попробовать подсунуть INF-файлу драйвера вместо оригинального NvCplSetupInt.exe пустышку (вопрос: проверяет ли INF-файл драйвера установилась ли или нет панель и вся остальная херемория?). Если драйвер это проглотит, то тогда панельможно пробовать устанавливать через финишер.
Кстати, как удобнее всего пожать кучу файлов в CAB без сжатия? »
Что-то типа
Tool\cabarc -m NONE -p -r -P ПАПКА N ФАЙЛ.Cab
потом с перепаковкой nView обратно в каб, как в оригинале... »
Это как - просто удаляешь папку NvCplSetupInt и заменяешь мой фейк NvCplSetupInt.exe на оригинальный?
но он криво работает - 2 раза запускает установщик, почему-то думая, что у меня на компе стоят и обычная и мобильная видюхи. »
Это ерунда - если пройдёт фокус с пустышкой на Т39, то можно написать скрипт, который будет проверять установлена или нет панель (по наличию файлов панели в Program Files или ещё чего-нибудь) и, если не установлена, то запускать инсталлятор. Запускать такой скрипт можно через финишер.
Может в этом проблема? » Нет, это я исправил.
Это как - просто удаляешь папку NvCplSetupInt и заменяешь мой фейк NvCplSetupInt.exe на оригинальный? » Ты путаешь панель и nView - это 2 разных компонента драйвера. С установкой панели (NvCplSetupInt.exe) то как раз в новых версиях проблем нет. А вот nView и PhysX не ставятся при обработке INF-а, как было раньше. Перепаковка обратно в CAB - потому что в оригинальном драйвере nView запакован в него (кроме сетапа), а не раскидан по всей папке как у Башрата в виде отдельных файлов. И (в старой версии драйверов) он тупо не ставится, если не запакован в CAB, а раскидан по всей папке, как у Башрата. Теперь понятно? :) Запаковываю в CAB, естественно, после обработки здешним скриптом.
то можно написать скрипт » Ну и зачем скрипт писать, финишер и сам умеет это проверять. Вот только все файлы у обычных и мобильных драйверов называются одинаково - то есть финишер тупо не поймет, какая видюха стоит (обычная или мобильная) и тупо запустит установку 2 раза. А проверка по хвидам тупо не работает - видимо глюк финишера.
Запаковываю в CAB, естественно, после обработки здешним скриптом. »
И после этого всё равно не идёт? А INF-файл драйвера точно запускает nviewsetup.exe на Т39? Запаковывать в каб силами скрипта в принципе не ппроблема.
Ну и зачем скрипт писать, финишер и сам умеет это проверять. »
Разве финишер проверяет установлен уже PhysX или нет? Он проверяет установлен ли драйвер (два раза) и, если драйвер установлен (проверка по таг-файлу), то устанавливает PhysX (тоже два раза, если таг-файлы совпадают). Скрипт же будет запускаться по таг-файлу (два раза), проверять установлен ли уже PhysX или нет, и устанавливать первый раз PhysX и просто завершаться без установки PhysX второй раз.
И после этого всё равно не идёт? А INF-файл драйвера точно запускает nviewsetup.exe на Т39? » Нет, не идет.
Не знаю - видимо нет. В старых версиях - запускал, а сейчас, как я понимаю, все на откуп оригинальному setup.exe отдано...
Разве финишер проверяет установлен уже PhysX или нет? » Да легко! Он умеет проверять наличие любого файла в любом месте, на момент запуска финишера.
exc_1_tagFiles = 4
exc_1_tagFile1 = "%SystemDrive%\ATICCC.ins"
exc_1_tagFile2 = "%DPSROOT%\D\3run\vcredist_x86_2005_sp1\vcredist.msi"
exc_1_tagFile3 = "%DPSROOT%\D\3run\vcredist_x86_2008_sp1.exe"
exc_1_tagFile4 = "%SystemRoot%\system32\atidemgx.dll"
Можно ведь и так сделать:
exc_1_tagFiles = 1
exc_1_tagFile1 = "%ProgramFiles%\NVIDIA Corporation\PhysX\Common\PhysXLoader.dll"
Все это прописывается в INI драйвпака. Слава богу, как раз с тэг-файлами финишер работает отлично. Только не прокатит, по причинам, описанным мною выше.
Скрипт же будет запускаться по таг-файлу (два раза), проверять установлен ли уже PhysX или нет, и устанавливать первый раз PhysX и просто завершаться без установки PhysX второй раз. » Ну, тоже идея. И для установщика nView такой же скрипт можно сделать... Можно еще с параметром exc_1_-infFiles = 0 в секции [NM] поиграться, я так понял - это если хвид устройства совпадает с хвидом прописанном в inf-е из этой команды - то условие не выполняется... Можно там попробовать прописать %DPSROOT%\D\V\N1\NV4*.inf Но я так не пробовал.
Не знаю - видимо нет. В старых версиях - запускал, а сейчас, как я понимаю, все на откуп оригинальному setup.exe отдано... »
Для проверки надо сделать простой скрипт типа
ECHO nviewsetup.exe запускался>>c:\1.txt
Далее сделать из батника exe-шник и назвать его nviewsetup.exe. Если после установки на диске С: появится файл 1.txt с текстом "nviewsetup.exe запускался", то nviewsetup.exe запускался. Также можно проверить зауск setup.exe - в нём написать:
nviewsetup.exe
ECHO setup.exe запускался>>c:\1.txt
Да легко! Он умеет проверять наличие любого файла в любом месте, на момент запуска финишера. »
Умеет ли он проверять наличие файла и запускать установку только при ОТСУТСТВИИ определённого файла? Где-то есть описание ключей?
Для проверки надо сделать простой скрипт типа » Не работает. После запуска файл не создается.
Умеет ли он проверять наличие файла и запускать установку только при ОТСУТСТВИИ определённого файла? Где-то есть описание ключей? » Не знаю, вроде я в INI таких команд не видел.
На форуме Башрата, видимо...
Не работает. После запуска файл не создается. »
Надеюсь ты не просто переименовал батник, а воспользовался специальной утилитой для преобразования bat2exe? Пробовал ли отот файлик называть не nviewsetup.exe, а setup.exe ?
Кстати сам установщик панели NvCplSetupInt.exe (мой, а не оригинальный) нормально запускается и отрабатывает из inf-файла или его надо запускать потом с помощью финишера? Если он нормально запускается, то можно в него внести строку для запуска чего-угодно лишь бы это сработало на Т39. Хотя можно и не на Т39, а позже...
Не знаю, вроде я в INI таких команд не видел. »
Тогда возвращаемся в скрипту ;)
Надеюсь ты не просто переименовал батника, а воспользовался специальной утилитой » Сначала тупо переименовал, а потом уже воспользовался. :) Тогда заработало. Только проверить еще не успел.
Кстати сам установщик панели NvCplSetupInt.exe (мой, а не оригинальный) нормально запускается и отрабатывает из inf-файла » Уже стораз писал, что ДА. :)
то можно в него внести строку для запуска чего-угодно » Ну вот и 3-й вариант нарисовался. :) Установщик физикса запускается с ключем /qn а установщик nView - с ключем -s
Давай подведём итог. Надо сделать:
1. Собирать автоматически файлы nView в каб (или это не обязательно?). С этим небольшая проблемка - вдруг в следующих версиях драйвера измениться набор файлов.
2. Добавить в мой NvCplSetupInt.exe команды для запуска установщиков физикса и нвью (они точно установятся на Т39?).
3. Сделать скрипт для финишера для установки физикса (если физикс не ставится на Т39), чтобы не запускалась два раза.
Или я что-то забыл?
1. Было бы неплохо (CAB пакуем без сжатия). Потом все файлы из каталога удаляем, за исключением nviewsetup.exe Набор файлов там обычно не меняется, но если что - можно ведь и адаптировать...
2. Может и установятся, а может и нет - проверять надо. :)
3. Это только если 2-й пункт не прокатит.
Вроде все.
JohnnyD,
Давай попробуем. Только у меня не на чем тестировать. Попробую завтра сделать необходимые исправления и дать тебе на тестирование. Неплохо было бы, чтобы ты пока проверил второй пункт.
чтобы ты пока проверил второй пункт » И как я его проверю, без переделанного запускатора то?
И как я его проверю, без переделанного запускатора то? »
Извини - ступил :)
Лови запускатор. Физикс должен находится в той же папке, что и запускатор и называться PhysX_9.10.0514_SystemSoftware.msi. Файлы для nviewsetup.exe надо запаковать в ручную
ya158, ок, завтра проверю - сейчас поздно уже...
Отчет: Физикс установился, а nView - нет. Видимо, ошибка с \wait в батнике. /wait же нужно вроде...
Поменял через WinHex - не установилось ничего, в том числе и драйвер. :o
Может надо панель тоже с /wait запускать, чтобы все по порядку ставилось, не перекрывая друг друга? Типа сначала с wait панель, потом с wait nView, а потом с wait Физикс... Или может у .msi какой-нибудь спец-ключ для этого есть, чтобы ждать?
JohnnyD,
NvCplSetupInt.exe - это обычный sfx-архив, в котором находится батник NvCplSetupInt.cmd. Можешь его подправить и запустить makeNvCplSetupInt.cmd - создастся NvCplSetupInt.exe (все файлы находятся в папке SFX.
Дописал скрипт, чтобы каб создавался автоматически
NvCplSetupInt.exe - это обычный sfx-архив, в котором находится батник NvCplSetupInt.cmd. » Действительно, что-то ступил я. :(
А использование ключа fm0 в строке запуска батника чем обусловлено? Вроде не встречал такого ни у кого...
А использование ключа fm0 в строке запуска батника чем обусловлено? »
Да это видимо из какого-то другого инсталятора - забыл убрать. Я перепаковываю инсталяторы программ имено с помощью таких вот конструкций.
ya158, Понятно. Попробую убрать. Кстати, конструкция start /wait "%1\nviewsetup.exe" -s не сработала (ошибка Windows не удалось найти -s), сейчас попробую просто start /wait %1\nviewsetup.exe -s
Кстати, в Quadro дровах вообще нет Физикса, как бы это в запускаторе учесть?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.