При установке INF через установщик файл копируется в SysWOW64 вместо System32

У нас есть INF-файл, который устанавливает один файл.sys в папку драйверов Windows. Сценарий выглядит следующим образом:

1) Установка INF из проводника. Щелкните правой кнопкой мыши по файлу INF и выберите "Установить". В этом случае файл.sys получает копию в папке Windows\System32\drivers.

2) Создано консольное приложение для установки с использованием RunDll32 / CMD под объектом процесса и установки файла INF. В этом случае файл.sys получает копию в папке Windows\System32\drivers.

3) Создана программа установки x86, имеющая класс установщика для установки с использованием RunDll32 / CMD под объектом процесса и установки файла INF. В этом случае файл.sys получает копию в Windows\SysWOW64\drivers.

Наша цель - скопировать файл.sys в папку Windows\System32\drivers независимо от того, работают ли такие операционные системы 32/64 битных окон как WinXP, Windows7, Windiows 8/8.1/10.

1 ответ

Установщик Windows (MSI) устанавливает настаивать на установке 32-разрядных компонентов в установке x86 в 32-разрядных местах. Попытки направить 32-разрядные файлы в 64-разрядные расположения приведут к перенаправлению. 64-разрядная установка может установить оба.

Различные MSI требуются для разных архитектур:

https://blogs.msdn.microsoft.com/heaths/2008/01/15/different-packages-are-required-for-different-processor-architectures/

и, в частности, смотрите журнал WIN64DUALFOLDERS и сопутствующие замечания.

Другие вопросы по тегам