Хорошо, я нашел больше информации:
MSDN гласит, что 'вы должны установить драйверы файловой системы, используя INF-файл' (вызывая SetupCopyOEMInf
и т. Д.), Но также отмечает, что на Win2k и старше системы, 'драйверы файловой системы обычно устанавливались диспетчером управления службами'
И я нашел другой Ext2 драйвер в sourceforge , который поставляется с установочным скриптом Inno Setup. Там они просто добавляют несколько записей реестра под HKLM\SYSTEM\CurrentControlSet\Services\
.
Я считаю, что добавление этих записей равнозначно созданию службы с помощью инструмента sc.exe
, который внутренне вызывает API OpenSCManager
и CreateService
. Я предпочитаю способ регистрации, потому что он проще и я не вижу преимуществ в использовании вызовов API, так как перезагрузка всегда требуется.
Итак, я остановился на этом решении:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\YourService]
"ErrorControl"=dword:00000001
"Start"=dword:00000003
"Type"=dword:00000001
"DisplayName"="YourServiceDisplayName"
"ImagePath"="System32\Drivers\YourService.sys"
Конечно, в зависимости от специфики рассматриваемого драйвера, может потребоваться еще несколько записей в Parameters
подразделе.
Я все еще надеюсь, что кто-то сможет пролить немного света на этот вопрос, в частности, некоторые подробности о том, как использовать файл inf для установки, так как MS рекомендует этот способ.
Давай, ребята! Здесь есть хорошая награда!