soporific Posted September 7, 2007 Posted September 7, 2007 (edited) It seems to work as expected after i choose to continue ... am i correct that it is supposed to work in Win98se? I have used it extensively in WinXP so i am quite familiar with WPI (my first version was 5.0 i think).This is using a totally new version of 6.2 with no option or config files yet created, so they can't be the source of the problem. I get the same error when i do use previously created CONFIG.JS & useroptions.js files.Thanks for any help.EDIT: currently going thru all the older versions, already found that WPIv4.3.7b loads without the previously reported error.EDIT2: it starts to break at v5.4 ... i've tested the following:WPIv4.3.7b, WPI_v5.0, WPI_5.2, WPI_5.3 and these all load fine.WPI_5.4 and higher all report the above error.So it looks like Win98se users should use v5.3. Hope this helps. Edited September 7, 2007 by soporific
Kelsenellenelvian Posted September 7, 2007 Posted September 7, 2007 WE seem to have lost Win98 compatability somewhere.I will look into it but none of us use 98 anymore except for testing so it may take some time.UNLESS ofcourse you can see the issue.
soporific Posted September 11, 2007 Author Posted September 11, 2007 (edited) WE seem to have lost Win98 compatability somewhere.I will look into it but none of us use 98 anymore except for testing so it may take some time.UNLESS ofcourse you can see the issue. Hi Kel,I just had a looksie in GENERATE.JS and its very Win2K/XP orientated ... the FindCDRom() function (in v5.3) is producing an error in Win98se ... you seem to have been improving it along WinXP lines thru all the different versions (nothing wrong with that) ... so i'm currently going back thru earlier versions to find a build that is entirely Win98 friendly. I only need the basic functions so these should be fine. I will post which version i end up using. This is for the new version of the Unattended Boot CD for Windows 98se which is here: http://www.msfn.org/board/index.php?showtopic=88008Needless to say, i'm using v6.2 for my XP projects, and for this you have my thanks and this over-rides any dismay that i can't use 6.2 for Win98se.Cheers man. I will give a credit to you in the documentation if i end up using WPI with a link to here as well. Edited September 11, 2007 by soporific
Kelsenellenelvian Posted September 11, 2007 Posted September 11, 2007 Ok have you tried The last version of XP-Lite?
soporific Posted September 11, 2007 Author Posted September 11, 2007 Ok have you tried The last version of XP-Lite?ooh, just got it but haven't tried it .. will do now. but also, i'm nearly there ... maybe you can get me over the last hurdle ...I just tried a run thru of WPI_v4.3.8b2 and it was all fine until the apps started to install. The path was being set to c:\\<file> instead of d:\<file>I hadn't set wpipath but is that the only problem? I noticed that in your startup .cmd file that you set wpipath --- is this variable crucial? Can't i just set cdrom ?Also, I have modified generate.js to make it more Win98 friendly but haven't tried it out yet. Maybe you know exactly what i have to do to get the path behaving properly.Thanks in advance!
Kelsenellenelvian Posted September 11, 2007 Posted September 11, 2007 Sure let me see your generate.js and config.jsAlso the variable could really be set to %vistasux% if we want it don't matter that much.
soporific Posted September 11, 2007 Author Posted September 11, 2007 (edited) Sure let me see your generate.js and config.jsAlso the variable could really be set to %vistasux% if we want it don't matter that much.thanks for this, see the codeboxes belowThings to note:* LocateCD.386 is what i use to find the CD drive thru out all the code. So this replaces WPI.ico in generate.jsThanks again !EDIT: my test VM is now installing fine ... !!!! If you still want to have a look, be my guest.What worked: the new generate.js file OR it was setting %wpipath% --- which one would it have been? or both? The generate.js file i used is the one i sent you.EDIT 2: my bet is the simple change in generate.js --- yeah, that must be it, i used my own method of finding the CD drive, so didn't need your .cmd file but then didn't think to see if WPI.ico was coded anywhere else. Got it. Please tell me if i'm wrong!EDIT 3: a long time ago i asked if it was possible to use the old style runonceex list of apps as the graphics display the user sees, well now i know the answer is to use any version of WPI prior to 5.0!!Would it be hard to integrate this style into v6.2 ?? I'm not fussed, its no biggie. I like the neatness of it is all. Oh, and thanks for all this prompt help!EDIT 4: Still got a problem at the end, just uploading the screenshot now ...to save you time, here's what is at line 240 in my generate.jsvar WshShell = new ActiveXObject("wscript.shell");var fso = new ActiveXObject("Scripting.FileSystemObject");var WshEnv = WshShell.Environment("PROCESS");var cddrv = new String(); cddrv="";var foundCDdrv = false;var audioshell = new ActiveXObject("WScript.shell"); var runaudio = "";var runaudioprogram = "";runaudio=1;function SetScriptWaitTimeout(timeout) // max is 4294967295{ position="generate.js"; var val=0; var KeyBase = "HKCU\\Software\\Microsoft\\Internet Explorer\\Styles\\MaxScriptStatements"; try { if (timeout<0) { WshShell.regDelete(KeyBase); return; } try { val = WshShell.regRead(KeyBase); } catch (exc) { if (timeout==0 || !timeout) timeout = 0x7fffffff; WshShell.regWrite(KeyBase, timeout, "REG_DWORD"); } } catch (ex2) {}}function FileExists(filespec){ position = "generate.js"; return fso.FileExists(filespec);}function GetCDRomDriveLetters(){ position = "generate.js"; var li, en; li = new Array(); en = new Enumerator(fso.Drives); for (; !en.atEnd(); en.moveNext()) { ite = en.item(); if (ite.DriveType == 4) { li[li.length++]=(ite.DriveLetter + ":"); } } return li;}function FindCDRom(){ position = "generate.js"; var i, li; if (LaunchFromCD=="yes") FindFile="LocateCD.386"; else FindFile="LocateCD.386"; if (foundCDdrv) return cddrv; li = GetCDRomDriveLetters(); for (i=0; i<li.length; i++) { if (FileExists(li[i]+'\\'+FindFile)) { cddrv = li[i]; debug("Found CDROM as drive " + cddrv,1,2); } } if (cddrv=="") { a = fso.GetAbsolutePathName("."); while (a.length>=3) { //debug("Trying ... " + a, 1); if (FileExists(a+'\\'+FindFile)) { cddrv=a; debug("Found CDROM as folder " + cddrv,1,2); break; } if (a.length==3) break; a = a + "\\.."; a = fso.GetAbsolutePathName(a); } } if (cddrv=="") { cddrv = WshShell.RegRead("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Setup\\SourcePath") + "\\"; cddrv = cddrv.substr(0,3); debug("Found CDROM as from registry " + cddrv,1,2); } foundCDdrv = true; return cddrv;}function replpath(u) { position = "generate.js"; cddrv = FindCDRom(); rs = new String(u); rs = rs.replace(/%cdrom%/gi, cddrv); rs = rs.replace(/%wpipath%/gi, WPIPath()); rs = WshShell.ExpandEnvironmentStrings(rs); return rs;}function path(u) { position = "generate.js"; if((u[0] == "systemdrive") ||(u[0] == "programfiles") ||(u[0] == "windir") ||(u[0] == "cdrom") ||(u[0] == "")) { pth = new String(); pth = u[0]; u[0] = pth.toLowerCase(); if(u[0] == "systemdrive") return WshEnv("SYSTEMDRIVE") + "\\" + u[1] if(u[0] == "programfiles") return WshEnv("PROGRAMFILES") + "\\" + u[1] if(u[0] == "temp") return WshEnv("TEMP") + "\\" + u[1] if(u[0] == "windir") return WshEnv("WINDIR") + "\\" + u[1] if(u[0] == "cdrom"){ TempSource = new String(); TempSource = WshShell.RegRead("HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Setup\\SourcePath"); TempSource = TempSource + "\\"; if (discPath == 'root'){ TempSource = TempSource.substr(0,3) + u[1]; // return the drive letter of the CD/DVD drive. eg. D:\ | E:\ | F:\ etc. } else{ TempSource = TempSource + u[1]; } TempSource.replace("\\\\","\\"); return TempSource } if(u[0] == "") return u[1] } else { if (u[1]==null || u[1]=="") return replpath(u[0]); else alert("Drive not found."); } return "";}function CreateFile(arg) { position = "generate.js"; var KeyBase = "HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\RunOnceEx"; var j = 0; var msg; var programs = new Array(); if (arg==null || arg) window.alert(getText(msgStartInstall)); if (arg=='exit'){ // when pressing exit button, removes default checked checkboxes remChecks(); } for ( i = 1; prog[i]!=null; i++ ) { if (forc[i]!=null && forc[i] == "yes"){ // check the checkbox for an app if it is forced setChecked(i); } if (document.getElementById("chkbox"+i) && document.getElementById("chkbox"+i).checked) { programs[programs.length++] = new program(i); debug("Selecting: " + programs[programs.length-1].prog + " - " + programs[programs.length-1].ordr,1); } } if (sorting) { debug("Sort",1); if (installByCategory) programs.sort(SortByCat); else programs.sort(SortByOrdr); } for ( i = 0; i<programs.length && programs[i]!=null; i++ ) debug(i+1 + ".: " +programs[i].ordr + " - " + programs[i].prog,1); debug("Installing...",1); for ( i = 0; i<programs.length && programs[i]!=null; i++ ) { j++; if (sorting && !installByCategory) e = programs[i].ordr; else { e = '0' + i; while (e.length<4) e = "0" + e; } WshShell.regWrite(KeyBase + "\\"+e+"\\", programs[i].prog, "REG_SZ"); if (true) { // set to false, if you want just the display but no real installs if ((programs[i].regb != null)&&(path(programs[i].regb) != '')) WshShell.regWrite(KeyBase + "\\"+e+"\\1","REGEDIT /S "+path(programs[i].regb), "REG_SZ"); if ((programs[i].cmd1 != null)&&(path(programs[i].cmd1) != '')) WshShell.regWrite(KeyBase + "\\"+e+"\\2",substituteCommand(programs[i].cmd1), "REG_SZ"); if ((programs[i].cmd2 != null)&&(path(programs[i].cmd2) != '')) WshShell.regWrite(KeyBase + "\\"+e+"\\3",substituteCommand(programs[i].cmd2), "REG_SZ"); if ((programs[i].cmd3 != null)&&(path(programs[i].cmd3) != '')) WshShell.regWrite(KeyBase + "\\"+e+"\\4",substituteCommand(programs[i].cmd3), "REG_SZ"); if ((programs[i].cmd4 != null)&&(path(programs[i].cmd4) != '')) WshShell.regWrite(KeyBase + "\\"+e+"\\5",substituteCommand(programs[i].cmd4), "REG_SZ"); if ((programs[i].cmd5 != null)&&(path(programs[i].cmd5) != '')) WshShell.regWrite(KeyBase + "\\"+e+"\\6",substituteCommand(programs[i].cmd5), "REG_SZ"); if ((programs[i].cmd6 != null)&&(path(programs[i].cmd6) != '')) WshShell.regWrite(KeyBase + "\\"+e+"\\7",substituteCommand(programs[i].cmd6), "REG_SZ"); if ((programs[i].rega != null)&&(path(programs[i].rega) != '')) WshShell.regWrite(KeyBase + "\\"+e+"\\8","REGEDIT /S "+path(programs[i].rega), "REG_SZ"); } if (runaudio==1){ runaudio=0; if (showmpINSBtn == 1) { runaudioprogram = ".\\audio.exe" audioshell.run(runaudioprogram, 1, true); } } if (j==appsPerInstallWindow) // call RunOnceEx every 15 apps, so that the window doesn't grow too big { WshShell.regWrite(KeyBase + "\\TITLE", getText(txtRunOnceExTitle), "REG_SZ"); window.moveTo(10000,10000); if (!debugOn) WshShell.Run("rundll32.exe iernonce.dll,RunOnceExProcess", 10, true); j=0; } } //Launch the last RunOnceEx process we just wrote keys for and exit WshShell.regWrite(KeyBase + "\\TITLE", getText(txtRunOnceExTitle), "REG_SZ"); window.moveTo(10000,10000); if (!debugOn) WshShell.Run("rundll32.exe iernonce.dll,RunOnceExProcess", 10, true); window.moveTo(0,0); SetScriptWaitTimeout(-1); audioshell.run(".\\Audio\\CloseAudio.exe", 1, true); if (!debugOn) window.close(); programs = null;}function substituteCommand(cmd){ var prog = path(cmd); var firstToken = prog.substr(0,prog.indexOf(" ")); switch (firstToken.toUpperCase()) { case 'FILECOPY': prog = ("CMD /C " + prog.replace(/FILECOPY/gi,'copy')); break; case 'DIRCOPY': prog = ("CMD /C " + prog.replace(/DIRCOPY/gi,'xcopy') + "/I /E /Y"); break; case 'RENAME': prog = ("CMD /C " + prog.replace(/RENAME/gi,'ren')); break; } return prog; }and here's the start of my config.jspn=1;prog[pn]=['400 True Type Fonts']uid[pn]=['400TRUETYPEFONTS']picw[pn]=['128']pich[pn]=['128']desc[pn]=['The ones you get with Windows are pretty boring ... here\'s the first 400 fonts i would install if I were you.']textl[pn]=['Bottom']texti[pn]=['1']cmd1[pn]=['%CDROM%\\install1\\WPI\\400fonts.exe']dflt[pn]=['yes']gcond[pn]=['FileExists(\'%programfiles%\')']configs[pn]=['yes']cat[pn]=['System']pn++prog[pn]=['7-Zip 4.53 beta']uid[pn]=['7-Zip']picw[pn]=['128']pich[pn]=['128']desc[pn]=['The freeware archiving utility with the best compression. Don\'t be alarmed that this is a beta version, it works fine!']textl[pn]=['Bottom']texti[pn]=['1']cmd1[pn]=['%CDROM%\\install1\\WPI\\7-Zip_4.53.exe']dflt[pn]=['yes']gcond[pn]=['FileExists(\'%programfiles%\')']configs[pn]=['yes']cat[pn]=['Utilities']pn++prog[pn]=['ABI Word 2.51']uid[pn]=['ABIWORD']picw[pn]=['128']pich[pn]=['128']desc[pn]=['AbiWord is a free word processing program similar to MS Word. It is suitable for a wide variety of word processing tasks including import & export functions. Credit goes to LastXP for the extra plugins included in this pack.']textl[pn]=['Bottom']texti[pn]=['1']cmd1[pn]=['%CDROM%\\install1\\WPI\\ABIWord_2.51.exe']gcond[pn]=['FileExists(\'%programfiles%\')']configs[pn]=['no']cat[pn]=['Office']pn++prog[pn]=['AVG free Anti-Virus 7.6.1048']uid[pn]=['AVGFREEANTIVIRUS']picw[pn]=['128']pich[pn]=['128']desc[pn]=['Of the 2 major free anti-virus applications that i know about, AVG is the most trouble-free while still providing reasonable protection. Avast maybe a bit more secure but its more paranoid too and sometimes reports useful utilities like cmdow.exe as trojans. This is really annoying.']textl[pn]=['Bottom']texti[pn]=['1']cmd1[pn]=['%CDROM%\\install1\\WPI\\AVGfreeAnti-Virus_7.6.1048.exe']dflt[pn]=['no']gcond[pn]=['FileExists(\'%programfiles%\')']configs[pn]=['yes']cat[pn]=['System']pn++prog[pn]=['CDCheck 3.0.1.43']uid[pn]=['CDCHECK']picw[pn]=['128']pich[pn]=['128']desc[pn]=['CDCheck is utility for prevention, detection and recovery of damaged files with emphasis on error detection. It can check each of your CDs and indicate which files are corrupted. CDCheck reporting features tell you exactly where the problems are. CDs can get damaged in a number of ways, so the program helps you determine whether your data is safe before it\'s too late. The program also provides a comparison option that lets you select a reference directory on your hard drive (or some other device). CDCheck ensures that the contents on a disc match those in the directory, and effectively alerts you of differences. Besides that CDCheck supports creation of CRC files which provide extra safety that files on your CDs are still exactly the same as they were. In addition to CD-ROMs, the program can be used with all other local or removable media (disk drives, floppy disks, ZIP drives...) visible by the operating system (Windows Explorer).']textl[pn]=['Bottom']texti[pn]=['1']cmd1[pn]=['%CDROM%\\install1\\WPI\\CDCheck_3.0.1.43.exe']dflt[pn]=['yes']gcond[pn]=['FileExists(\'%programfiles%\')']configs[pn]=['yes']cat[pn]=['Utilities']pn++ Edited September 11, 2007 by soporific
soporific Posted September 12, 2007 Author Posted September 12, 2007 so kel, all i need to know now is how to get WPI to exit gracefully, as per the last screenshot i posted. Sorry for all the edits, maybe you missed some of them. Cheers dude.
Kelsenellenelvian Posted September 12, 2007 Posted September 12, 2007 Cab you attach your generate.js and config.js? I cant seem to copy those over into any usefull format they just get all bunched over when I copy them into notepad2.
soporific Posted September 12, 2007 Author Posted September 12, 2007 here they are, see attachmentWPI_probs.zip
Kelsenellenelvian Posted September 12, 2007 Posted September 12, 2007 Did you delete the audio folder?
soporific Posted September 12, 2007 Author Posted September 12, 2007 (edited) Did you delete the audio folder?yeah, i did. If that is all it was, i feel like such a dill. I'll check ASAP and report back. Edited September 12, 2007 by soporific
9h0s7 Posted September 12, 2007 Posted September 12, 2007 if you haven't already update IE to 6. WPI doesn't work well with IE 5 which is what 98 comes with. I've used 6.2 on Win98SE before, but not before upgrading to IE6
soporific Posted September 13, 2007 Author Posted September 13, 2007 (edited) if you haven't already update IE to 6. WPI doesn't work well with IE 5 which is what 98 comes with. I've used 6.2 on Win98SE before, but not before upgrading to IE6Kel, the problem is still there with the audio folder restored...More info: WPI runs on first boot, i can change this to run on subsequent reboots, but i don't think that is going to solve the problem. My version of UBCD installs all of the following BEFORE the first boot: WMP9 and codecs, Ie6 sp1, and a whole slew of updates (but none are for IE6sp1). So IE6 sp1 is already installed by the time WPI is run, so it shouldn't have anything to do with IE5 issues.If anything, the problem could be something to do with the version of Visual Basic that is there when WPI starts, but i'm clutching at straws here. Edited September 13, 2007 by soporific
Kelsenellenelvian Posted September 13, 2007 Posted September 13, 2007 OK OK Lets get serious here which exact version of wpi are you using?I will boot up 98 and kick it around.
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