steviewonder Posted April 8, 2006 Share Posted April 8, 2006 I have Flakite install run once after win xp unattended install.I was wondering what switches i could use to make it silent and ormore automated.This is my script//002var 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 = "Set Up Software";soft.insertNextMedium = "Please insert next disk with {soft}";soft.rebootMessage = "Clean & Reboot";soft.startReboot = "shutdown.exe -r -f -t 60 -c \"{message}\"";soft[n]= new Array();soft[n].name = "OSX Convert";soft[n].checkPoint = "Software\\OSX Convert";soft[n][0] = "\"%CDROM%\\Software\\OSX Convert\\FlyakiteOSX v3.5.exe\"";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 + ":"; } for( i = 0; i < letters.length; i++ ) { path = letters + ":\\" + dir; if( fso.FolderExists( path ) || fso.FileExists( path ) ) { return letters + ":"; } } 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.Run( "rundll32.exe iernonce.dll,RunOnceExProcess", 1, true ); WshShell.Run( soft.startReboot ); WshShell.RegWrite( guirunonce0, "wscript %systemroot%\\runonceex.js /runAt:" + ( a + 1 ).toString(), "REG_EXPAND_SZ" ); 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] = soft[a].replace( "%CDROM%", soft[a].drive ); WshShell.RegWrite( key + GetFilledString( a, "0", 3 ) + "\\" + GetFilledString( b, "0", 2 ), soft[a], "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(); Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now