Jump to content

zorphnog

Member
  • Posts

    427
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    United States

Everything posted by zorphnog

  1. You can set network options using an unattended.xml file with wpeinit. I know you can disable NetBIOS, but I'm not sure about File and Print Sharing. I can do both with the XP unattended answer file, but I'm not sure if the F&PS will transfer to the new unattended answer file. Here is the xml for disabling NetBIOS: <Interfaces> <Interface wcm:action="add"> <NetbiosOptions>2</NetbiosOptions> <Identifier>Local Area Connection</Identifier> </Interface> </Interfaces> Check out the Unattended Windows Setup Reference that comes with the WAIK.
  2. Start \WPI\Common\Installer.hta after a reboot instead of wizard.hta.
  3. Loading multiple config files at one time is not supported. You can only have one config file loaded at a time. Why exactly do you need to load multiple config files at once? You know you can group installs into categories under one config.
  4. Well I haven't tried this, but I guess its possible. You would have to change the bootsector and make sure the boot files were laid out properly. Of course the easier way would be to deploy via pxe network boot.
  5. Ok. I think I may have a solution, but I simply don't have the time to test it out. So I'm going to need help from those of you who are experiencing the "Could not open rb_config.js" error. Here is a modified reboot.js file I'd like you to test out. reboot.js
  6. So I'm guessing you mean the 7 - 10 command lines aren't working. Read this and this.
  7. Sounds like you have a previous version of PE. You can use the exit command or shutdown -r -t 0.
  8. I've found the simplest, for me at least, is to use an HTA/VBScript.
  9. There is a bug in the SaveConfig() function of configwizard.js. Change line 1982-1985: WriteConfigValue(tf, "cmd7", configList[i].cmd3); WriteConfigValue(tf, "cmd8", configList[i].cmd4); WriteConfigValue(tf, "cmd9", configList[i].cmd5); WriteConfigValue(tf, "cmd10", configList[i].cmd6); to... WriteConfigValue(tf, "cmd7", configList[i].cmd7); WriteConfigValue(tf, "cmd8", configList[i].cmd8); WriteConfigValue(tf, "cmd9", configList[i].cmd9); WriteConfigValue(tf, "cmd10", configList[i].cmd10);
  10. I haven't tried it yet, I'll look into it more on Monday.
  11. Umm...a screenshot of the image I use? There isn't really anything to show. After the "Windows is loading files..." screen is finished, the image you choose displays until the desktop is loaded. I'll look into posting a video once I get back to the office.
  12. The start command didn't work for me unless I entered it the way I posted it, with the cmd /c in it.
  13. Ok. I've got it to work by replacing the green bars with a picture (no animation). 1. Download and install Vista Boot Logo Generator. 2. Run the generator and add a 800x600 24-bit BMP and 1024x768 24-bit BMP. 3. Save the file as winload.exe.mui. 4. Copy and replace the winload.exe.mui file in the \Windows\System32\Boot\en-US directory of your boot image with the new one. xcopy /y c:\peimage\winload.exe.mui c:\peimage\mount\Windows\System32\Boot\en-US 5. Capture or unmount your image to ISO\sources\boot.wim 6. Disable the gui option of your bcd entry for WinPE. bcdedit /store c:\peimage\ISO\boot\bcd /set {default} quietboot yes Now the green bars will be replaced with your picture! I must give credit where credit is due, I modified the instructions from this website to work for PE: http://www.howtogeek.com/howto/windows-vis...-windows-vista/
  14. I remember reading about this somewhere. Its just a resource file that you have to hack. I'll see if I can track it down again.
  15. Well, I've used syslinux before, but not for this particular situation. Let me see if I can figure out some steps for you to follow.
  16. I would set USB to be the first device in the boot order followed by HDD. Put the SYSLINUX boot loader on the USB. Using the built-in menu for SYSLINUX you can make two boot options: USB or HDD. Set a default boot option, perhaps HDD, and a timeout for the menu, say 10-15 seconds. Now, if your USB drive is plugged in, the SYSLINUX menu will boot and wait for user input until the timeout expires. If there is not user input, the system boots to HDD. If the user specifies to boot the USB drive then it is booted. If the USB drive is not plugged in at all, then the BIOS boots to HDD.
  17. I use pxelinux, part of the syslinux suite, to offer different boot options from pxe boot (mainly two choices: WinPE 2.0 and WinPE 2005). You could use syslinux to create a bootable floppy on your USB stick with a menu of choices. Check out http://syslinux.zytor.com/faq.php.
  18. Are you running WPI before the desktop is loaded? If so, Explorer.exe will not function correctly. Try using this as your command instead: cmd /c start C:\WINDOWS\System32\dllcache
  19. I haven't tried, but I would think a rescan command from the diskpart prompt should do the trick. Either way, diskpart.exe is the tool you should be using. Its built into PE and supports scripting so check it out.
  20. Use VBScript. Make sure you add the scripting package to your PE image (peimg /install=*script* /image=C:\MyPE\mount\Windows).
  21. Can you locate the ohotfix and msi log files (http://support.microsoft.com/kb/884290/) of the offending hotfix and post them? I'm starting to think that the hotfixes might be restarting the WMI service. Its the only thing I can think of that would be causing all of these issues.
  22. Good to hear the new code is working.
  23. @Kel update the download link in your sig.
  24. Yeah the reboot functionality of ghost does not work within the PE environment, at least not 8.2 (which I use most often). However, it does work with 11.0. Anyway, what I do is launch ghost with the "-fx" switch which exits ghost after cloning has finished, and reboot via the "wpeutil reboot" command once ghost has completed. I've written my own HTA for restoring ghost images from disk, but the meat of the code still applies. Just ignore all of the html stuff: '***************************************************************************************** '* restoreBuild '* starts the ghost restoration process for the selected build and method '***************************************************************************************** Sub restoreBuild Dim filename, taskCmd strTemp = "<h2>Restoring build...</h2>" general.InnerHTML = strTemp filename = cdrom & "\" & buildFilename If not objFso.FileExists(filename) Then strTemp = "<h2>ERROR: File not found " & filename & "</h2><ul>Ensure that <u><b>DISK 1</b></u> is loaded in the CD-ROM drive and click the " &_ "<i>Retry</i> button." document.buttonsForm.nextButton.value = "<u>R</u>etry" document.buttonsForm.nextButton.disabled = false document.buttonsForm.cancelButton.disabled = false general.InnerHTML = strTemp Else taskCmd = "%comspec% /c ghostontop.exe" objShell.Run taskCmd,0,false Select Case curMethod Case "Initial" taskCmd = "%comspec% /c ghost32.exe -sure -fdsp -clone,mode=load,src=" & filename & ",dst=" & destinationDisk & ",szeL -fx > \ghost.log" objShell.Run taskCmd,0,true finishBuild Case "Windows" taskCmd = "%comspec% /c ghost32.exe -sure -fdsp -clone,mode=prestore,src=" & filename & ":1,dst=" & destinationDisk & ":1,sze1=V -fx > \ghost.log" objShell.Run taskCmd,0,true finishBuild End Select End If End Sub '***************************************************************************************** '* finishBuild '* handles errors that occur during ghost and handles successful restorations '***************************************************************************************** Sub finishBuild Dim result, logFile, count Set logFile = objFso.GetFile("\ghost.log") If logFile.Size <> "0" Then Set logFile = objFso.OpenTextFile("\ghost.log") count = 1 Do While logFile.AtEndOfStream <> true result = result & count & "> " Do While logFile.AtEndOfLine <> true or logFile.AtEndOfStream <> true result = result & logFile.Read(1) Loop result = result & "<BR>" general.InnerHTML = result count = count + 1 Loop logFile.Close strTemp = "<CENTER><H1>FAILED</H1><DIV style='color:red;text-align:left'>An attempt to restore the system failed with the " &_ "following error message:<BR><BR><DIV style='position:absolute;border-style:solid;border-color:black;left:5%;" &_ "width:95%;color:black;padding:5%;border-width:1;font-family:terminal;font-size:10pt;overflow:auto'>" & result &_ "</DIV></DIV></CENTER>" warning.InnerHTML = strTemp warning.style.top = "10%" warning.style.left = "10%" warning.style.width = "80%" warning.style.height = "75%" document.buttonsForm.cancelButton.value = "E<u>x</u>it" document.buttonsForm.cancelButton.accesskey = "x" document.buttonsForm.cancelButton.disabled = false warning.style.visibility = "visible" Else strTemp = "<h2>Complete!</h2><ul><font color=orange>" & result & "</font>The restoration process has finished without any " &_ "errors." document.buttonsForm.cancelButton.value = "E<u>x</u>it" document.buttonsForm.cancelButton.accesskey = "x" document.buttonsForm.cancelButton.disabled = false general.InnerHTML = strTemp warning.style.visibility = "visible" If needHAL = "yes" Then handleHAL Else rebootMe End If End If End Sub '***************************************************************************************** '* handleHAL '* prepares the system for use with the correct HAL '***************************************************************************************** Sub handleHAL Dim strDest, inFile, outFile, line, words, lword strTemp = "<CENTER><H1>Updating HAL...</H1></CENTER>" warning.InnerHTML = strTemp objShell.Run "%comspec% /c diskpart /s X:\Windows\system32\probeParts.txt",0,true Select Case strHAL Case "acpiapic" 'Remove UpdateUPHal line from sysprep.inf strDest = "C:\sysprep\sysprep.inf" If objFso.FileExists(strDest) Then Set inFile = objFso.OpenTextFile(strDest,1,true) Set outFile = objFso.CreateTextFile(strDest & ".tmp",true) 'Loop through sysprep.inf file Do While inFile.AtEndOfStream <> true line = inFile.ReadLine If line <> "" Then words = split(line,"=") lword = trim(words(0)) outFile.WriteLine(line) If Lcase(lword) = "[unattended]" Then If numProcs = 1 Then outFile.WriteLine("UpdateUPHAL=ACPIAPIC_UP,%WINDIR%\Inf\Hal.inf") Else outFile.WriteLine("UpdateHAL=ACPIAPIC_MP,%WINDIR%\Inf\Hal.inf") End If End If Else outFile.WriteBlankLines(1) End If Loop inFile.Close outFile.Close objFso.DeleteFile strDest,true objFso.MoveFile strDest & ".tmp", strDest Else strTemp = "<CENTER><H1>FAILED</H1><DIV style='color:red;text-align:left'>An attempt to update your system HAL has " &_ "failed due to an inaccessible system drive.</DIV></CENTER>" warning.InnerHTML = strTemp warning.style.top = "10%" warning.style.left = "10%" warning.style.width = "80%" warning.style.height = "75%" document.buttonsForm.cancelButton.value = "E<u>x</u>it" document.buttonsForm.cancelButton.accesskey = "x" document.buttonsForm.cancelButton.disabled = false End If rebootMe Case Else rebootMe End Select End Sub '***************************************************************************************** '* rebootMe '* opens the CD tray, delays 8 seconds and reboots '***************************************************************************************** Sub rebootMe 'Open CD tray strTemp = "<center><h1>Ejecting Media...</h1></center>" warning.InnerHTML = strTemp cdrom = cdrom & "\" CreateObject("Shell.Application").Namespace(17).ParseName(cdrom).InvokeVerb("Eject") 'Give delay to allow disk to eject objShell.Run "%comspec% /c cscript X:\Windows\system32\timer.vbs",0,true 'Reboot the system strTemp = "<center><h1>Rebooting System...</h1></center>" warning.InnerHTML = strTemp objShell.Run "%comspec% /c wpeutil reboot",0,false End Sub
  25. Well, as Kel mentioned, reboot seems to be having a lot of issues these days. Your particular problem is because of one of your program descriptions. The quotations in this line are causing some issues: prog[pn]=['Disable \'Shortcut to\' in front of shortcuts']; If you change the ' to " or just remove them entirely, you shouldn't have the issue. A little explanation: When you make your final selections and start the installs, the reboot functionality creates a config file (\rb_config.js) with all the entries of the programs that have been selected to be installed. However, the code that saves the entries needs to be updated to account for special characters, such as the '. I actually wrote most of the reboot code and I haven't really looked at it much since, but there are definitely several issues that need to be addressed (this being one of them). @Kel The RebootEntry function (reboot.js) needs to be updated to parse entries so that they are saved correctly to the rb_config.js file. This may be the cause of many of the reboot issues we are running into currently. If you would like me to help out on any of the reboot functionality let me know.
×
×
  • Create New...