Problem bei unattended installation / unbeaufsichtigte Installation.

bdo

Lieutenant
Registriert
März 2005
Beiträge
702
Hallo Zusammen,

ich hoffe das hier ein paar unterwegs sind, die sich mit dem Thema schonmal auseinander gesetzt haben.

Ich habe folgendes Problem:

Ich erstelle eine unbeaufsichtigte Installation für ca. 200 Arbeitsplätze mit vielen verschiedenen Rechnertypen, hierfür muss ich sämtliche Treiber out-of-the-box parat haben und nicht erst nachpflegen müssen.

Ich habe jetzt in in meiner Winnt.sif Datei folgende Parameter bezüglich der Treibersuche:

Code:
OemPnPDriversPath="Drivers\01_chipsatz;Drivers\02_Audio;Drivers\03_Grafikkarte;Drivers\04_Modem;Drivers\05_Netzwerk;Drivers\06_Controller;Drivers\07_Sonstige"

Das funktioniert auch soweit, problem dabei ist nur, dass ich damit eigentlich nur einen PC abdecken kann, weil:

- z.B. im Verzeichnis Chipsatz ja Treiber für ca. 20-25 Rechnermodelle liefen sollen und diese leider oft gleich heißen.
- ich kann nicht beliebig viele Ordnerstrukturen anlegen, da ich hier von Microsoft auf 99 Zeichen limitiert bin

Was wäre die eleganteste Methode die Treiber der Windows Installation mitzugeben?

An Programmen wie nLite oder so bin ich leider nicht interessiert, da diese oft mehr Probleme machen als sie helfen und sie auch nicht von MS zertifiziert sind.

Ich wäre über jede Hilfe dankbar!
 
Nein, wir nutzen kein RIS, da keine AD Umgebung usw. besteht.

Also ich habe im endeffekt jetzt auch eine DVD, die auch wunderbar ihren Dienst tut. Nur das Treiberproblem besteht leider weiterhin... was mich zum verzweifeln bringt :/


Wäre es eine Möglichkeit, die INF Dateien in einen Ordner zu packen und die INF Dateien dahingehend zu bearbeiten, dass sie auf andere Ordner (mit den Treibern) zeigen?
 
Du kannst jede *.inf Datei so anpassen, das sie den Pfad nimmt den Du angibst, dann muss aber bei allen Rechnern abgefragt werden welche Hardware verbaut wurde und dann auf die jeweilige *.inf Datei verweisen, bei 2 oder 3 Rechner sollte das noch zu machen sein, aber wenn Du 20 unterschiedliche Rechner hast, wirds schwierig, vor allem weil einige Treiber ein eigenes Installationsprogramm benutzen. Am einfachsten wäre wenn alle Rechner mit Hardware ausgestattet ist, die bereits Treiber im System integriert haben, dann erstellst Du einen Rechner und machst das Image mit dem "deploy" Tool fertig, dann wird ja beim ersten hochfahren die Hardware neu erkannt und installiert, evtl würde das auch noch gehen, wenn dann alle Treiber auf der Install DVD sind die die Rechner benötigen und automatisch die DVD danach durchsucht werden würde. Bei XP bestimmt nicht einfach, bei W7 wäre das bestimmt leichter zu machen.
 
Verdammt...

Ich wollte mir das ganze doch einfacher machen und nicht schwerer...

Das alles nur, weil Windows XP nicht in der lage ist bei der treibersuche die Ordner rekusiv zu durchsuchen.... !!
Ergänzung ()

Ich habe noch eine Idee... :

Ich baue mir ein kleines Script, welches mir die ein Auswahlfenster zur Verfügung stellt, per Buttons sind dann die verschiedenen PC Typen auswählbar. Dies geschieht direkt bei der Installation, es wird also noch kein Treiber abgefragt/erkannt oder ähnliches.

Dann stelle ich eine Ordnerstruktur Zusammen die so aussieht

Code:
Driver/HP-Desktop/Chipsatz
Code:
Driver/HP-Notebook/Chipsatz

Je nachdem, schreibe ich dann die richtigen Pfade in die Registry, dort steht doch der Ordnerpfad drin, nehm ich mal an.

Sollte das funktionieren? Das wäre zumindest einfacher zu erweitern, als immer alle *.inf dateien anzupacken...
Ergänzung ()

Ich hab hier jetzt schon etwas, das mir zumindest den enstprechenden, auch richtigen Regeintrag änder:

Code:
Auswahlbox()

Sub Auswahlbox()

Dim Auswahl, HP_PC_6000, HP_NB_6378
HP_PC_6000 = "HP_PC_6000_test"
HP_NB_6378 = "HP_NB_6378_test"

Auswahl = Inputbox("Bitte wählen Sie Ihren PC-Typen:" _
& vbCrLf & "0 = Beenden" _
& vbCrLf & "1 = HP_PC_6000" _
& vbCrLf & "2 = HP_NB_6378" )

Set objShell=CreateObject("wscript.shell") 
Select Case Auswahl
Case 1
objShell.regwrite "HKLM\Software\Microsoft\Windows\CurrentVersion\DevicePath", (HP_PC_6000)
Case 2
objShell.regwrite "HKLM\Software\Microsoft\Windows\CurrentVersion\DevicePath", (HP_NB_6378)
Case else
Wscript.quit
End Select
set WSHShell = nothing
End Sub
 
Zurück
Oben