Установка INF-файла с помощью пакетного файла Windows - PullRequest
5 голосов
/ 06 марта 2009

Когда вы щелкаете правой кнопкой мыши по INF-файлу, у вас есть опция «Установить». Я хочу установить INF-файл из командной строки, используя командный файл. Каков «правильный» способ сделать это?

Спасибо!

[править] Я должен уточнить, что я пытаюсь запустить это на Windows XP (а не Vista). Хотя я ценю приведенный ниже ответ, в котором упоминается InfDefaultInstall.exe, я считаю, что эта программа не поставлялась с XP.

Ответы [ 3 ]

7 голосов
/ 06 марта 2009

Команду можно найти, просматривая раздел реестра HKCR\inffile\shell\Install\command. В Windows XP это

%SystemRoot%\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %1

в Windows Vista и более поздних версиях

%SystemRoot%\System32\InfDefaultInstall.exe "%1"

Чтобы использовать командный файл в нескольких версиях Windows, вам понадобятся некоторые хитрости. Вы можете использовать reg.exe, чтобы запросить ключ и попытаться проанализировать вывод (я не нашел быстрого способа получить только значение из reg). Если вы знаете, на каких платформах вы работаете, вы также можете жестко запрограммировать командные строки и переключаться в соответствии с версией Windows (для этого потребуется еще один взлом. %OS% не говорит вам больше, чем «Windows NT»). ", к сожалению.).

2 голосов
/ 09 мая 2011
rem tested/works

:inf
ver | findstr /il "Version 6." > nul 
if %ERRORLEVEL%==0 goto :vista

:xp
start/wait rundll32.exe setupapi,InstallHinfSection DefaultInstall 4 %_%
goto :eof
:vista
%SystemRoot%\System32\InfDefaultInstall.exe "%_%"

:eof
1 голос
/ 09 января 2012

Должен работать в любой системе Windows с IE 4.0 +:

RunDll32 advpack.dll,LaunchINFSection <file.inf>,DefaultInstall
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...