Treibereinbindung - aber wie ? - Printable Version +- Support Forum (https://www.vitaligraf.de/mybb) +-- Forum: Windows Unattended CD Creator (https://www.vitaligraf.de/mybb/forumdisplay.php?fid=9) +--- Forum: Treiber (https://www.vitaligraf.de/mybb/forumdisplay.php?fid=4) +--- Thread: Treibereinbindung - aber wie ? (/showthread.php?tid=129) |
Treibereinbindung - aber wie ? - borsti - 2005-11-23 Hallöchen Also Zunächst mal ein "Hallo" an alle "alten" hier im Forum. Ich habe folgendes Problem mit den Treibern, die ich einbinden möchte (für XP Professional): Die Treiber liegen mir nur als *.exe - Dateien vor. Also habe ich sie gestartet und vor der eigentlichen Installation abgebrochen, um an die entpackten Treiber sprich die *.inf - Dateien heranzukommen. Leider ist es so, das dort wiederum nur *.exe Dateien bei herauskommen und ich diese so immernoch nicht eingebunden bekomme. Nun dachte ich mir, dass ich sie als Programme einbinden könnte, indem ich auf die *.exe - Dateien verweise, aber dann instaliert er mir diese nicht. Ich hab schon 2 Tage nach entsprechenden Treibern gesucht, finde aber immer nur die gleichen. Auch den Acrobat Reader, den ich über die Programme eingebunden habe, installiert er nicht mit. Bin über jeden Tip dankbar Hier dazu die winnt.sif: [Data] MsDosInitiated="0" UnattendedInstall="Yes" [Unattended] UnattendMode=DefaultHide FileSystem=* OemSkipEula=Yes OemPreinstall=Yes Repartition=Yes WaitForReboot="No" UnattendSwitch=Yes [GuiUnattended] OEMSkipRegional=1 OemSkipWelcome=1 AdminPassword=******** TimeZone=110 [Display] BitsPerPel=16 Xresolution=800 Yresolution=600 Vrefresh=75 [UserData] FullName="XXX" OrgName="XXXXXXXX" ComputerName=RECHNER ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX [Identification] JoinWorkgroup=Arbeitsgruppe [Components] freecell=off hearts=off minesweeper=off msnexplr=off pinball=off solitaire=off spider=off zonegames=off msmsgs=off OEAccess=off fax=off [Networking] InstallDefaultComponents=No [RegionalSettings] Language=00000407 LanguageGroup=2 [SetupParams] UserExecute="WScript.exe %systemroot%\konten.js" [GuiRunOnce] "%windir%\RunOnceEx.js" [NetProtocols] MS_TCPIP=params.MS_TCPIP [NetAdapters] Adapter1=params.Adapter1 [params.Adapter1] InfID="*" [params.MS_TCPIP] AdapterSections=params.MS_TCPIP.Adapter1 [params.MS_TCPIP.Adapter1] SpecificTo=Adapter1 DHCP=YES WINS=no NetBIOSOptions=0 und die RunOnceEx.js: //001 var soft = new Array(); var key = "HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx\\"; var WshShell = new ActiveXObject("WScript.Shell"); var fso = new ActiveXObject( "Scripting.FileSystemObject" ); var n = 0; soft.title = "Installiere Software"; soft.insertNextMedium = "Bitte nächste Disk mit {soft} einlegen!"; soft.rebootMessage = "PC aufräumen und neustarten"; soft.startReboot = "shutdown.exe -r -f -t 60 -c \"{message}\""; soft[n] = new Array(); soft[n].name = "ChipSet"; soft[n].checkPoint = "Software\\ChipSet\\SP27532.exe"; n++; soft[n] = new Array(); soft[n].name = "VGA"; soft[n].checkPoint = "Software\\VGA\\SP31099.exe"; n++; soft[n] = new Array(); soft[n].name = "Audio"; soft[n].checkPoint = "Software\\Audio\\SP27103.exe"; n++; soft[n] = new Array(); soft[n].name = "LAN"; soft[n].checkPoint = "Software\\LAN\\PRO2KXP.exe"; n++; soft[n] = new Array(); soft[n].name = "Adobe Acrobat Reader"; soft[n].checkPoint = "Software\\Adobe Acrobat Reader\\AdbeRdr70_deu_full.exe"; n++; soft[n] = new Array(); soft[n].name = "USB"; soft[n].checkPoint = "Software\\USB\\SP24210.exe"; n++; soft[n] = new Array(); soft[n].name = "PC Namensgebung"; soft[n].checkPoint = "Software\\PC Namensgebung\\PCNAME.bat"; n++; soft.startReboot = soft.startReboot.replace("{message}", soft.rebootMessage); //soft.insertNextMedium = soft.insertNextMedium.replace( "{soft}", soft[a].name ); function FindDriveLetter( dir ) { var e = new Enumerator( fso.Drives ); var x; var letters = new Array(); var path; for( ; !e.atEnd(); e.moveNext() ) { x = e.item(); if( x.DriveType == 3 || x.IsReady ) { letters = letters.concat( x.DriveLetter ); } } if( dir.length == 0) { return letters[i] + ":"; } for( i = 0; i < letters.length; i++ ) { path = letters[i] + ":\\" + dir; if( fso.FolderExists( path ) || fso.FileExists( path ) ) { return letters[i] + ":"; } } return ""; } function GetFilledString( zahl, fillChar, num_of_digits ) { var filledStr = zahl.toString(); while( filledStr.length < num_of_digits ) { filledStr = fillChar + filledStr; } return filledStr; } function reboot( os ) { var BtnCode = WshShell.Popup(soft.rebootMessage, 60, "", 1 + 64); if( BtnCode == 1 || BtnCode == -1 ) { if( os == "w2k" ) { // 1te mal WshShell.Sendkeys( "^{ESC}" ); WScript.Sleep( 200 ); WshShell.Sendkeys( "{UP}" ); WScript.Sleep( 100 ); WshShell.Sendkeys( "{ENTER}" ); WScript.Sleep( 200 ); WshShell.Sendkeys( "{DOWN}" ); WScript.Sleep( 100 ); WshShell.Sendkeys( "{DOWN}" ); WScript.Sleep( 100 ); WshShell.Sendkeys( "{ENTER}" ); // 2te mal WScript.Sleep( 10000 ); WshShell.Sendkeys( "^{ESC}" ); WScript.Sleep( 200 ); WshShell.Sendkeys( "{UP}" ); WScript.Sleep( 100 ); WshShell.Sendkeys( "{ENTER}" ); WScript.Sleep( 200 ); WshShell.Sendkeys( "{DOWN}" ); WScript.Sleep( 100 ); WshShell.Sendkeys( "{DOWN}" ); WScript.Sleep( 100 ); WshShell.Sendkeys( "{ENTER}" ); } } } function RunOnceEx(index) { WshShell.RegWrite( key + "TITLE", soft.title, "REG_SZ" ); var guirunonce0 = "HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnce\\guirunonce0"; for( a = index; a < soft.length; a++ ) { if( soft[a].name == "-= REBOOT =-" ) { WshShell.RegWrite( key + GetFilledString(a, "0", 3) + "\\", soft.rebootMessage, "REG_SZ" ); WshShell.RegWrite( key + "TITLE", soft.title + " " + (index+1).toString() + " - " + (a+1).toString() + " / " + soft.length.toString(), "REG_SZ" ); WshShell.RegWrite( guirunonce0, "wscript %systemroot%\\runonceex.js /runAt:" + ( a + 1 ).toString(), "REG_EXPAND_SZ" ); WshShell.Run( "rundll32.exe iernonce.dll,RunOnceExProcess", 1, true ); WshShell.Run( soft.startReboot ); return ++a; } else { soft[a].drive = FindDriveLetter( soft[a].checkPoint ); if( soft[a].drive.length == 0 ) { WshShell.RegWrite( key + "TITLE", soft.title + " " + (index+1).toString() + " - " + a.toString() + " / " + soft.length.toString(), "REG_SZ" ); WshShell.Run("rundll32.exe iernonce.dll,RunOnceExProcess", 1, true); soft[a].drive = FindDriveLetter( soft[a].checkPoint ); } if( soft[a].drive.length == 0 ) { WshShell.Popup( soft.insertNextMedium.replace( "{soft}", soft[a].name ), 60, "", 64 ); soft[a].drive = FindDriveLetter( soft[a].checkPoint ); } if( soft[a].drive.length == 0 ) { WshShell.Popup( soft.insertNextMedium.replace( "{soft}", soft[a].name ), 60, "", 64 ); soft[a].drive = FindDriveLetter( soft[a].checkPoint ); } if( soft[a].drive.length == 0 ) { WScript.Echo( soft.insertNextMedium.replace( "{soft}", soft[a].name ) ); soft[a].drive = FindDriveLetter( soft[a].checkPoint ); index = a+1; } if(soft[a].drive.length) { WshShell.RegWrite( key + GetFilledString(a, "0", 3) + "\\", soft[a].name, "REG_SZ" ); for(b = 0; b < soft[a].length; b++) { soft[a][b] = soft[a][b].replace( "%CDROM%", soft[a].drive ); WshShell.RegWrite( key + GetFilledString( a, "0", 3 ) + "\\" + GetFilledString( b, "0", 2 ), soft[a][b], "REG_SZ" ); } } } } if( index > 0 && index < soft.length ) { WshShell.RegWrite( key + "TITLE", soft.title + " " + ( index + 1 ).toString() + " - " + soft.length.toString() + " / " + soft.length.toString(), "REG_SZ" ); } if( index < soft.length ) { WshShell.Run( "rundll32.exe iernonce.dll,RunOnceExProcess", 1, true ); } return soft.length; } function main() { var namedArgs = WScript.Arguments.Named; var startAt = 0; var WshSysEnv = WshShell.Environment( "SYSTEM" ); var driversDir = WshSysEnv( "systemdrive" ); driversDir += "\\Drivers"; if( namedArgs.Exists( "r" ) ) { reboot( namedArgs.Item( "r" ) ); } else { if( namedArgs.Exists( "runAt" ) ) { startAt = parseInt( namedArgs.Item( "runAt" ) ); } if( RunOnceEx( startAt ) == soft.length ) { if( fso.FolderExists( driversDir ) ) { fso.DeleteFolder( driversDir, true ); } } } } main(); für die Namensvergabe der PC´s habe ich noch folg. Batch geschrieben und ebenfalls bei den Programmen mit eingebunden, welches zu guter letzt auch nicht funktioniert, weil es nicht abgearbeitet wird: PCName.bat: cmdow @/HID @echo off set name=computer_%random:~1,2% REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %Name% /f REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d %Name% /f REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t REG_SZ /d %Name% /f REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d %Name% /f Hilfe - Vitali - 2005-11-23 Wilkommen im Forum! Du hast zwar Software integriert aber nicht festgelegt WIE sie installiert werden sollen ! Wenn du unter "Software" irgend eine, von dir integrierte, Programm anklickst, kannst du in unterem Fenster sehen wie Programm installiert werden soll. Wenn aber unteres Fenster leer ist wird das Programm garnicht installiert !!! In diesem Fall muss du es korregieren. Klicke auf "Suchen". Es wird Dialog "Datei öffnen" angezeigt wo du dein Programm noch mal auswählen sollst. Danach unten rechts auf "Hinzufügen" klicken! Aber am besten sehe dir diese Video-Tutorial an: http://www.vitaligraf.de/video/tutorial.divx521.avi ca. 18 MB DivX 5.2.1 Sonst kannst du noch die mitgelieferte Hilfe anschauen. Sie ist zwar veraltet, aber reiht noch um ein Überblick zu verschaffen! Wenn du silent Schalter für deine Programme suchst: http://www.windows-unattended.de/component/option,com_appbase/Itemid,160 http://www.windows-unattended.de/forum/Anwendungen-Schalter-AutoIT-Scripte-usw-f17.html - borsti - 2005-11-24 Hi Vitali Vielen Dank erstmal für Deine schnelle Antwort ! Das scheint ja jetzt schonmal zu funktionieren. Ein weiteres Problem, was ich habe ist, dass die von mir angepasste winnt.sif immerwieder durch den Creator überschrieben wird und so bisher eine unattended nicht wirklich möglich war - insbesondere der Schalter "Repartition=" wird immer wieder auf "No" gesetzt, wodurch ich ja zur Eingabe der Partition gezwungen werde, was ja nicht Sinn der Sache ist. In meinem Fall der Partitionierung ist es recht einfach, da alle Rechner nur über eine 20 GB HDD verfügen und auch nicht partitioniert werden sollen. Als ich nun versuchte die durch das Prog erstellte winnt.sif durch meine angepasste zu patchen wurde mir zwar eine Fehlermeldung gezeigt, die besagte, dass es nicht möglich ist eine gleichnamige Datei zu patchen, er zeigt es mir im unteren Fenster aber als gepatcht an - mal sehen, was der nächste Versuch gleich zeigt EDIT: So - scheint nun zu gehen - ich hab das Image nun mit Iso-Buster erstellt und nicht mit dem Creator und nun behält er auch meine winnt.sif Vorher habe ich noch versucht, die winnt.sif aus dem i386Verzeichnis umzubenennen, um es gepatcht zu bekommen, aber auch das war erfolglos. - Fernando - 2005-11-26 Warum ergänzt Du nicht einfach die WINNT.SIF, die sich im Programm-Verzeichnis des CD Creator befindet, im Abschnitt [Unattended] um die Zeile "Repartition=Yes"? Danach ergänzt zwar der CDCreator den Inhalt der WINNT.SIF während der Bearbeitung, aber meines Erachtens überschreibt er diese Zeile nicht. |