Программная инсталяция драйверов
От: MaxK  
Дата: 06.01.03 14:07
Оценка:
Привет всем!
Такая задача: есть драйвер и inf-файл. Надо установить драйвер не через Add Hardware Wizard, а программно. Если кто знает как это сделать, большая просьба помочь.

Заранее благодарен за советы и помощь
Re: Программная инсталяция драйверов
От: Andrew S Россия http://alchemy-lab.com
Дата: 07.01.03 17:52
Оценка:
Привет. Решения по меньшей мере 2, и они похожи — надо использовать поиск
1. Использовать поиск по форуму — программное
Автор: Andrew S
Дата: 17.10.02
решение
2. Использовать поиск по гуглю — решение с RunDll32 (это ежели драйвер успешно ставится по правой кнопке в проводнике)

MK>Привет всем!

MK>Такая задача: есть драйвер и inf-файл. Надо установить драйвер не через Add Hardware Wizard, а программно. Если кто знает как это сделать, большая просьба помочь.

MK>Заранее благодарен за советы и помощь
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re: Программная инсталяция драйверов
От: shilon Молдова  
Дата: 08.01.03 17:38
Оценка:
Здравствуйте, MaxK, Вы писали:

MK>Привет всем!

MK>Такая задача: есть драйвер и inf-файл. Надо установить драйвер не через Add Hardware Wizard, а программно. Если кто знает как это сделать, большая просьба помочь.

MK>Заранее благодарен за советы и помощь


надо юзать Device Installer,
см. функции: DiCallClassInstaller, DiInstallClass, DiCreateDeviceInfo
в MSDN есть пример setnp.cpp (установка сетевых компонент)
Re: Программная инсталяция драйверов
От: Small  
Дата: 09.01.03 14:05
Оценка:
А чем не нравится инсталляция через SCM CreateService, StartService и пр — легко и просто (однако подходит только для Widows NT/2000XP)
Re[2]: Программная инсталяция драйверов
От: MaxK  
Дата: 09.01.03 15:15
Оценка: 6 (1)
Здравствуйте, Small, Вы писали:

S>А чем не нравится инсталляция через SCM CreateService, StartService и пр — легко и просто (однако подходит только для Widows NT/2000XP)


Дело в том, что это драйвер для железа (он должен появиться в DeviceManager) и его установкой и удалением занимается IMHO не ServiceManager
Re[2]: Программная инсталяция драйверов
От: MaxK  
Дата: 09.01.03 15:29
Оценка:
Здравствуйте, shilon, Вы писали:

S>надо юзать Device Installer,

S>см. функции: DiCallClassInstaller, DiInstallClass, DiCreateDeviceInfo
S>в MSDN есть пример setnp.cpp (установка сетевых компонент)

Я у себя не смог найти этот пример. Если не сложно, могли бы Вы выслать мне его на max_xx@mail.ru.

Заранее благодарен
Re[2]: Программная инсталяция драйверов
От: MaxK  
Дата: 09.01.03 15:34
Оценка:
Здравствуйте, Andrew S, Вы писали:

AS>Привет. Решения по меньшей мере 2, и они похожи — надо использовать поиск

AS>1. Использовать поиск по форуму — программное
Автор: Andrew S
Дата: 17.10.02
решение

Судя по информации в этой ссылке Вы использовали пример (де)инсталлятора из ДДК. Отсюда вопрос: где именно в ДДК находится этот пример?

Заранее благодарен.
Re[3]: Программная инсталяция драйверов
От: Small  
Дата: 09.01.03 15:40
Оценка: -1
> Дело в том, что это драйвер для железа (он должен появиться в DeviceManager) и его установкой и удалением занимается IMHO не ServiceManager

Насчет железных драверов точно не знаю, но знаю твердо SCM может поставить любой драйвер. Сама установка обычного драйвера заключается в создании определенных ключей реестра в Current Control Set xx. Насчет драйверов железа (я такие не писал) точно сказать не могу. Судя по всему для установки желехных драйверов нужна какая-то дополнительная информация, которая очевидно то же пишется в реестр (например, информация о твоем .inf файле). Можно внимательно посмотреть что и куда и при необходимости ручками записать все в реестр.
Re: Программная инсталяция драйверов
От: KonstBez  
Дата: 09.01.03 16:49
Оценка:
Здравствуйте, MaxK, Вы писали:

MK>Привет всем!

MK>Такая задача: есть драйвер и inf-файл. Надо установить драйвер не через Add Hardware Wizard, а программно. Если кто знает как это сделать, большая просьба помочь.

MK>Заранее благодарен за советы и помощь



Есть такая API: UpdateDriverForPlugAndPlayDevices. Там второй параметр — VendorId, третий — имя .inf файла. Правда работает только под 2000/XP. В MSDN 2000 ее нет, только в 2002.
Re[4]: Программная инсталяция драйверов
От: Andrew S Россия http://alchemy-lab.com
Дата: 09.01.03 17:47
Оценка:
Бред. Попробуйте-ка при помощи SCM установи mirro-драйвер или драйвер ком-порта и дополнительными вкладками. А коинсталлер слово Вам что-нибудь говорит???? SCM может запустить sys имадж и не более того. Корректно проинсталлировать драйвер при помощи только SCM невозможно, особенно учитывая специвичные inf для дисплеев и т.п.
Далее — на каждой версии виндовс то место, где на самом деле хранится информация (например, это так в случае display, mirror, serial, network и т.п. драйверов изменяется). Что — поддерживать все версии виндовс в коде??? Офигенно

S>Насчет железных драверов точно не знаю, но знаю твердо SCM может поставить любой драйвер. Сама установка обычного драйвера заключается в создании определенных ключей реестра в Current Control Set xx. Насчет драйверов железа (я такие не писал) точно сказать не могу. Судя по всему для установки желехных драйверов нужна какая-то дополнительная информация, которая очевидно то же пишется в реестр (например, информация о твоем .inf файле). Можно внимательно посмотреть что и куда и при необходимости ручками записать все в реестр.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[3]: Программная инсталяция драйверов
От: Andrew S Россия http://alchemy-lab.com
Дата: 09.01.03 17:53
Оценка:
MK>Судя по информации в этой ссылке Вы использовали пример (де)инсталлятора из ДДК. Отсюда вопрос: где именно в ДДК находится этот пример?
Нет, не использовал — он работает только под 2000-ми. В качестве примера я использовал совет Алексея Федотова.
А пример в DDK находится в %NTDDK%\src\general\setup\
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[4]: Программная инсталяция драйверов
От: MaxK  
Дата: 10.01.03 07:51
Оценка:
Здравствуйте, Andrew S, Вы писали:

AS>Нет, не использовал — он работает только под 2000-ми. В качестве примера я использовал совет Алексея Федотова.

AS>А пример в DDK находится в %NTDDK%\src\general\setup\

Извинияюсь за глупый, может быть, вопрос. Этот пример работает ТОЛЬКО под 2к или под 2к и выше? Мне, собственно, под НТ4 не надо чтобы работало.
Re[5]: Программная инсталяция драйверов
От: Andrew S Россия http://alchemy-lab.com
Дата: 10.01.03 08:04
Оценка:
Да, вопрос не очень. Проще MSDN почитать — там ясно сказано, где какая функция работает
Пример работает под 2к и выше.

MK>Извинияюсь за глупый, может быть, вопрос. Этот пример работает ТОЛЬКО под 2к или под 2к и выше? Мне, собственно, под НТ4 не надо чтобы работало.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[5]: Программная инсталяция драйверов
От: Valerio Россия linkedin.com/in/boronin
Дата: 11.01.03 09:31
Оценка:
Здравствуйте, Andrew S, Вы писали:

если речь идет о видео примере из DDK (mirror driver), то точно без проблем
можно установить ручками, т.е. прописав в реестре что указано ниже и перегрузившись
и то только для установки минипорта требуется reboot

вот точно что надо:
=========Beginning of the citation==============
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mirror]
"Type"=dword:00000001
"Start"=dword:00000001
"ErrorControl"=dword:00000000
"Tag"=dword:00000002
"DisplayName"="mirror"
"Group"="VideoSave"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mirror\device0]
"Device Description"="Microsoft Mirror Driver"
"InstalledDisplayDrivers"=hex(7):6d,69,72,72,6f,72,00,00
"MirrorDriver"=dword:00000001
"VgaCompatible"=dword:00000000

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware
Profiles\Current\System\CurrentControlSet\Services\mirror]
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Hardware
Profiles\Current\System\CurrentControlSet\Services\mirror\device0]
"Attach.ToDesktop"=dword:0

=========The end of the citation================

т.е. видно что никаких тут особенностей дисплея учитывать не надо, драйвер
подойдет к любому
поэтому SCM должно хватить за глаза при наличии прав
главное правильно указать все параметры вроде группы VgaSave

AS>Бред. Попробуйте-ка при помощи SCM установи mirro-драйвер или драйвер ком-порта и дополнительными вкладками. А коинсталлер слово Вам что-нибудь говорит???? SCM может запустить sys имадж и не более того. Корректно проинсталлировать драйвер при помощи только SCM невозможно, особенно учитывая специвичные inf для дисплеев и т.п.

AS>Далее — на каждой версии виндовс то место, где на самом деле хранится информация (например, это так в случае display, mirror, serial, network и т.п. драйверов изменяется). Что — поддерживать все версии виндовс в коде??? Офигенно

S>>Насчет железных драверов точно не знаю, но знаю твердо SCM может поставить любой драйвер. Сама установка обычного драйвера заключается в создании определенных ключей реестра в Current Control Set xx. Насчет драйверов железа (я такие не писал) точно сказать не могу. Судя по всему для установки желехных драйверов нужна какая-то дополнительная информация, которая очевидно то же пишется в реестр (например, информация о твоем .inf файле). Можно внимательно посмотреть что и куда и при необходимости ручками записать все в реестр.
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[6]: Программная инсталяция драйверов
От: Andrew S Россия http://alchemy-lab.com
Дата: 11.01.03 18:06
Оценка:
V>если речь идет о видео примере из DDK (mirror driver), то точно без проблем
V>можно установить ручками, т.е. прописав в реестре что указано ниже и перегрузившись
V>и то только для установки минипорта требуется reboot

Под 2к и выше не требуется. Только для NT.
А вот в реестре ключи находятся в разных местах, и более того, разные для WIN NT и w2k...

V>т.е. видно что никаких тут особенностей дисплея учитывать не надо, драйвер

V>подойдет к любому

Не подойдет. См. выше.

V>поэтому SCM должно хватить за глаза при наличии прав

V>главное правильно указать все параметры вроде группы VgaSave

Не хватит. Еще раз — существует куча дел, которые за вас делают коинсталлеры. Они создают ключи, выводят диалоги настроек, добавляют вкладки, специфичные для ОС и т.п. Более того, многое можно делать без перезагрузки. Например, инсталлить тот же самый mirror драйвер на w2k, сетевые драйвера и т.п. За использование SCM в таких случаях надо просто отрывать руки... SCM пригоден для загрузки фильтр-драйверов, просто sys драйверов (например, тот же portio) и т.п. — которые не требуют сложных настроек в реестре. И уж явно не подходят для установки видео, аудео драйверов, кодеков и прочей подобной братии.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[7]: Программная инсталяция драйверов
От: Valerio Россия linkedin.com/in/boronin
Дата: 12.01.03 05:25
Оценка:
Здравствуйте, Andrew S, Вы писали:

V>>если речь идет о видео примере из DDK (mirror driver), то точно без проблем

V>>можно установить ручками, т.е. прописав в реестре что указано ниже и перегрузившись
V>>и то только для установки минипорта требуется reboot

AS>Под 2к и выше не требуется. Только для NT.

AS>А вот в реестре ключи находятся в разных местах, и более того, разные для WIN NT и w2k...

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

V>>т.е. видно что никаких тут особенностей дисплея учитывать не надо, драйвер

V>>подойдет к любому

AS>Не подойдет. См. выше.

стандартное док-во нужно, например пример?
(не забываем о том читать readme для mirror driver), а именно

This sample is designed to provide information on a standard, generic method of mirroring. This eliminates the need for special case-by-case solutions which were used before this support was added to the system. The sample runs only on the Microsoft® Windows® 2000 platform. It features commented source code that documents in detail how the code works, to make it easy to modify and extend. Please note that this is the first version of the video mirror sample. Additional functionality may be added to the sample in future releases.

поэтому извиняйте но опять с миррор драйвером прокол небольшой

V>>поэтому SCM должно хватить за глаза при наличии прав

V>>главное правильно указать все параметры вроде группы VgaSave

AS>Не хватит. Еще раз — существует куча дел, которые за вас делают коинсталлеры. Они создают ключи, выводят диалоги настроек, добавляют вкладки, специфичные для ОС и т.п. Более того, многое можно делать без перезагрузки. Например, инсталлить тот же самый mirror драйвер на w2k, сетевые драйвера и т.п. За использование SCM в таких случаях надо просто отрывать руки... SCM пригоден для загрузки фильтр-драйверов, просто sys драйверов (например, тот же portio) и т.п. — которые не требуют сложных настроек в реестре. И уж явно не подходят для установки видео, аудео драйверов, кодеков и прочей подобной братии.


я соглашусь с описанием этих прелестей, но еще раз скажу, для mirror driver не нужно ничего кроме правки Registry и рестарта. Тут даже SCM не нужен, разве что если в ручную в реестр прописывать лень. Поэтому еще раз отмечу, что не касаясь других указанных вместе с миррор драйверов выше по ветке, с миррор это не нужно и если с этим кто-то хочет поспорить, могу привести здесь mirror.inf из поставки DDK — там нет ничего кроме перечисленного мной

вот так
... << RSDN@Home 1.0 beta 4 >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[8]: Программная инсталяция драйверов
От: Andrew S Россия http://alchemy-lab.com
Дата: 12.01.03 06:14
Оценка:
Если бы Вы хотя бы попробовали свои ключи под NT4, то удивились бы, что ничего не работает... А на самом деле mirror драйвер работает под NT, начиная с SP3. Так что нолик вы мне зря поставили, как и предыдущий. Вы же не пробовали — а это самое плохое, когда глупость подкреплена неосведомленостью. Попробуйте — а потом говорите. Я этот прикол уже прошел, можете использовать поиск по форуму — найдете наш с Алексеем Федотовым флейм на эту тему. Все. Держите еще один нолик и на этом экскурсию можно считать законченой. Фи.

V>в данном случае никакой экзотики нет, см. пред. пост

V>совершенно стандартные ключи реестра и тут коинсталлеры мало в чем помогут
V>именно в этом была суть моего ответа, так что формально мой ответ в любом случае верный

Вот про то и речь — что SCM не нужен. Так за что первый нолик то, а???? За Ваше незнание?

V>я соглашусь с описанием этих прелестей, но еще раз скажу, для mirror driver не нужно ничего кроме правки Registry и рестарта. Тут даже SCM не нужен, разве что если в ручную в реестр прописывать лень. Поэтому еще раз отмечу, что не касаясь других указанных вместе с миррор драйверов выше по ветке, с миррор это не нужно и если с этим кто-то хочет поспорить, могу привести здесь mirror.inf из поставки DDK — там нет ничего кроме перечисленного мной


Глупости. Еще раз — под NT 4 это у вас не заработает, тем более со стандартным inf. А если Ваша неосведомленность требует доказательства — прошу пробовать поставить mirror драйвер со стандартным inf на nt4. И надо все же пробовать, прежде чем писать и тем более ставить 0. Успехов.
А дергать реестр — дури много не надо. Зачем делать лишнюю работу за SetupApi, а не понимаю. О чем и сказал. И не понимаю, с чем тут не согласны именно Вы. Внятной формулировки так и не услышал.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[8]: Программная инсталяция драйверов - вдогонку
От: Andrew S Россия http://alchemy-lab.com
Дата: 12.01.03 06:20
Оценка:
Повторюсь еще раз. При установке через sertupapi многие драйвера не требуют перезагрузки (например, сетевые, ком портов, mirror и т.п.) При ручном дерганье реестра в данном случае бывает необходим перезагрузка, например, в случае mirror драйвера под w2k. А при использовании Setupapi все ок — драйвер устанавливается и сразу готов к работе.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[4]: Программная инсталяция драйверов
От: Alex Fedotov США  
Дата: 12.01.03 06:49
Оценка:
Здравствуйте, Andrew S, Вы писали:

AS>В качестве примера я использовал совет Алексея Федотова.


Прошу прощения, я — Александр.
-- Alex Fedotov
Re[9]: Программная инсталяция драйверов
От: Valerio Россия linkedin.com/in/boronin
Дата: 12.01.03 08:26
Оценка:
Здравствуйте, Andrew S, Вы писали:

AS>Если бы Вы хотя бы попробовали свои ключи под NT4, то удивились бы, что ничего не работает... А на самом деле mirror драйвер работает под NT, начиная с SP3. Так что нолик вы мне зря поставили, как и предыдущий. Вы же не пробовали — а это самое плохое, когда глупость подкреплена неосведомленостью. Попробуйте — а потом говорите. Я этот прикол уже прошел, можете использовать поиск по форуму — найдете наш с Алексеем Федотовым флейм на эту тему. Все. Держите еще один нолик и на этом экскурсию можно считать законченой. Фи.


Эй, откуда столько злости и грубости?

Может все же лучше внимательней читать и вникать в суть вопроса?
Было поставлено 0 (я так не думаю) на Ваш пост о том, что без Ваших коинсталлеров миррор драйвер не поставить. Так вот, еще раз нет — поставить. С этим Вы опять будете спорить и раздавать 0???

Я в курсе и про то, с какой версии можно заставить работать mirror driver и более того, это Вы кажется чего-то не пробовали. Я написал свой драйвер на базе миррор и уж знаю немного больше об этом, чем можно найти во всем mirror sample.

Вот сейчас Вы меня опять спровоцировали — поднял тестовую тачку с НТ4 правда SP6 и провел манипуляции мной же указанные: regedit mirror.reg, рестарт и все ОК.

V>>в данном случае никакой экзотики нет, см. пред. пост

V>>совершенно стандартные ключи реестра и тут коинсталлеры мало в чем помогут
V>>именно в этом была суть моего ответа, так что формально мой ответ в любом случае верный

AS>Вот про то и речь — что SCM не нужен. Так за что первый нолик то, а???? За Ваше незнание?


Пардон? ВЫ ЖЕ НАПИСАЛИ:
--- start ---
Бред. Попробуйте-ка при помощи SCM установи mirro-драйвер или драйвер ком-порта и дополнительными вкладками. А коинсталлер слово Вам что-нибудь говорит???? SCM может запустить sys имадж и не более того. Корректно проинсталлировать драйвер при помощи только SCM невозможно, особенно учитывая специвичные inf для дисплеев и т.п.
Далее — на каждой версии виндовс то место, где на самом деле хранится информация (например, это так в случае display, mirror, serial, network и т.п. драйверов изменяется). Что — поддерживать все версии виндовс в коде??? Офигенно
-- end ----

разбираем для тех кто в танке по пунктам:
написаны были утверждения за которые я поставил 0 (не в смысле 2 балла как в школе, а в смысле что я не согласен с частью написанного и по-моему привел более чем достаточно аргументов, но все же повторю последний раз, иначе рекомендую читать еще раз):
1. при помощи SCM нельзя поставить mirror driver.
неверно: можно, если добавить пару ключей в реестр самому, файл приложен.
2. далее, поддерживать все версии виндовс для mirror driver также не надо, там все ключи такие, что ничего не требуется. Что доказывает запуск через приведенный мной регфайл миррора на НТ4, 2К и ХР (у меня все это стоит на тестовой машине и я еще раз повторяю специально для Вас: я не только просто видел глазом кусок в MSDN/DDK про mirror driver, но и профессионально работал в этом направлении, mirror был взят как start point. Поэтому тут я бы Вам не рекомендовал со мной спорить
3. Ну и никакие коинсталлеры тут не нужны (для mirror).

если бы Вы ошиблись в одном пункте, это еще ладно, но Вы вероятно бравируя осведомленностью и знанием красивых слов, решили подкрепить свой пост еще и словом mirror, да еще и не один раз. Тут я все же решил отметить 0 чтобы не все Вам верили слепо и так думали. Так что у меня все честно и обоснованно.

а так Ваш ответ человеку был в принципе верен конечно и я не согласился только в части mirror, о чем я и написал честно:

V>>я соглашусь с описанием этих прелестей, но еще раз скажу, для mirror driver не нужно ничего кроме правки Registry и рестарта. Тут даже SCM не нужен, разве что если в ручную в реестр прописывать лень. Поэтому еще раз отмечу, что не касаясь других указанных вместе с миррор драйверов выше по ветке, с миррор это не нужно и если с этим кто-то хочет поспорить, могу привести здесь mirror.inf из поставки DDK — там нет ничего кроме перечисленного мной


AS>Глупости. Еще раз — под NT 4 это у вас не заработает, тем более со стандартным inf. А если Ваша неосведомленность требует доказательства — прошу пробовать поставить mirror драйвер со стандартным inf на nt4. И надо все же пробовать, прежде чем писать и тем более ставить 0. Успехов.


Дорогой Andrew S, под НТ4 сами же пишете что начиная с СП3 работает, у меня на СП6 — так что опять сами себе противоречите... И я пробую, пробую, и 0 я не имею привычки в отличие от Вас ставить от балды. Я правда так не думаю.
Да и зачем мне .inf когда я сделал себе .reg file и все ставлю через него — и все работает (файл приведен выше). С inf стандартным и правда могут быть какие-то проблемы — не проверял, но в нем точно нет ничего такого что нельза было мне засунуть в .reg file. Что я и сделал.

я знаю что можно заставить работать не только под 2000й (как Вы уже поняли), привел цитату из readme.htm для mirror только с тем, чтобы показать, что даже авторы не планировали его запуск на чем-либо кроме 2000й, по-крайней мере без плясок с бубном и СП, хотя по архитектуре он подойдет даже к потребительской винде (Вы это знаете, надеюсь?) — там есть поддержка video miniport drivers, еще здесь возможно захотите показать свою осведомленность?

AS>А дергать реестр — дури много не надо. Зачем делать лишнюю работу за SetupApi, а не понимаю. О чем и сказал. И не понимаю, с чем тут не согласны именно Вы. Внятной формулировки так и не услышал.


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

по формулировке внятной:
Я же говорил — пытайтесь внятно прочитать что Вам пишут, а не взбрыкивайте
И сами уж ставьте 0 ОБОСНОВАННО.
Что я Вам написал неверно (приведите также как я Вам выше Ваши же слова по пунктам)?

И уж будьте немного вежливей: я бы поостерегся писать незнакомому человеку такие вещи:
AS>Вы же не пробовали — а это самое плохое, когда глупость подкреплена неосведомленостью.

Ибо Вы легко попадаете пальцем в небо (как в моем случае) и это не красит Вас никак.
Глупость это еще ладно, хуже когда кто-то упрется как баран и не желает слышать ничего что ему тактично поправили, а талдычит что-то свое...

Уважаемые граждане, будьте взаимно вежливы! (с) не помню

P.S. 0 ставить не буду, двух достаточно
... << RSDN@Home 1.0 beta 4 >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[9]: Программная инсталяция драйверов - вдогонку
От: Valerio Россия linkedin.com/in/boronin
Дата: 12.01.03 08:28
Оценка:
Здравствуйте, Andrew S, Вы писали:

AS>Повторюсь еще раз. При установке через sertupapi многие драйвера не требуют перезагрузки (например, сетевые, ком портов, mirror и т.п.) При ручном дерганье реестра в данном случае бывает необходим перезагрузка, например, в случае mirror драйвера под w2k. А при использовании Setupapi все ок — драйвер устанавливается и сразу готов к работе.


с этим не поспоришь, но разве ЭТО спрашивалось в оригинальном посте или разве ЭТО я опровергал? Это всего лишь дополнение к вопросу...
... << RSDN@Home 1.0 beta 4 >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[10]: Программная инсталяция драйверов
От: Andrew S Россия http://alchemy-lab.com
Дата: 12.01.03 12:33
Оценка: 6 (1)
V>Эй, откуда столько злости и грубости?

Не хотел обидеть, извините. Сначала написал, а потом уже понял, что слишком .. За это извиняюсь. Остальное было сказано верно.

V>Может все же лучше внимательней читать и вникать в суть вопроса?

V>Было поставлено 0 (я так не думаю) на Ваш пост о том, что без Ваших коинсталлеров миррор драйвер не поставить. Так вот, еще раз нет — поставить. С этим Вы опять будете спорить и раздавать 0???

При чем здесь коинсталлеры. Речь шла об SCM. SCM участвует в установке mirror драйвера???? Видимо, нет. О чем и говорилось. Коинсталлер при установке драйвера ком порта выводит и добавляет параметры стандартной вкладки настройки ком порта. Вручную это делать прикажете? А так, дергая реестр (при соотв. правах) и перезагружаясь, можно любой драйвер поставить. И без SCM. Вопрос в том, нужно ли..

V>Я в курсе и про то, с какой версии можно заставить работать mirror driver и более того, это Вы кажется чего-то не пробовали. Я написал свой драйвер на базе миррор и уж знаю немного больше об этом, чем можно найти во всем mirror sample.


Ну вот Вы же сами пишете
V>стандартное док-во нужно, например пример?
V>(не забываем о том читать readme для mirror driver), а именно

V>This sample is designed to provide information on a standard, generic method of mirroring. This eliminates the need for special case-by-case solutions which were used before this support was added to the system. The sample runs only on the Microsoft® Windows® 2000 platform. It features commented source code that documents in detail how the code works, to make it easy to modify and extend. Please note that this is the first version of the video mirror sample. Additional functionality may be added to the sample in future releases.


И как я должен был это по Вашему понять? Вариантов нет — человек явно утверждает что работает только на 2000 и выше.

V>Вот сейчас Вы меня опять спровоцировали — поднял тестовую тачку с НТ4 правда SP6 и провел манипуляции мной же указанные: regedit mirror.reg, рестарт и все ОК.


Не работает. Т.к. не может. Объясню. Для того, чтобы работало
1. Надо изменить минипорт. Там одна из структур заточена только под 2000-е. Будет загружаться минипорт, но, однако, сам драйвер нет.
2 Вместо ключа Attach.ToDesktop"=dword:0 , что вы привели, надо ипользовать Attached.ToDesktop"=dword:1
dll драйвера на NT динамически не загрузить. После этого начиниает работать. Одако далее там свои камни. Подробности — пожалуйста почтой в приват, дабы форум не засорять.

Но в любом случае — где тут испльзование SCM, а?

V>Пардон? ВЫ ЖЕ НАПИСАЛИ:

V>--- start ---
V>Бред. Попробуйте-ка при помощи SCM установи mirro-драйвер или драйвер ком-порта и дополнительными вкладками. А коинсталлер слово Вам что-нибудь говорит???? SCM может запустить sys имадж и не более того. Корректно проинсталлировать драйвер при помощи только SCM невозможно, особенно учитывая специвичные inf для дисплеев и т.п.
V>Далее — на каждой версии виндовс то место, где на самом деле хранится информация (например, это так в случае display, mirror, serial, network и т.п. драйверов изменяется). Что — поддерживать все версии виндовс в коде??? Офигенно
V>-- end ----


V>разбираем для тех кто в танке по пунктам:

Я на велосипеде
V>написаны были утверждения за которые я поставил 0 (не в смысле 2 балла как в школе, а в смысле что я не согласен с частью написанного и по-моему привел более чем достаточно аргументов, но все же повторю последний раз, иначе рекомендую читать еще раз):
V>1. при помощи SCM нельзя поставить mirror driver.
V>неверно: можно, если добавить пару ключей в реестр самому, файл приложен.

ГДЕ ТАМ ИСПОЛЬЗУЕТСЯ SCM???????

V>2. далее, поддерживать все версии виндовс для mirror driver также не надо, там все ключи такие, что ничего не требуется. Что доказывает запуск через приведенный мной регфайл миррора на НТ4, 2К и ХР (у меня все это стоит на тестовой машине и я еще раз повторяю специально для Вас: я не только просто видел глазом кусок в MSDN/DDK про mirror driver, но и профессионально работал в этом направлении, mirror был взят как start point. Поэтому тут я бы Вам не рекомендовал со мной спорить

оооо.. Какие мы. А вы Фень Юаня читали? Можно и без миррор драйвера. Вам тоже не повезло. Я тоже много работал с этим. Но в любом случае — приведенный Вами рег файл не может работать на NT4. Так что все честно — нолик был вами заработан.
V>3. Ну и никакие коинсталлеры тут не нужны (для mirror).
Для ком порта.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[11]: Программная инсталяция драйверов
От: Valerio Россия linkedin.com/in/boronin
Дата: 12.01.03 13:04
Оценка: 6 (1)
AS>При чем здесь коинсталлеры. Речь шла об SCM. SCM участвует в установке mirror драйвера???? Видимо, нет. О чем и говорилось. Коинсталлер при установке драйвера ком порта выводит и добавляет параметры стандартной вкладки настройки ком порта. Вручную это делать прикажете? А так, дергая реестр (при соотв. правах) и перезагружаясь, можно любой драйвер поставить. И без SCM. Вопрос в том, нужно ли..

уж про компорт давайте не будем ибо и так в сторону поехали

давайте уже заканчивать с миррором нашим...

при чем здесь SCM я должен у Вас просить
речь шла поставить драйвер программно!

я сказал что достаточно правки реестра (ладно-ладно по поводу AttachedToDesktop и AttachToDesktop грамотное замечение, согласен, но для запуска драйвера mirror это не существенно верно?) А по SCM я сказал: что его можно использовать, если лень править реестр руками. Также он нужен чтобы попробовать БЕЗ перезагрузок самому только что проставленный правкой реестра и копированием куда надо драйвер запустить... Он нужен если не хочется делать ребут, если конечно получится запуститься вот так с ходу. У Миррора получается на моей машине

Теперь ясно причем тут SCM я вспомнил?
И это опять же в пику Вам что мол вырывать с руками всем кто трогает SCM, когда есть SetupAPI

вот в чем был также честно Вами заработанный 0
и вот объяснение почему у меня точно верные ответы

кстати Фень Юаня читал конечно привет Коллега, как говорится!

skip

AS>И как я должен был это по Вашему понять? Вариантов нет — человек явно утверждает что работает только на 2000 и выше.


ну да, но я объяснил причину в пред. посте

V>>Вот сейчас Вы меня опять спровоцировали — поднял тестовую тачку с НТ4 правда SP6 и провел манипуляции мной же указанные: regedit mirror.reg, рестарт и все ОК.


AS>Не работает. Т.к. не может. Объясню. Для того, чтобы работало

AS>1. Надо изменить минипорт. Там одна из структур заточена только под 2000-е. Будет загружаться минипорт, но, однако, сам драйвер нет.
AS>2 Вместо ключа Attach.ToDesktop"=dword:0 , что вы привели, надо ипользовать Attached.ToDesktop"=dword:1
AS>dll драйвера на NT динамически не загрузить. После этого начиниает работать. Одако далее там свои камни. Подробности — пожалуйста почтой в приват, дабы форум не засорять.

конечно все верно и еще раз рад встрече с коллегой в моей же области

надо отметить, что я проверял со своим минипортом, в котором все эти грабли пройдены уже, все эти VIDEO_HW_INITIALIZATION_DATA размера SIZE_OF_NT4_VIDEO_HW_INITIALIZATION_DATA пройдены

AS>Но в любом случае — где тут испльзование SCM, а?

причины выше, попробовать запустить минипорт не дожидаясь рестарта системы

а сам драйвер будет запущен при вызове CreateDC приложением например...

skip

V>>2. далее, поддерживать все версии виндовс для mirror driver также не надо, там все ключи такие, что ничего не требуется. Что доказывает запуск через приведенный мной регфайл миррора на НТ4, 2К и ХР (у меня все это стоит на тестовой машине и я еще раз повторяю специально для Вас: я не только просто видел глазом кусок в MSDN/DDK про mirror driver, но и профессионально работал в этом направлении, mirror был взят как start point. Поэтому тут я бы Вам не рекомендовал со мной спорить

AS>оооо.. Какие мы. А вы Фень Юаня читали? Можно и без миррор драйвера. Вам тоже не повезло. Я тоже много работал с этим. Но в любом случае — приведенный Вами рег файл не может работать на NT4. Так что все честно — нолик был вами заработан.

однако работает, главное чтобы драйвер и минипорт правильные были (с поддержкой НТ4), а аттач к десктопу все равно программно делается (у меня) и этот ключик не играет роли для того, чтобы запустить минипорт или GDI driver, верно?

так что с нулями прокол все же, ну да бог с Вами

V>>3. Ну и никакие коинсталлеры тут не нужны (для mirror).

AS>Для ком порта.

бррр причем тут компорт? я только по миррору толковал.

Короче говоря, Андрей, надеюсь мы поняли друг друга в итоге, кто и почему что написал, оба понимаем что ответы в целом верные а из-за неаккуратностей в сообщениях придираться и спорить можно долго, поэтому чтобы закрыть дискуссию, поправлю Вам статистику и предлагаю Вам ибо не каждый день встречаю разработчика, знакомого с миррор!

Мир?

тем более что ответы то Ваши по миррор правильные пошли, тут не поспоришь, вот бы сразу так

Успехов!
... << RSDN@Home 1.0 beta 4 >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[12]: Программная инсталяция драйверов
От: Andrew S Россия http://alchemy-lab.com
Дата: 12.01.03 13:40
Оценка: 12 (1)
V>при чем здесь SCM я должен у Вас просить
V>речь шла поставить драйвер программно!

Прааально. И там было утверждение, что любой драйвер можно поставить при помощи SCM. Ан нет, не любой Про то и речь, что в случае mirror драйвера SCM не нужен совершенно, ибо как лишнее. Еще только что вспомнилось про user-mode драйвер принтера Почему руки отрывать за SCM — так потому, что, например, требуются лишние перезагрузки, правка реестра (кстати, не всегда возможная не из сервиса) и т.п. — _слишком_ сложно.

V>однако работает, главное чтобы драйвер и минипорт правильные были (с поддержкой НТ4), а аттач к десктопу все равно программно делается (у меня) и этот ключик не играет роли для того, чтобы запустить минипорт или GDI driver, верно?


Стоп. Ну под 2к и выше я понимаю — ChangeDisplaySettingsEx. Но под NT4 то это не работает, как я помню. Как я понял — единственный выход там в случае использования mirror драйвера аттачить его сразу — т.е. Attached.ToDesktop=1. Или есть еще какие методы динамической загрузки драйвера и под NT? Как я понял, драйвер дисплея грузится там при старте и выгрузить/загрузить динамически возможности нет?

Да и не в статистике дело, надеюсь Просто интересно общаться — может действительно что я не знаю про mirror под NT4. А что 0 — так когда есть за что, так и не обидно. Мне, например, было не слишком понятно, что неправильного в том, что не дело SCM инсталлировать (заметьте, не загрузить, а именно инсталлировать) драйвер. А так даже веселее — есть повод узнать что то новое. Тем более что и правда я слишком резко ответил, за что еще раз извиняюсь. Никого обидеть не хотел. Наверное, злой был с утра, после общения с клиентами.

V>Короче говоря, Андрей, надеюсь мы поняли друг друга в итоге, кто и почему что написал, оба понимаем что ответы в целом верные а из-за неаккуратностей в сообщениях придираться и спорить можно долго, поэтому чтобы закрыть дискуссию, поправлю Вам статистику и предлагаю Вам ибо не каждый день встречаю разработчика, знакомого с миррор!

Ок, конечно мир, я и не собирался воевать. Просто так получилось А статистику... ну, поправим, без проблем, ежели это важно.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[13]: Программная инсталяция драйверов
От: Valerio Россия linkedin.com/in/boronin
Дата: 12.01.03 14:03
Оценка:
Здравствуйте, Andrew S, Вы писали:

V>>однако работает, главное чтобы драйвер и минипорт правильные были (с поддержкой НТ4), а аттач к десктопу все равно программно делается (у меня) и этот ключик не играет роли для того, чтобы запустить минипорт или GDI driver, верно?


AS>Стоп. Ну под 2к и выше я понимаю — ChangeDisplaySettingsEx. Но под NT4 то это не работает, как я помню. Как я понял — единственный выход там в случае использования mirror драйвера аттачить его сразу — т.е. Attached.ToDesktop=1. Или есть еще какие методы динамической загрузки драйвера и под NT? Как я понял, драйвер дисплея грузится там при старте и выгрузить/загрузить динамически возможности нет?


признаюсь честно, условий работоспособности на НТ4 системах заказчики не ставили и я успокоился на том, что попарился с запуском своего драйвера из под НТ4, не более, фактически то, о чем спорили тут так долго Driver Entry вызвался ну и ОК я решил Обязательно посмотрю здесь повнимательней, как будет время. Спасибо!

AS>Да и не в статистике дело, надеюсь Просто интересно общаться — может действительно что я не знаю про mirror под NT4. А что 0 — так когда есть за что, так и не обидно. Мне, например, было не слишком понятно, что неправильного в том, что не дело SCM инсталлировать (заметьте, не загрузить, а именно инсталлировать) драйвер. А так даже веселее — есть повод узнать что то новое. Тем более что и правда я слишком резко ответил, за что еще раз извиняюсь. Никого обидеть не хотел. Наверное, злой был с утра, после общения с клиентами.


Утренние клиенты?
Обычно мы злые после общения с "ихнего" утра , а нашего вечера, когда и без клиентов уже устал! Хотя если ты был "в ночь" и побщался с кем-то с утра, то я бы тут и не такого ответил!
... << RSDN@Home 1.0 beta 4 >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[5]: Программная инсталяция драйверов
От: Andrew S Россия http://alchemy-lab.com
Дата: 12.01.03 14:43
Оценка:
Сорри, просто ник Alex у меня вызывает стойкое желание написать Алексей. Рву на себе последние волосы, постараюсь исправиться

AF>Прошу прощения, я — Александр.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.