36539
Goto Top

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

Content-Key: 90673

Url: https://administrator.de/contentid/90673

Printed on: April 26, 2024 at 10:04 o'clock

Member: L0c4lh0sT
L0c4lh0sT Jun 26, 2008 at 06:35:38 (UTC)
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
Mitglied: 36539
36539 Jun 26, 2008 at 06:42:55 (UTC)
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
Member: paulepank
paulepank Jun 26, 2008 at 07:10:08 (UTC)
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
Member: L0c4lh0sT
L0c4lh0sT Jun 26, 2008 at 07:58:26 (UTC)
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
Mitglied: 36539
36539 Jun 26, 2008 at 17:53:23 (UTC)
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
Mitglied: 36539
36539 Jun 26, 2008 at 19:45:23 (UTC)
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
Member: paulepank
paulepank Jun 26, 2008 at 20:44:16 (UTC)
Goto Top
vereinfacht gesagt:Ja

cu paulepank