| Zrovna jsem se dopotýkal s automatickou (tichá, silent, unattended) instalací ovladačů zařízení z INF souboru, tak to třeba někomu pomůže. Šlo o to, nainstalovat minidriver pro čipové karty Monet+ a Gemalto ID Prime (dříve Gemalto .NET). Distribuce vypadá tak, že dostanete DLL soubor toho minidriveru a INF soubor s instalačními parametry.
Jak to ale nainstalovat automaticky, potichu, aby to nic nezobrazovalo? A to ještě na všech verzích Windows, od Windows XP až po Windows 2012 a Windows 8?
Všude je napsáno, že na Windows XP máte použít RunDll32 a setupapi, zatímco od Windows Vista už je potřeba InfDefaultInstall. Má to ale trošku háčky. Metoda s InfDefaultInstall zobrazuje po skončení okénko s nápisem "operation completed successfuly" (mimochodem to je hodně inteligentní nápad), což mě vadí. A naopak metoda setupapi skutečně na Windows Vista a novějších nefunguje.
Takže závěr? Použijte RunDll32, advpack a LaunchINFSectionEx (pozor, musíte dodržet velikost písmen):
%systemroot%\System32\rundll32.exe advpack.dll,LaunchINFSectionEx "cesta-k-INF-souboru",DefaultInstall,,4N
Hodnota 4N na konci znamená "potichu" a "bez restartu". Více možností najdete v oficiální dokumentaci k funkci LaunchINFSectionEx. |