Вопросы По WPI

Ответить
 • Просмотры: 22
Аватара пользователя
CTEPBA

Re: Вопросы По WPI

Сообщение CTEPBA »

Ладно я сделал так в систему копируется файл install.cmd стаким содержимым:



Код:

Код: Выделить всё

@ECHO OFF
cmdow.exe @ /hid
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:\wpi.ico set CDROM=%%i:
echo Found CD-Rom as drive %cdrom%
ECHO.
ECHO Calling WPI
ECHO.
regedit /s %cdrom%\WPI\common\WPI.reg
REM Force resolution to needed size for wpi interface.
start %cdrom%\WPI\Tools\VideoChanger.exe 1024x768x16@75 -q
REM Make WPI directory the current directory.
for /f "delims=: tokens=1" %%i in ("%cdrom%\WPI") do %%i:
cd "%wpipath%"
REM Start WPI and wait for its end
start /wait %windir%\system32\mshta.exe "%cdrom%\WPI\wpi.hta"
exit
:end

А файл wpi.cmd я вообще убрал, вроде все работает.
Аватара пользователя
WinMaster

Re: Вопросы По WPI

Сообщение WinMaster »

DenchikK

Andrey Kornev

Sanja Alone

Всем спасибо Изображение



Автору статьи тут
http://oszone.net/display.php?id=2985&page=2
лучше бы подправить ссылки...
Аватара пользователя
Vadikan

Re: Вопросы По WPI

Сообщение Vadikan »

Цитата:



Автору статьи тут
http://oszone.net/display.php?id=2985&page=2
лучше бы подправить ссылки...




Ваше пожелание выполнено. В скобках замечу, что ссылка на форум была рабочей, а в форуме тема со ссылками на сайте прикреплена.
Аватара пользователя
DenchikK

Re: Вопросы По WPI

Сообщение DenchikK »

По-моему я придумал, как определять мать (для установки IAA) и Видяху (для установки дров). Коряво конечно, но работать будет. Идея позаимствована у bogomolov - но с этим описанием так справится не смог.



Идея вот в чём: devcon создаю список устройств, который сбрасывается в файл .txt, там ищу нужный идентификатор, на основе найденной строки создаю какой-нибудь файлик, по которому через WPI и будет определятmся, что ставить.



Черновичок (например видеокарты) пока такой (просто определение):



файл test.bat -> devcon find pci\* > test.txt





Код:

Код: Выделить всё

run ('test.bat')
sleep (500)
$file = FileOpen("test.txt", 0)
; Check if file opened for reading OK
If $file = -1 Then
MsgBox(0, "Error", "Unable to open file.")
Exit
EndIf
; Read in lines of text until the EOF is reached
While 1
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
$chars = StringLeft($line, 12)
if $chars="PCI\VEN_10DE" Then			
MsgBox(0, "У Вас Стоит:", "Видяха Nvidia")
endif
if $chars="PCI\VEN_1002" Then			
MsgBox(0, "У Вас Стоит:", "Видяха ATI")
endif
if $chars="PCI\VEN_8086" Then			
MsgBox(0, "У Вас Стоит:", "Видяха Intel")
endif		 
Wend
FileClose($file)
Exit

К сожалению, модем, LAN, RW и вероятно, тюнер, так не определить. На нескольких компах смотрел - ID разный.
Аватара пользователя
DenchikK

Re: Вопросы По WPI

Сообщение DenchikK »

DenchikK


Цитата:



MsgBox(0, "У Вас Стоит:", "Видяха Nvidia")



Угу, и видяха, и чипсет и т.д. и т.п. Вот я ввожу у себя на компе команду devcon hwids PCI\VEN_10DE|more и вижу (перечисляю только устройства с именами):



Код:

Код: Выделить всё

NVIDIA nForce PCI System Management
PCI\VEN_10DE&DEV_0064
NVIDIA nForce2 ATA Controller (v2.6)
PCI\VEN_10DE&DEV_0065
NVIDIA(R) nForce(TM) Audio Codec Interface
PCI\VEN_10DE&DEV_006A
NVIDIA GeForce2 Ti
PCI\VEN_10DE&DEV_0151
NVIDIA nForce2 AGP Host to PCI Bridge
PCI\VEN_10DE&DEV_01E8
NVIDIA nForce2 Memory Controller
PCI\VEN_10DE&DEV_01EB
NVIDIA nForce2 Memory Controller
PCI\VEN_10DE&DEV_01EC
NVIDIA nForce2 Memory Controller
PCI\VEN_10DE&DEV_01ED
NVIDIA nForce2 Memory Controller
PCI\VEN_10DE&DEV_01EE
NVIDIA nForce2 Memory Controller
PCI\VEN_10DE&DEV_01EF

VEN[/i] определяет производителя, но для конкретного ус-ва нужно знать DEV-идентификатор. А если посмотреть на рез-т выполнения команды devcon hwids *|more, то становится вообще страшно...




Цитата:



Идея позаимствована у bogomolov



Вот только реализацией он делиться не хочет Изображение Затравку дал и все...
Аватара пользователя
DenchikK

Re: Вопросы По WPI

Сообщение DenchikK »

Sanja Alone

Блин, жалко! А какая идея была! И так хорошо исполнялась на тех компах, до которых я мог добраться (правда 4 из них - с одинаковой материнкой, но разными видеокартами).



Вот что пока я смог нарыть:

PCI\VEN_10DE&DEV_0281 - NVIDIA GeForce4 Ti 4200

PCI\VEN_10DE&DEV_0141 - NVIDIA GeForce 6600

PCI\VEN_10DE&DEV_0322 - NVIDIA GeForce FX 5200

PCI\VEN_1002&DEV_4E48 - RADEON 9800 PRO

PCI\VEN_8086&DEV_2560 - Встроенная Видяха Intel на 815 плате



И если в этом случае, нужен DEV - то затея просто не имеет смысла.



Хотя, может быть поступить так: в AutoIT я видел (надо будет сейчас найти) функцию поиска заданных символов в строке, может его и присабачить? То бишь получаем файле test.txt такие данные:





Код:

Код: Выделить всё

PCI\A347SCSI\0000										 : A347SCSI SCSI Controller
PCI\VEN_10DE&DEV_0281&SUBSYS_89431462&REV_A1\4&299CCBFA&0&0008: NVIDIA GeForce4 Ti 4200 with AGP8X
PCI\VEN_10EC&DEV_8169&SUBSYS_728C1462&REV_10\4&1F7DBC9F&0&30F0: Realtek RTL8169/8110 Family Gigabit Ethernet NIC
PCI\VEN_1131&DEV_7130&SUBSYS_21151461&REV_01\4&1F7DBC9F&0&18F0: AVerMedia, AVerTV WDM Video Capture (7130)
PCI\VEN_12B9&DEV_1008&SUBSYS_00A212B9&REV_01\4&1F7DBC9F&0&08F0: U.S. Robotics 56K Fax PCI
PCI\VEN_8086&DEV_244E&SUBSYS_00000000&REV_C2\3&13C0B0C5&0&F0: Intel(R) 82801 PCI Bridge - 244E
PCI\VEN_8086&DEV_24D0&SUBSYS_00000000&REV_02\3&13C0B0C5&0&F8: Intel(R) 82801EB LPC Interface Controller - 24D0
PCI\VEN_8086&DEV_24D2&SUBSYS_72801462&REV_02\3&13C0B0C5&0&E8: Intel(R) 82801EB USB Universal Host Controller - 24D2
PCI\VEN_8086&DEV_24D3&SUBSYS_72801462&REV_02\3&13C0B0C5&0&FB: Intel(R) 82801EB SMBus Controller - 24D3
PCI\VEN_8086&DEV_24D4&SUBSYS_72801462&REV_02\3&13C0B0C5&0&E9: Intel(R) 82801EB USB Universal Host Controller - 24D4
PCI\VEN_8086&DEV_24D5&SUBSYS_00801462&REV_02\3&13C0B0C5&0&FD: Realtek AC'97 Audio
PCI\VEN_8086&DEV_24D7&SUBSYS_72801462&REV_02\3&13C0B0C5&0&EA: Intel(R) 82801EB USB Universal Host Controller - 24D7
PCI\VEN_8086&DEV_24DB&SUBSYS_72801462&REV_02\3&13C0B0C5&0&F9: Intel(R) 82801EB Ultra ATA Storage Controllers
PCI\VEN_8086&DEV_24DD&SUBSYS_72801462&REV_02\3&13C0B0C5&0&EF: Intel(R) 82801EB USB2 Enhanced Host Controller - 24DD
PCI\VEN_8086&DEV_24DE&SUBSYS_72801462&REV_02\3&13C0B0C5&0&EB: Intel(R) 82801EB USB Universal Host Controller - 24DE
PCI\VEN_8086&DEV_2570&SUBSYS_00000000&REV_02\3&13C0B0C5&0&00: Intel(R) 82865G/PE/P/GV/82848P Processor to I/O Controller - 2570
PCI\VEN_8086&DEV_2571&SUBSYS_00000000&REV_02\3&13C0B0C5&0&08: Intel(R) 82865G/PE/P/GV/82848P Processor to AGP Controller - 2571
17 matching device(s) found.

И делаем поиск:



NVIDIA вместе с PCI\VEN_10DE - ставим ForceWare

Radeon вместе с PCI\VEN_1002 - ставим Catalyst

и для Intel надо посмотреть, каким словами он определяется.



А если взять формирование файла test.txt таким образом:



devcon hwids * > testhwids.txt



То мы ещё явно получаем слова Tuner, CDRW, DVD_RW, Ethernet. Модем можно определить по словам Fax, Modem, и для внешнего - посмотрю на работе завтра как Zyxel зовётся.



Может такой выход пойдёт?



И ещё хотел спросить про FileExist в WPI - можно ли поставить двойное условие показа программы? Что типа - показывать программу в списке, если программа не установлена и имеется на диске?
Аватара пользователя
DenchikK

Re: Вопросы По WPI

Сообщение DenchikK »

DenchikK


Цитата:



Может такой выход пойдёт?



bogomolv уже как-то реализовал (см. тему по Автоиту) данное действо, кстати, благодаря увиденному в одном из моих скриптов способу применения ф-ции StringSplit - чтение некоего подобия описанного тобой файла testhwids.txt с формированием массива и последующим поиском идентификаторов и установкой нужных дров. Можешь его напрячь - авось поделится кодом. Я бы и сам мог что-то подобное наваять, но, сейчас и без того своих проблем хватает - безработица, знаешь ли Изображение




Цитата:



двойное условие показа программы?



А в чем проблема? Я же тебе похожий пример давал Изображение Ну ладно, вот:



Код:

Код: Выделить всё

cond[pn]=['!FileExists("%programfiles%\\Куда_Прога_обычно_устанавливается\\Прога.exe")&&FileExists("%cdrom%\\Прога\\Прога_сетап.exe")']

Ты это хотел?
Аватара пользователя
DenchikK

Re: Вопросы По WPI

Сообщение DenchikK »

Sanja Alone




Цитата:



Ты это хотел?



Точно-точно - это всё у меня от того, что нужно спать иногда и ранним утром тормозить не буду - да и память лучше станет...



Спасибо, и sorry что ступил...
Аватара пользователя
DenchikK

Re: Вопросы По WPI

Сообщение DenchikK »

DenchikK

Попробуй явно задать порядок сортировки категорий в файле Wpiscripts\useroptions.js, например так:



Код:

Код: Выделить всё

var sortorder=['System','File Managers','Net','Tests','Multimedia','CD/DVD Tools','Archivers','Utils','Office','Antivirus','TV','Misc'];

Если это уже сделано... тогда не увлекайся проверками Изображение
Аватара пользователя
DenchikK

Re: Вопросы По WPI

Сообщение DenchikK »

Это то конечно сделано. Значит никак? Жаль, а я думал, может где то есть параметры, отвечающие за границы распределения текста.
Ответить

Вернуться в «Автоматическая установка Windows 2000/XP/2003»