36539

inf-Datei automatisch installieren

Hallo,

könnt ihr mir mal auf die Sprünge helfen?

Ich möchte eine *.inf-Datei aus einer Batch heraus automatisch installieren.
Die *.inf selbst liegt im gleichen Verzeichnis wie die Batch und soll dort auch bleiben.

Ich meinte mich zu erinnern es ginge nur per rundll.Befehl, aber welcher?
http://de.wikipedia.org/wiki/Rundll32 hat mir leider nicht weitergeholfen.

Es muss übrigens unter WIN 2000, WIN XP und WIN Vista funktionieren.

Könnt ihr Helfen?

Danke
onegasee59
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 90673

Url: https://administrator.de/forum/inf-datei-automatisch-installieren-90673.html

Ausgedruckt am: 25.04.2025 um 10:04 Uhr

L0c4lh0sT
L0c4lh0sT 26.06.2008 um 08:35:38 Uhr
Goto Top
Ich hab einfach mal bei Google eigegeben: "rundll inf" und schon kam das Ergebnis. Zwar auf Englisch aber ich übersetze mal.

Inf-Dateien können dazu verwendet werden, um Anwendungen zu installieren oder zu entfernen. Um mit einem Skript INF-Datei zu installieren oder zu entfernen, rufen Sie die rundll32 Anwendung aus einem Skript mit der folgenden Syntax heraus auf:

Allgemeiner Syntax:
Windows 9x Syntax: rundll.exe setupx.dll,InstallHinfSection {Section} {intMode} {INFFile}
Windows NT & XP: rundll32.exe setupapi.dll,InstallHinfSection {Section} {intMode} {INFFile}

Variaben:
INFFile Ist der Pfad zu der Inf datei. Längere Pfade sollten in Quoten gesetzt werden.
intMode Ist eine Nummer aus der unten stehenden Tabelle. Sie können auch mehrere Nummern kombinieren. Als Default wird 132 gesetzt.
Section Irgendeine Installations oder Deinstallations Sektion in der inf Datei. Normalerweise verwendet man die Schlüsselwörter "DefaultInstall" oder "DefaultUninstall".

Tabellen Werte:

0 Kein neustart nach der Installation.
128 Der Installationsort ist da wo die inf Datei ist. Dies ist eine Standard Einstellung
1 Neustart erzwingen
2 Nachfrage ob Neugestartet werden darf
3 Neustart wenn es nötig ist (Computer entscheidet selber)
4 Wenn ein Neustart notwendig ist wird der Benutzer vorher gefragt ob der Computer wirklich Neugestartet werden soll

Kombinieren Sie die Werte aus der Tabelle.


Beispiel:

RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 C:\WINDOWS\INF\SHELL.INF
36539
36539 26.06.2008 um 08:42:55 Uhr
Goto Top
Hallo Alex,

Ich hab einfach mal bei Google eigegeben: "rundll inf" und schon kam das Ergebnis. Zwar auf > Englisch aber ich übersetze mal.
Genau das ist mein Problem, kann kein Englisch. Ich stolper mir das immer zusammen. Aber das ist natürlich bei korrekten notwendigen Angaben immer schlecht.

Herzlichsten Danke daher für Deine Hilfe und noch mehr für die Übersetzung.
Erstklassig face-smile
Hab es bei mir gespeichert.

Ich werde es heute Abend testen und Feedback geben ob es so auch unter Windows Vista funktioniert.

Gruß
onegasee59
paulepank
paulepank 26.06.2008 um 09:10:08 Uhr
Goto Top
Hallo ,

bei Vista ist das anders.
Wie der Befehl lautet, hängt immer vom Inhalt des Eintrages in
HKLM\SOFTWARE\Classes\inffile\shell\Install\command
ab.

Also bei Vista:
infdefaultinstall <LW:\Pfade\datei.inf>

cu paulepank
L0c4lh0sT
L0c4lh0sT 26.06.2008 um 09:58:26 Uhr
Goto Top
Man kann das ganze aber mit einer einfachen Abfrage realisieren.
Hier mal ein Beispiel Code:

VER | FIND "Windows XP" > nul  
 IF not errorlevel 1 GOTO Win_XP

VER | FIND "Windows 2000" > nul  
 IF not errorlevel 1 GOTO Win_XP //Sollte funktionieren.

VER | FIND "Windows Vista" > nul   
//Einfach mal die CMD öffnen und VER eingeben. Dann hast du die genaue Bezeichnung des BS. Kann dir leider net sagen wie die bei Vista ist.
 IF not errorlevel 1 GOTO Win_Vista

:Win_XP
RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 C:\WINDOWS\INF\SHELL.INF

:Win_VISTA
infdefaultinstall <LW:\Pfade\datei.inf>

So könnte man das ganze auch auf mehrere Systeme anpassen.
Hoffe ich konnte helfen
36539
36539 26.06.2008 um 19:53:23 Uhr
Goto Top
@alle,

So funktionert es.

(die "voxacm.inf" liegt im gleichen Verzeichnis mit der Batch)

Lösung für XP
set "startpfad=%~dp0"  
rundll32.exe setupapi,InstallHinfSection DefaultInstall.NT 123 %startpfad%voxacm.inf

Lösung für Vista
set "startpfad=%~dp0"  
InfDefaultInstall.exe %startpfad%voxacm.inf

Gruß und Danke alle Helfern.

Danke
onegaee59
36539
36539 26.06.2008 um 21:45:23 Uhr
Goto Top
Hallo paulepank,

der Eintrag in Vista lautet bei mir
%SystemRoot%\System32\InfDefaultInstall.exe "%1"



der Eintrag unter XP lautet bei mir:
%SystemRoot%\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %1



steht hierbei "%1" jeweils für "LW:\Pfad\inf-Datei"?

Gruß
onegasee59
paulepank
paulepank 26.06.2008 um 22:44:16 Uhr
Goto Top
vereinfacht gesagt:Ja

cu paulepank