|
|
|
При установке драйвера скопировать 2 разных файла с одинаковым именем в system32/syswow64?
|
|||
|---|---|---|---|
|
#18+
Не знаю, в той ли ветке форума пишу, но не в .Net же об этом спрашивать. inf для установки драйвера на x64 систему Смысл в том, что один из модулей идет в двух вариантах (32бит и 64бит) -так надо и так бывает. 32-битный копируется так (в SysWow64, где лежат 32-битные файлы) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 64-битный копируется так (в System32, где лежат 64-битные файлы) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Обе процедуры рабочие, но надо это дело совместить. По хорошему надо: mydll32.dll -> mydll.dll (в SysWow64) mydll64.dll -> mydll.dll (в System32) Но не знаю как из SourceDisksFiles мувнуть файл в DestinationDirs, при этом с переименованием. Практически я могу это сделать вне процедуры установки драйвера (на установку и работоспособность не повлияет, т.к. достаточно подписать только inf с помощью каталога чтоб он встал), но так делать не хочется, все-таки драйвер. Драйвер ссылается на указанный модуль по его имени (mydll.dll), при этом использование того или иного модуля зависит от того какая прога (32-битная или 64-битная) работает с девайсом. Знает кто как такое копирование в драйвере прописать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2015, 10:26 |
|
||
|
При установке драйвера скопировать 2 разных файла с одинаковым именем в system32/syswow64?
|
|||
|---|---|---|---|
|
#18+
Раскладываем одноимённые файлы по x86 и amd64 подкаталогам и читаем MSDN . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2015, 11:09 |
|
||
|
При установке драйвера скопировать 2 разных файла с одинаковым именем в system32/syswow64?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovРаскладываем одноимённые файлы по x86 и amd64 подкаталогам и читаем MSDN . Немного не об этом речь идет. По твоей ссылке говорится о том как один inf использовать для установки 32-битного(на x86 OS) и 64-битного драйвера(на x64OS). Предполагается что на x86 будут браться файлы из каталога x86, на x64 -из каталога x64 (надо выбрать откуда брать файл). Мне не влом написать разные инфы с [... .NTamd64] и [... .NTx86], это не проблема. У меня более тяжелый случай. Для варианта [... .NTamd64] надо скопировать dll сразу в двух вариантах, т.е. оба варианта нужны при одной инсталляции. И здесь только переименование думаю. Если msdn, то документация тут: INF CopyFiles Directive Код: plaintext 1. 2. Но нашел статейку, где гораздо популярнее и с примерами все разжевано: Copy Files Section В итоге извернулся: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Т.е. я копирую два файла из папки с inf-ом (там они с разными именами), в две папки System32(11) и SysWow64(10), но уже с одним именем. М.б. конечно можно извратиться и вытаскивать из 2-х папок, но не буду умничать. авторПрактически я могу это сделать вне процедуры установки драйвера (на установку и работоспособность не повлияет, т.к. достаточно подписать только inf с помощью каталога чтоб он встал), но так делать не хочется, все-таки драйвер. А вот так делать не надо. Inf обеспечивает автоматику замены файла (в крайнем случае после перезагрузки), а файл может быть In Use (и с высокой вероятностью так и будет), простое Copy инсталлятором может ой как поднасрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2015, 13:32 |
|
||
|
При установке драйвера скопировать 2 разных файла с одинаковым именем в system32/syswow64?
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Для варианта [... .NTamd64] надо скопировать dll сразу в двух вариантах, т.е. оба варианта нужны при одной инсталляции. И здесь только переименование думаю.Не надо думать - надо откопировать строчку из x86-секции в amd64-секцию и поменять в этой копии целевой каталог. Или просто проверить, что винда умнее обычного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2015, 13:56 |
|
||
|
При установке драйвера скопировать 2 разных файла с одинаковым именем в system32/syswow64?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, ты хоть понял что мне надо? У меня 64-битный драйвер (о 32-битном речь не ведем) и есть только amd64-секция но при этом мне надо копирнуть dll, которая для этого драйвера нужна в обоих вариантах (32бит и 64 бит) - на 64-битной системе. Wave Transform модуль Unimodem драйвера, на который ссылается драйвер любого голосового модема. Не будет 32-битная TAPI прога голос через 64-битную dll играть (даже на 64-битной OS). Если интересно, могу подробнее, технически я задачу решил, то чего здесь обсуждаем -мелкие детали. Модем эту dll копировать не должен, она типа "есть в системе". 10 лет как неработоспособная, с тех пор как Висту в муках родили. Microsoft этот баг дотащил до 8.1 и в 10-ке изменений не предвидится. Вот примеры истерических (дискуссиями назвать сложно): Voice Modem problems with Unimodem Transform Module Will Vista ever fully support voice modem based on conexant chip s А решение простое - сп*здить позаимствовать этот модуль из XP (или лучше сразу из XP/2003 x64 в 2-х вариантах). И понятно что надежнее всего фикс имплементировать в драйвер устанавливаемого модема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2015, 14:44 |
|
||
|
При установке драйвера скопировать 2 разных файла с одинаковым именем в system32/syswow64?
|
|||
|---|---|---|---|
|
#18+
Дмитрий77ты хоть понял что мне надо?А вы хоть поняли, что вам посоветовали?У меня 64-битный драйвер (о 32-битном речь не ведем) и есть только amd64-секцияВ этой секции запрещено указывать "x86\файл", "amd64\файл" или у вас идиосинкразия на подкаталоги? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2015, 18:16 |
|
||
|
При установке драйвера скопировать 2 разных файла с одинаковым именем в system32/syswow64?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Я поступаю по другому. Инсталлятор проги копирует несколько папок типа Win32, x64, XP в папку с программой, потом анализирует ОС: 1) 32 bit или x64 2) WinXP/2003 или выше, т.е. (Vista-8.1, Win2008-2012R2 ++) По результатам анализа скидывает нужные файлы в основную папку и запускает процесс установки драйверов (т.е. при установке файлы берутся из тек. директории, где лежит inf а не из подпапок). Две папки x86 и x64 вообще говоря недостаточно. Для XP/2003 файлы лучше подписывать тестовым Root-сертификатом, а на >=Vista нужен CodeSigning (причем на XP для драйверов он бесполезен, т.е. не подавляет диалоговые окна, а Test Root как раз подавляет). Т.е. разные cat-файлы надо использовать. Basil A. SidorovА вы хоть поняли, что вам посоветовали? Проиллюстрируй листингом, если вдруг не понял. Basil A. SidorovУ меня 64-битный драйвер (о 32-битном речь не ведем) и есть только amd64-секцияВ этой секции запрещено указывать "x86\файл", "amd64\файл" или у вас идиосинкразия на подкаталоги? Это только доказывает что так делать нельзя: авторРаскладываем одноимённые файлы по x86 и amd64 (т.е. копировать из этих двух обоих каталогов -вот с такими именами- в моем случае) А где я это использую? Вот это? [MYDLL_X86.CopyFiles] [MYDLL_X64.CopyFiles] Это просто имена секций (без скрытого подтекста), могу написать: [MYDLL32.CopyFiles] [MYDLL64.CopyFiles] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2015, 23:04 |
|
||
|
При установке драйвера скопировать 2 разных файла с одинаковым именем в system32/syswow64?
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Я поступаю по другомуНу так не поступайте так. Поступайте так, как рекомендовано на MSDN и не мешайте системе делать её работу. P.S. - Но вам же шкаф загораживает окно?! - А вы на шкаф залезьте ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 14:54 |
|
||
|
При установке драйвера скопировать 2 разных файла с одинаковым именем в system32/syswow64?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Ну, я свой листинг привел. Противоречий с msdn не вижу. И все работает. Приведи свой если не согласен, соблюдая условия задачи. Два файла с одинаковым именем, 64-битный отправляется в System32, 32-битный > в SysWow64. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 16:31 |
|
||
|
При установке драйвера скопировать 2 разных файла с одинаковым именем в system32/syswow64?
|
|||
|---|---|---|---|
|
#18+
Если вас не устраивает моё предложение (иерархия каталогов-источников, исключающая необходимость переименования) - возитесь с переименованиями самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 17:51 |
|
||
|
При установке драйвера скопировать 2 разных файла с одинаковым именем в system32/syswow64?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Допустим устраивает. Но как мне "прогнать через inf" два файла с одинаковым именем? mydll.dll (в каталоге \catalog1) -> в System32 (ну 11, это понятно) mydll.dll (в каталоге \catalog2) -> в SysWow64 (ну 10, это тоже понятно) Я ж не случайно "рабочий" листинг прошу, если знаешь как это сделать. "Читай msdn, тупица" сам понимаешь не ответ. То что я понял (из msdn и из вспомогательных статей) как мувнуть файл из своей директории при этом с переименованием (чем в общем-то ответил на свой вопрос), уже неплохо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2015, 12:09 |
|
||
|
При установке драйвера скопировать 2 разных файла с одинаковым именем в system32/syswow64?
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Но как мне "прогнать через inf" два файла с одинаковым именем? SourceDisksFiles , SourceDisksNames . Может ещё чего можно придумать, но вариант с разными "дисками" для одноимённых файлов - лежит на поверхности. Подкаталоги для того и требуются, чтобы разные "диски" можно было объединить в один. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2015, 18:29 |
|
||
|
При установке драйвера скопировать 2 разных файла с одинаковым именем в system32/syswow64?
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Ну, ты таки листинг не привел. И честно говоря не понятно как сделать то что мне нужно. Секции с .x86 на 64-битной ОС я использовать не могу. Остается вариант .amd64, потом "общая", как-то так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Но я не проверял, нет у меня уверенности что это сработает, т.е. что он мне скопирует оба файла откуда надо куда надо, при этом не напутав. То что мне надо установить и 32-битный umdmxfrm1.dll тоже -на 64-битной системе - это понятно? (есть подозрение что нет, без обид, это нестандартная ситуация) Мой то вариант с переименованием точно рабочий и вполне понятный, а за ахинею что я сейчас накатал не ручаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2015, 20:53 |
|
||
|
При установке драйвера скопировать 2 разных файла с одинаковым именем в system32/syswow64?
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Ну, ты таки листинг не привел. И честно говоря не понятно как сделать то что мне нужноВ вашем листинге - один "диск". Поэтому - вы не поняли, что я предложил. P.S. Представьте, что у вас на двух дискетах в разных каталогах лежать одноимённые файлы ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.04.2015, 17:42 |
|
||
|
|

start [/forum/topic.php?fid=26&msg=38927406&tid=1494103]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 135ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...