View previous topic :: View next topic |
Author |
Message |
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Tue Feb 01, 2011 11:33 Post subject: |
|
|
Mellomann
Я пока не разбирался с SetupAPI, поэтому, к сожалению, не смогу в этом направлении ничего подсказать. Могу лишь предложить альтернативный способ установки: через копирование файла в нужную папку и импорт записей в реестр. Обе операции прекрасно автоматизируются.
PS: Собственно говоря, именно этот механизм был реализован изначально, INF я добавил лишь потом, для упрощения ручной установки. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Tue Feb 01, 2011 12:37 Post subject: |
|
|
CaptainFlint wrote: | Ладно, буду иметь в виду, что это важный аспект для некоторых пользователей. |
Отношусь к этим некоторым пользователям. Для количества поддержу, что не рад перезагрузке. Аргумент? - Ну, допустим, делаю периодически образы диска с виндой - чистая идеальная винда со всеми обновками (вин) и драйверами под мою систему (эти работают и ладно). Тестируя что-либо, всяко хламлю систему и раз в месяц восстанавливаю, ну и потом надо что-то смонтировать, эх... перезагрузка... Почему однажды не запихнуть в образ? - А у меня всего, что касается TC, в винде нет, такой вот принцип (TC на [-d-], всё в портабл). _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
Rodny
Joined: 24 Jan 2007 Posts: 949 Location: Могилёв, Беларусь
|
(Separately) Posted: Tue Feb 01, 2011 13:24 Post subject: |
|
|
ask-rus wrote: | Тестируя что-либо, всяко хламлю систему и раз в месяц восстанавливаю |
Виртуальные машины не? |
|
Back to top |
|
|
ask-rus
Joined: 10 Nov 2009 Posts: 2076 Location: Russian Federation
|
(Separately) Posted: Tue Feb 01, 2011 13:44 Post subject: |
|
|
Rodny wrote: | Виртуальные машины не? |
[off]
Не, отказался. Система - дерево, тормоза - жуть.
[/off] _________________ «Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Tue Feb 01, 2011 13:54 Post subject: |
|
|
ask-rus wrote: | Для количества поддержу, что не рад перезагрузке. |
Может, я не совсем ясно выразился. Я ни в коем случае не защищаю перезагрузку. Я тоже ей не рад, она мне тоже мешает, и я тоже очень не люблю лишний раз перезагружать компьютер. Просто в моём представлении это не является вселенским злом, и по сравнению, ну скажем, с отсутствием поддержки UDF (когда её ещё не было в драйвере), это становится ну настолько микроскопической проблемой, что я её каждый раз откладываю и откладываю в пользу более важных и насущных (на мой взгляд) задач.
Кроме того (это не к конкретному сценарию с ежемесячной переустановкой, а вообще), зачастую драйвер требуется не установить с нуля, а обновить, а это (если очень хочется и руки из правильного места растут) можно выполнить без перезагрузки, то есть проблема становится ещё менее актуальной. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Mellomann
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Tue Feb 01, 2011 14:00 Post subject: |
|
|
CaptainFlint wrote: | <...> драйвер требуется не установить с нуля, а обновить, а это <...> можно выполнить без перезагрузки <...> |
Как без неё? Поведать массам об этом надобно!
На днях как раз 1.33 накатывал "как положено" через inf'ик, так винда че-ть перезагрузку затребовала как положено.
Last edited by Mellomann on Tue Feb 01, 2011 14:38; edited 1 time in total |
|
Back to top |
|
|
Mellomann
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Tue Feb 01, 2011 14:33 Post subject: |
|
|
CaptainFlint wrote: | альтернативный способ установки: через копирование файла в нужную папку и импорт записей в реестр. |
пробовал (несколько раз) так делать на 1.33 в виртуалке на чистой винде ХП , даже перегрузил, но не выходит - не загружает винда дровишку. |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Tue Feb 01, 2011 15:07 Post subject: |
|
|
Mellomann wrote: | Как без неё? Поведать массам об этом надобно! |
Это рискованный способ, поэтому я о нём не пишу в ридми. Надо остановить драйвер (например, командой net stop vd_filedisk), заменить файл драйвера на новый, и снова запустить драйвер (net start vd_filedisk). Но, во-первых, обязательно перед этим отключить все подключённые образы: иначе драйвер намертво зависнет. Во-вторых, этот способ не всегда прокатывает (обновлённый драйвер может отказаться запускаться, пока не перезагрузишься).
Mellomann wrote: | На днях как раз 1.33 накатывал "как положено" через inf'ик, так винда че-ть перезагрузку затребовала как положено. |
Потому что INF устанавливает стандартным способом. По сути, INF — это всего лишь автоматизированный способ сделать в точности то же самое, что раньше надо было делать ручками: скопировать файл драйвера, создать записи в реестре, предложить перезагрузку. Больше он ничего не делает.
Mellomann wrote: | пробовал (несколько раз) так делать на 1.33 в виртуалке на чистой винде ХП , даже перегрузил, но не выходит - не загружает винда дровишку. |
Значит, делал что-то не так. Например, копировал в system32, а не в system32\drivers (частая ошибка была у пользователей, пока я INF не сделал, который сам копирует, куда надо). Или драйвер скопировал не той архитектуры, например, 64-битный вместо 32-битного или наоборот. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
GGS
Joined: 02 May 2009 Posts: 322
|
(Separately) Posted: Tue Feb 01, 2011 15:33 Post subject: |
|
|
CaptainFlint
При установке драйвера через INF-файл создаётся запись в реестре, которая отсутствует в Вашем REG-файле. У меня так:
Code: | Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_VD_FILEDISK]
"NextInstance"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_VD_FILEDISK\0000]
"Service"="VD_FileDisk"
"Legacy"=dword:00000001
"ConfigFlags"=dword:00000000
"Class"="LegacyDriver"
"ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}"
"DeviceDesc"="VD_FileDisk"
"Capabilities"=dword:00000000
"Driver"="{8ECC055D-047F-11D1-A537-0000F8753ED1}\\0041"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_VD_FILEDISK\0000\LogConf]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_VD_FILEDISK\0000\Control]
"ActiveService"="VD_FileDisk"
|
|
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Tue Feb 01, 2011 15:51 Post subject: |
|
|
GGS wrote: | При установке драйвера через INF-файл создаётся запись в реестре, которая отсутствует в Вашем REG-файле. |
Нет, это не при установке драйвера через INF. Это при любой установке драйвера, после перезагрузки данные записи создаются системой автоматически (иногда — после второй перезагрузки). _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Feb 01, 2011 16:10 Post subject: |
|
|
CaptainFlint wrote: | Ну ты нашёл, блин, источничек… | Источник - самое то. CaptainFlint wrote: | Надо остановить драйвер (например, командой net stop vd_filedisk), заменить файл драйвера на новый, и снова запустить драйвер (net start vd_filedisk). Но, во-первых, обязательно перед этим отключить все подключённые образы: иначе драйвер намертво зависнет. | Можешь попробовать прикрутить InUse. |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Tue Feb 01, 2011 16:48 Post subject: |
|
|
Flasher wrote: | Можешь попробовать прикрутить InUse. |
Проблема не в отсутствии доступа к файлу, а в том, что драйвер зависает при запросе останова. Это надо в нём что-то исправлять, а что — я разобраться не смог. Bo Branten сказал, что есть у него кое-какие мысли по этому поводу, но дальше этого не пошёл. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Feb 01, 2011 16:56 Post subject: |
|
|
CaptainFlint wrote: | Проблема не в отсутствии доступа к файлу | Я то понял. Проблема в замене без отключения, что и делает указанная утилита. |
|
Back to top |
|
|
Mellomann
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Tue Feb 01, 2011 17:34 Post subject: |
|
|
CaptainFlint wrote: | Значит, делал что-то не так. Например, копировал в system32, а не в system32\drivers (частая ошибка была у пользователей, пока я INF не сделал, который сам копирует, куда надо). Или драйвер скопировал не той архитектуры, например, 64-битный вместо 32-битного или наоборот. |
как раз это я несколько раз перепроверял и ложил правильно и куда надо. видать, винда такая голимая... |
|
Back to top |
|
|
CaptainFlint
Joined: 14 Dec 2004 Posts: 6151 Location: Москва
|
(Separately) Posted: Tue Feb 01, 2011 18:38 Post subject: |
|
|
Flasher wrote: | Проблема в замене без отключения, что и делает указанная утилита. |
Она перезагрузку требует. А сделать замену с перезагрузкой INF-установщик и сам умеет без всяких InUse.
Mellomann wrote: | как раз это я несколько раз перепроверял и ложил правильно и куда надо. видать, винда такая голимая... |
Извини, не верю. Если бы я сам, своими ручками не писал этот INF, ещё можно было бы предположить, что я в чём-то недоразобрался. За время существования плагина уже многократно были репорты от пользователей, утверждавших, что всё делали вот прям точно-точно, как надо, что всё проверяли и перепроверяли, и всё равно не работало. А потом выяснялось, что всё-таки где-то ошиблись: кто-то не в тот каталог записал, другой скопировал не ту версию драйвера (решил, что раз у него 64-битный проц, то и драйвер нужен 64-битный, несмотря на 32-битную систему), третий забыл, что в 64-битной винде обращения в system32 редиректятся в syswow64, четвёртый импортировал reg-файл в 64-битной винде из Тотала, забыв, что реестр тоже виртуализируется для 32-битных приложений…
Если хочешь, можем связаться через какой-нибудь IM. Будешь делать шаг за шагом, а я — контролировать. Если интересно разобраться — пиши в личку. _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|