Jump to content

diamond

Member
  • Posts

    20
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    United States

Everything posted by diamond

  1. I've tried using both the old wpi.hta as well as the new wpi.exe file, both with the same results (which I suppose is a good thing from a programming standpoint. ), Going back to the 'old ways', I've re-hacked the installer.js file and it does seem to remap it; however, in doing so it also wants to load the desktop before starting, causing other problems with the build. Due to the nature of my setup, the RIS part should only matter on the reboot, as I'm not doing an image load in RIS/WDS, but instead doing a unattended install of windows with driverpacks [which allows for portability between machines as it's not a static image for a single machine]. The only change from the planned and intended use of WPI in this case are two things: 1. The program is called from a drive mapping (or UNC mapping if you did it that way) instead of being on the media itself. Here's my runonceex.cmd that's been in use for so long @echo off SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx SET PP= REG ADD %KEY% /V TITLE /D "Installation" /f REG ADD %KEY%\000 /VE /D "Driver Detection Install and Cleanup" /f REG ADD %KEY%\000 /V 1 /D "%SystemDrive%\DPsFnshr.exe " /f REG ADD %KEY%\002 /VE /D "Post Installer" /f REG ADD %KEY%\002 /v 1 /D "%SystemDrive%\map.cmd" /f REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /V "Disable Script Debugger" /T "REG_SZ" /D "no" /F REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /V "DisableScriptDebuggerIE" /T "REG_SZ" /D "no" /F REG ADD %KEY%\002 /V 2 /D "G:\installs\netinstall\wpi\wpi.exe " /f As you can see, you get a 'standard' driverpacks finisher, then it runs map.cmd, which is just what you think it is - it maps the drive letter. From there we do the office fix and then launch wpi.exe from the network share. This part (without the remap hack) works great, though it has suddenly started going ahead and loading the desktop without waiting for WPI to finish, causing WPI to be in a smaller window than full screen, regardless of the fact I have 'Load Desktop before WPI starts' unchecked. After it goes through some of the installs, I have an option that runs a simple batch to install some 'standard' things, like .NET and IE8. It goes through the .NET files, a few hotfixes then copies a reconnect.cmd file to the C:\ of the local machine. That batch ends and I issue a {REBOOT} command, then the next command is for "C:\reconnect.cmd", which should execute locally to reconnect the drives. A good point this brings up is whether WPI wants to run any of it's files from %WPIPATH% prior to launching the next command after a reboot, as that would help explain why without modification I get a blank-screen installer windows after reboot, as it is trying to launch a network copy before it is connected to the network. You'll have to forgive me as I've never really taken the time to really study your code to see the order of operations, as the program has always done a great job of working and I can't say it's ever really been a needed thing. Finally, I know from other posts that you are trying to get more penetration into larger business market segments, and I'd like to say that I've been successfully using WPI here for several years and it's done a great job for us with a little elbow grease to get it working right originally under our RIS/WDS environment. Thanks again you two for making such a darn useful program! Diamond
  2. Hello everyone, I've been running WPI for several years now, and with the recent upgrade to 7.70 have developed a problem with my existing config (where no problem previously existed). Basically, it's called from a mapped drive letter that is mapped right after RIS setup. Everything runs fine until I have a command that requires a reboot. after the reboot, the installer.hta comes up to a white screen, and looking at the command prompt I notice that the network drives are not mapped. The script that maps the drive letters prior to WPI initially running works great, and use the following syntax (to prevent the 'did you use persistent' questions. ) net use S: \\server\share "password" /u:domain\username /persistent:yes Obviously, it's not as persistent as it seems, but even trying to run a reconnection script following the reboot does not seem to do anything, even if the previous script copies the reconnect.cmd to the local disk first. Any ideas why this would all of a sudden be a problem where it wasn't before? Please note that http://www.msfn.org/board/reboot-then-map-...ll-t126048.html is something I posted similar quite a while back, after speaking with Ritter at that time I ended up taking out my code hacks and doing registry adds instead, in case someone stumbles across that old topic. Any help would be appreciated! Diamond
  3. Yes, that would be a much better idea, I was just in a hurry and didn't want to test whether WPI's reboot command would overwrite my value since it was hardcoded to be at 001; additionally, I'd assume that since it is looking for %REBOOT% then immediately writing the reg keys and doing the reboot, it would overwrite my RunOnce\001 with it's own. In this case, I'm *sure* there's a cleaner way to do it, but laziness won out due to lack of proper testing time.
  4. Good idea, but although it is persistant, in this case we're logging in from RIS to the local computer, so therefore the map script gives a user / password to use to login with... when you check it to be persistant, it will still prompt you for a username and password after trying to map it via the local COMPUTERNAME\Administrator and that password (which, of course isn't the same as the domains "Administrator" for obvious security reasons. I have found a temporary workaround; it isn't pretty per se, but it does manage to get the job done. Here's what I did: The last script that executes, which does the .NET and IE7 I split into two files, the first installs the .NET installers and copys a simple batch file called recon.cmd to the local C:\ The second part was the place where it's ugly.. I modified the code in WPI itself on the reboot section to add an entry before it starts WPI to run that file. Namely, in installer.js, I changed this: Starting on line 165: if (LoadDesktopBeforeInstall) { WriteRegKey("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce\\WPIresume",'mshta "'+wpipath+'\\Common\\Installer.hta"',"REG_SZ"); } else { WriteRegKey("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx\\001\\","","REG_SZ"); WriteRegKey("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx\\001\\1",'mshta "'+wpipath+'\\Common\\Installer.hta"',"REG_SZ"); } To This: if (LoadDesktopBeforeInstall) { WriteRegKey("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce\\MapDrives",'C:\\recon.cmd',"REG_SZ"); WriteRegKey("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce\\WPIresume",'mshta "'+wpipath+'\\Common\\Installer.hta"',"REG_SZ"); } else { WriteRegKey("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx\\001\\","","REG_SZ"); WriteRegKey("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx\\001\\1",'C:\\recon.cmd',"REG_SZ"); WriteRegKey("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx\\002\\","","REG_SZ"); WriteRegKey("HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx\\002\\2",'mshta "'+wpipath+'\\Common\\Installer.hta"',"REG_SZ"); } The recon.cmd file simple issues the net use commands, for instance mine is: @Echo off REM - Clear any old map, to ensure that it doesn't try to connect w/wrong credentials net use /d Z: REM - Now, map the drive net use Z: \\SERVER\INSTALLS "PASSWORDGOESHERE" /u:UsernameOfInstaller You do need to create a username (which I did long ago, with a *very* archaic password) that has the appropriate permissions to install your software, and of course change the server, share, password, and username to fit your needs. If Kel or anyone else knows of a cleaner way to do this I'd love to hear it, as I *hate* hacking into the code itself since inevitability you'll update a version and forget about the hack; plus, in many cases it can cause other odd behaviors that the dev's wouldn't have the foggiest clue about (since you created the problem!).
  5. Hello all, I've been using WPI for some time and have always had great luck; however, I'm banging my head on this problem. In order to install IE7 on my RIS based installation, I need to have the computer reboot and resume WPI. That's easy with the %REBOOT% command, and it's easy enough to modify my ris config to auto-login a second (or third, fourth, etc) time. The problem that I'm running into is that WPI loads before explorer and runs off a mapped drive (G: in this case), so after the reboot, I'm at a loss as to how I could map the drives before WPI attempts to load. Since this is a RIS install, and due to the way the images are made, I can't nlite or otherwise integrate IE7 and .Net's into the sources themselves, so I have to install them after windows. Problem is, that if I try to install it before the reboot, IE7 will go through it's paces and 'install' with no errors, but won't actually update the system and has to be reinstalled after the final reboot. Anyone know of a good way to map the drive prior to WPI running on the reboot? First run is no problem, as it's handled as a step in my setup routine, but once it installs most of everything and reboots to do IE7 and my cleanup file, all is lost. Any help would be appreciated. The only thing that I can think of would be to find out at what vector WPI is loading at and try to manually stub the registry to load a script or batch/cmd file before running WPI. (problem is I don't know where WPI is trying to load from) Thoughts? Diamond187
×
×
  • Create New...