bn2hunt Posted April 24, 2006 Share Posted April 24, 2006 (edited) So far the only way I can figure out to create the c:\i386 folder is to place it in the $OEM$\$1 folder. Is there a more disk space efficient method, such as creating it from the \remoteinstall\setup\english\images\imagename\i386 folder. The method that we have come up with seems terribly inefficient.Thanks for the HelpBn2Hunt Edited April 24, 2006 by bn2hunt Link to comment Share on other sites More sharing options...
InTheWayBoy Posted April 24, 2006 Share Posted April 24, 2006 I found this to be the easiest way to handle that issue:http://www.uawiki.org/doku.php?id=wxp:ua:i386Basically you just script a copy command to run from cmdlines.txt Link to comment Share on other sites More sharing options...
Fencer128 Posted April 24, 2006 Share Posted April 24, 2006 Hi,I'm not sure what you mean exactly? Could you please elaborate? The i386 folder is "created" automatically when you execute a RIPREP or RISETUP solution on a RIS server.Cheers,Andy Link to comment Share on other sites More sharing options...
bn2hunt Posted April 24, 2006 Author Share Posted April 24, 2006 Yes, the I386 folder is created on the RIS Server but we need it copied to the new pc's as they are installed.Unless I am doing something wrong, very possible, the folder is not created on the new pc's, so when we add a component it asks for the c:\i386 folder, which unless we add it to the $oem$\$1 folder it doesn't get created. bn2hunt Link to comment Share on other sites More sharing options...
RogueSpear Posted April 24, 2006 Share Posted April 24, 2006 Whenever one of my RISed workstations has needed access to the source, that's just where it looks - the RIS server. This should be an automatic thing for your clients. Link to comment Share on other sites More sharing options...
cluberti Posted April 25, 2006 Share Posted April 25, 2006 Only a problem for me on "road warrior" laptops that are bound to be without access to RIS but needing the i386 directory. I actually keep a "full' copy (because RiSetup does remove some necessary files, ultimately) in my ris folder and copy the whole i386 to C:\ if I detect a laptop during build. Desktops, obviously, don't get this treatment because there's usually no need. Link to comment Share on other sites More sharing options...
RogueSpear Posted April 25, 2006 Share Posted April 25, 2006 Hmmm.. I never thought about that one. I think that I may implement that idea in my script pack using the same logic to detect chassis type for VPN client installs. That's a real good point that I'm surprised I didn't think about before. I'm VPNed in to my network quite a bit and my laptop reached out to the RIS server for some files once. Talk about slow going. Link to comment Share on other sites More sharing options...
cluberti Posted April 25, 2006 Share Posted April 25, 2006 I'm sure you've got a way to do this, but I love writing this value to the registry since the possibility of the machine that the OS is on changing is very slim and it doesn't make sense to keep determining ths in subsequent scripts - a simple registry read suffices later.Const HKEY_LOCAL_MACHINE = &H80000002strComputer = "."Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _strComputer & "\root\default:StdRegProv")strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Setup"objReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPathSet objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colChassis = objWMIService.ExecQuery _ ("Select * from Win32_SystemEnclosure")For Each objChassis in colChassis For Each strChassisType in objChassis.ChassisTypes Select Case strChassisType Case 1 strEntryName = "MACHINETYPE" strValue = "Other" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 2 strEntryName = "MACHINETYPE" strValue = "Unknown" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 3 strEntryName = "MACHINETYPE" strValue = "Desktop" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 4 strEntryName = "MACHINETYPE" strValue = "Low_Profile_Desktop" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 5 strEntryName = "MACHINETYPE" strValue = "Pizza_Box" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 6 strEntryName = "MACHINETYPE" strValue = "Mini_Tower" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 7 strEntryName = "MACHINETYPE" strValue = "Tower" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 8 strEntryName = "MACHINETYPE" strValue = "Portable" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 9 strEntryName = "MACHINETYPE" strValue = "Laptop" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 10 strEntryName = "MACHINETYPE" strValue = "Notebook" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 11 strEntryName = "MACHINETYPE" strValue = "Handheld" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 12 strEntryName = "MACHINETYPE" strValue = "Docking_Station" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 13 strEntryName = "MACHINETYPE" strValue = "All-in-One" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 14 strEntryName = "MACHINETYPE" strValue = "Sub-Notebook" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 15 strEntryName = "MACHINETYPE" strValue = "Space_Saving" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 16 strEntryName = "MACHINETYPE" strValue = "Lunch_Box" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 17 strEntryName = "MACHINETYPE" strValue = "Main_System_Chassis" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 18 strEntryName = "MACHINETYPE" strValue = "Expansion_Chassis" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 19 strEntryName = "MACHINETYPE" strValue = "Sub-Chassis" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 20 strEntryName = "MACHINETYPE" strValue = "Bus_Expansion_Chassis" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 21 strEntryName = "MACHINETYPE" strValue = "Peripheral_Chassis" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 22 strEntryName = "MACHINETYPE" strValue = "Storage_Chassis" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 23 strEntryName = "MACHINETYPE" strValue = "Rack_Mount_Chassis" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 24 strEntryName = "MACHINETYPE" strValue = "Sealed-Case_PC" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case Else strEntryName = "MACHINETYPE" strValue = "Unknown" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue End Select NextNext Link to comment Share on other sites More sharing options...
bn2hunt Posted April 26, 2006 Author Share Posted April 26, 2006 (edited) We copy the I386 folder to all pc's and laptops since we have alot of remote offices across the country that we are responsible for. And we don't want the pc's phoning home everytime we add a component. This is how I have been trying it so far. The RunOnceEx.cmd runs but either I have the source.cmd coded incorrectly or it never executes, I'm not sure which.Does anyone else copy the files this way?CMDLINES.TXT[Commands]"rundll32 setupapi,InstallHinfSection DefaultInstall 128 .\OEM.INF""cmd /c start /min cmd /c .\OEMLink.bat""cmd /c start /min cmd /c .\USBS3KB.BAT""RunOnceEx.cmd""source.cmd""REGEDIT /S regtweaks.reg""rundll32 advpack.dll,LaunchINFSection nLite.inf,nLiteReg""admin.cmd"; Customized by nLite - www.nliteos.comSOURCE.CMDcmdow @ /HID@echo offset cdrom = "\\SERVERNAME\REMINST\Setup\English\Images\DellGX620"c:\windows\system32\xcopy /E /H "%cdrom%\i386" "%systemroot%\i386\" Edited April 26, 2006 by bn2hunt Link to comment Share on other sites More sharing options...
cluberti Posted April 28, 2006 Share Posted April 28, 2006 I personally just make a hardware determination, and copy based on desktop/laptop, and it runs in a vbscript in my RunOnceEx like so:' // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' // Set variables for script' // Set objShell = CreateObject("WSCript.shell") Const HKEY_LOCAL_MACHINE = &H80000002 strComputer = "." Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ strComputer & "\root\default:StdRegProv") strKeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Setup" objReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colChassis = objWMIService.ExecQuery _ ("Select * from Win32_SystemEnclosure")' // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' // Determine machine hardware and copy i386 for laptops' // For Each objChassis in colChassis For Each strChassisType in objChassis.ChassisTypes Select Case strChassisType Case 1 strEntryName = "MACHINETYPE" strValue = "Other" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue objShell.Run "robocopy \\RISserver\REMINST\full_source_xpsp2 %systemdrive%\i386 /E" Case 2 strEntryName = "MACHINETYPE" strValue = "Unknown" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue objShell.Run "robocopy \\RISserver\REMINST\full_source_xpsp2 %systemdrive%\i386 /E" Case 3 strEntryName = "MACHINETYPE" strValue = "Desktop" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 4 strEntryName = "MACHINETYPE" strValue = "Low_Profile_Desktop" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 5 strEntryName = "MACHINETYPE" strValue = "Pizza_Box" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 6 strEntryName = "MACHINETYPE" strValue = "Mini_Tower" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 7 strEntryName = "MACHINETYPE" strValue = "Tower" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 8 strEntryName = "MACHINETYPE" strValue = "Portable" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue objShell.Run "robocopy \\RISserver\REMINST\full_source_xpsp2 %systemdrive%\i386 /E" Case 9 strEntryName = "MACHINETYPE" strValue = "Laptop" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue objShell.Run "robocopy \\RISserver\REMINST\full_source_xpsp2 %systemdrive%\i386 /E" Case 10 strEntryName = "MACHINETYPE" strValue = "Notebook" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue objShell.Run "robocopy \\RISserver\REMINST\full_source_xpsp2 %systemdrive%\i386 /E" Case 11 strEntryName = "MACHINETYPE" strValue = "Handheld" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 12 strEntryName = "MACHINETYPE" strValue = "Docking_Station" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue objShell.Run "robocopy \\RISserver\REMINST\full_source_xpsp2 %systemdrive%\i386 /E" Case 13 strEntryName = "MACHINETYPE" strValue = "All-in-One" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue objShell.Run "robocopy \\RISserver\REMINST\full_source_xpsp2 %systemdrive%\i386 /E" Case 14 strEntryName = "MACHINETYPE" strValue = "Sub-Notebook" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue objShell.Run "robocopy \\RISserver\REMINST\full_source_xpsp2 %systemdrive%\i386 /E" Case 15 strEntryName = "MACHINETYPE" strValue = "Space_Saving" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 16 strEntryName = "MACHINETYPE" strValue = "Lunch_Box" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 17 strEntryName = "MACHINETYPE" strValue = "Main_System_Chassis" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 18 strEntryName = "MACHINETYPE" strValue = "Expansion_Chassis" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 19 strEntryName = "MACHINETYPE" strValue = "Sub-Chassis" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 20 strEntryName = "MACHINETYPE" strValue = "Bus_Expansion_Chassis" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 21 strEntryName = "MACHINETYPE" strValue = "Peripheral_Chassis" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 22 strEntryName = "MACHINETYPE" strValue = "Storage_Chassis" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 23 strEntryName = "MACHINETYPE" strValue = "Rack_Mount_Chassis" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case 24 strEntryName = "MACHINETYPE" strValue = "Sealed-Case_PC" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue Case Else strEntryName = "MACHINETYPE" strValue = "Unknown" objReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strEntryName,strValue objShell.Run "robocopy \\RISserver\REMINST\full_source_xpsp2 %systemdrive%\i386 /E" End Select Next Next Link to comment Share on other sites More sharing options...
RogueSpear Posted April 28, 2006 Share Posted April 28, 2006 That's exactly how I implement installing VPN software. I've started to implement this into my script pack. Hopefully will have a new version out before too long. Link to comment Share on other sites More sharing options...
cluberti Posted April 28, 2006 Share Posted April 28, 2006 Cool.I do more based on the hardware type, but I figured a good primer on how to do things based on type would help someone. My clients I support actually install almost all differing software configurations based on type, so this script is actually getting to be really involved . Link to comment Share on other sites More sharing options...
RogueSpear Posted April 28, 2006 Share Posted April 28, 2006 Interesting.. I've also started to do things along those lines. Like reg tweaks based on reported clock speed or special button drivers on laptops based on the presence of hwids. My favorite though is that script sample you found for setting the speed and duplex on a nic. That's really saved me a lot of time and grief. Link to comment Share on other sites More sharing options...
cluberti Posted April 28, 2006 Share Posted April 28, 2006 (edited) Yeah, ripped my hair out on that one before I found the script sample I love your adaptation of that too in your script pack. I've modified it and use it in my RIS installs on all machines, and it works great. Edited April 28, 2006 by cluberti Link to comment Share on other sites More sharing options...
hhiggins Posted September 29, 2006 Share Posted September 29, 2006 Howdy,Just thought I'd share what I am doing for this situation. It's nothing fancy, but it's simple and works well..RunOnceEx.cmdREG ADD %KEY%\035 /VE /D "Creating Local Installation Source" /fREG ADD %KEY%\035 /V 1 /D "%systemdrive%\Install\i386.cmd" /fi386.cmdcmdow @ /HIDnet use z: \\ris\REMINST\Setup\English\Images\WindowsXP_Pro_SP2\i386 /USER:DOMAIN\USER passwordxcopy "z:\*.*" "C:\Install\i386\*.*" /s /ynet use z: /deleteexit 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