myselfidem Posted February 10, 2014 Share Posted February 10, 2014 function PauseInstaller(){ if (!UserPaused) { UserPaused=true; WriteRegKey("HKEY_CURRENT_USER\\Software\\WPI\\UserPaused",1,"REG_DWORD"); document.getElementById("Pause").innerHTML=getText(btnResume); document.getElementById("AbortButton").disabled=true; return; } else { UserPaused=false; WriteRegKey("HKEY_CURRENT_USER\\Software\\WPI\\UserPaused",0,"REG_DWORD"); document.getElementById("Pause").innerHTML=getText(btnPause); document.getElementById("AbortButton").disabled=false; }}RegardsI don't think you need that "return", do you? If you don't need one in the "else" you shouldn't need it in the "if" either, unless there is something else in the function that you are not showing.Cheers and RegardsWorks like this!Gives error if we add return in the "else" using the button "Abort" (dhtmlxwindows.js error). And if there is no return in the "if" the button "Pause" doesn't work!Regards Link to comment Share on other sites More sharing options...
bphlpt Posted February 11, 2014 Share Posted February 11, 2014 OK Weird logic, but by all means stay with what works.It does seem especially weird to me that any change in "PauseInstaller()" can cause a "dhtmlxwindows.js" error, since "PauseInstaller()" is not mentioned in "dhtmlxwindows.js".Out of curiosity, could you please try this, both with and without the "return;" and see if it works?function PauseInstaller(){ if (UserPaused) { WriteRegKey("HKEY_CURRENT_USER\\Software\\WPI\\UserPaused",0,"REG_DWORD"); document.getElementById("Pause").innerHTML=getText(btnPause); } else { WriteRegKey("HKEY_CURRENT_USER\\Software\\WPI\\UserPaused",1,"REG_DWORD"); document.getElementById("Pause").innerHTML=getText(btnResume); } UserPaused=!UserPaused; document.getElementById("AbortButton").disabled=UserPaused; return;}You know how I am about always wanting the code to be as minimal and logical as possible. I think it makes it easier to debug.And, I hate to be a noob about hta javascript, but in Installer.hta, why are there so many '<script type="text/javascript"> ... </script>' blocks? Why isn't all the javascript code collected all in one place and surrounded by a single set of '<script type="text/javascript"> ... </script>' ? Is there some kind of advantage of doing it the way it was done that I'm not aware of?Cheers and Regards Link to comment Share on other sites More sharing options...
myselfidem Posted February 11, 2014 Share Posted February 11, 2014 (edited) OK Weird logic, but by all means stay with what works.It does seem especially weird to me that any change in "PauseInstaller()" can cause a "dhtmlxwindows.js" error, since "PauseInstaller()" is not mentioned in "dhtmlxwindows.js".Out of curiosity, could you please try this, both with and without the "return;" and see if it works?function PauseInstaller(){ if (UserPaused) { WriteRegKey("HKEY_CURRENT_USER\\Software\\WPI\\UserPaused",0,"REG_DWORD"); document.getElementById("Pause").innerHTML=getText(btnPause); } else { WriteRegKey("HKEY_CURRENT_USER\\Software\\WPI\\UserPaused",1,"REG_DWORD"); document.getElementById("Pause").innerHTML=getText(btnResume); } UserPaused=!UserPaused; document.getElementById("AbortButton").disabled=UserPaused; return;}You know how I am about always wanting the code to be as minimal and logical as possible. I think it makes it easier to debug.And, I hate to be a noob about hta javascript, but in Installer.hta, why are there so many '<script type="text/javascript"> ... </script>' blocks? Why isn't all the javascript code collected all in one place and surrounded by a single set of '<script type="text/javascript"> ... </script>' ? Is there some kind of advantage of doing it the way it was done that I'm not aware of?Cheers and RegardsThanks bphlptWorks but need more time to install programs!Regards Edited February 11, 2014 by myselfidem Link to comment Share on other sites More sharing options...
bphlpt Posted February 11, 2014 Share Posted February 11, 2014 Works ...Did you try both with and without the "return;"?And what did you mean by:... but need more time to install programs!Sorry to be a pest.Cheers and Regards Link to comment Share on other sites More sharing options...
myselfidem Posted February 11, 2014 Share Posted February 11, 2014 (edited) Changes needed to have an old ConfigFile updated for WPI 8.7.2:Inside WPI.htaChange from line 475:var ver; ver=GetConfigVersion(); while (ver>-1) { if (ver<720) { if (confirm(configFile+"\n\n"+getText(txtUpdateConfig))) { UpdateWizard1(); RefreshWPI(); } else { alert("You should remove config.js from the WPIScripts folder\nbefore continuing. Then run WPI again."); self.close(); } break; } else if (ver<770) { NeedUpdateWizard=2; break; } else if (ver<800) { break; } else if (ver<870) { if (confirm(configFile+"\n\n"+getText(txtUpdateConfig3))) { UpdateWizard1(); RefreshWPI(); } break; } else break; } document.write('<script type="text/javascript" src="'+configFile+'" application="yes"></' + 'script>');Inside updatewizard.jsChange the line 47 to:tf.WriteLine("// WPI Config 8.0.0+");Add on line 452:case "bit64" :configList[pn - 2].bit64 = val;break;Change on line 603:tf.WriteLine("// WPI Config 8.7.0+");Inside configwizard.js, from line 2805, add: else if (val>800 && val<870) { if (Alert("",getText(txtUpdateConfig3),getText(lblOK)+"|"+getText(lblCancel),"",5,0,0,0)) { UpdateWizard1(); RefreshWPI(); }From line 2918, add: case "bit64": configList[pn-2].bit64=val; break;Change line 3105, to:tf.WriteLine("// WPI Config 8.7.0");Inside lang_en.js, add:txtUpdateConfig3[lang] = ['This is an old config file (before v8.7.0).\n\nWould like it to be updated?\n\nMake a backup copy first.'];Inside globals_lang.js, add:txtUpdateConfig3 = [],Now works fine (and old bit64[pn]=['no']; or bit64[pn]=['yes']; are removed).The old ConfigFile will be saved as config-orig.js inside the folder UserFiles.Regards*Edit: post updated Edited February 13, 2014 by myselfidem Link to comment Share on other sites More sharing options...
bphlpt Posted February 12, 2014 Share Posted February 12, 2014 Me again. LOLAFAIK, this: var ver=GetConfigVersion(); if (ver<0) {/* Do Nothing */;} else if (ver<720) { if (confirm(configFile+"\n\n"+getText(txtUpdateConfig))) { UpdateWizard1(); RefreshWPI(); } else { alert("You should remove config.js from the WPIScripts folder\nbefore continuing. Then run WPI again."); self.close(); } } else if (ver<770) {NeedUpdateWizard=2;} else if (ver<800) {/* Do Nothing */;} else if (ver<870) { if (confirm(configFile+"\n\n"+getText(txtUpdateConfig3))) { UpdateWizard1(); RefreshWPI(); } } else {/* Do Nothing */;} document.write('<script type="text/javascript" src="'+configFile+'" application="yes"></' + 'script>');should give the same result as this: var ver; ver=GetConfigVersion(); while (ver>-1) { if (ver<720) { if (confirm(configFile+"\n\n"+getText(txtUpdateConfig))) { UpdateWizard1(); RefreshWPI(); } else { alert("You should remove config.js from the WPIScripts folder\nbefore continuing. Then run WPI again."); self.close(); } break; } else if (ver<770) { NeedUpdateWizard=2; break; } else if (ver<800) { break; } else if (ver<870) { if (confirm(configFile+"\n\n"+getText(txtUpdateConfig3))) { UpdateWizard1(); RefreshWPI(); } break; } else break; } document.write('<script type="text/javascript" src="'+configFile+'" application="yes"></' + 'script>');But I realize that some of the "improvements" I suggest are a matter of "style".Cheers and Regards Link to comment Share on other sites More sharing options...
myselfidem Posted February 12, 2014 Share Posted February 12, 2014 (edited) I made the same "improvement" for WPI.hta ?? Regards Edited February 13, 2014 by myselfidem Link to comment Share on other sites More sharing options...
myselfidem Posted February 12, 2014 Share Posted February 12, 2014 Works ...Did you try both with and without the "return;"?And what did you mean by:... but need more time to install programs!Sorry to be a pest.Cheers and RegardsYers, bphlpt.. I made all these tests!The only one working fine is the first one I given.Regards Link to comment Share on other sites More sharing options...
myselfidem Posted February 12, 2014 Share Posted February 12, 2014 (edited) post removed. Thanks Edited February 13, 2014 by myselfidem Link to comment Share on other sites More sharing options...
bphlpt Posted February 12, 2014 Share Posted February 12, 2014 I made the same "improvement" for WPI.hta ?? Sorry. My post wasn't very clear. I was trying to say that the first code was better, ie get rid of the "while" and all the "break" statements. I don't think they are necessary. So this should be the updated file: var ver=GetConfigVersion(); if (ver<0) {/* Do Nothing */;} else if (ver<720) { if (confirm(configFile+"\n\n"+getText(txtUpdateConfig))) { UpdateWizard1(); RefreshWPI(); } else { alert("You should remove config.js from the WPIScripts folder\nbefore continuing. Then run WPI again."); self.close(); } } else if (ver<770) {NeedUpdateWizard=2;} else if (ver<800) {/* Do Nothing */;} else if (ver<870) { if (confirm(configFile+"\n\n"+getText(txtUpdateConfig3))) { UpdateWizard3(); RefreshWPI(); } } else {/* Do Nothing */;} document.write('<script type="text/javascript" src="'+configFile+'" application="yes"></' + 'script>');Cheers and Regards Link to comment Share on other sites More sharing options...
myselfidem Posted February 12, 2014 Share Posted February 12, 2014 (edited) Yes, your code works fine!! Thanks bphlpt for your kind help and regards*Edit: post updated Edited February 13, 2014 by myselfidem Link to comment Share on other sites More sharing options...
Kelsenellenelvian Posted February 12, 2014 Author Share Posted February 12, 2014 Alright you two.PLEASE summarize the last few posts. Link to comment Share on other sites More sharing options...
bphlpt Posted February 13, 2014 Share Posted February 13, 2014 LOL I'll let myselfidem do that since he does more testing than I do so has a better feel for what actually works. Sorry I got in the way and made it harder for you to follow, Kel.Cheers and Regards Link to comment Share on other sites More sharing options...
Kelsenellenelvian Posted February 13, 2014 Author Share Posted February 13, 2014 Hey it is really ok. Link to comment Share on other sites More sharing options...
myselfidem Posted February 13, 2014 Share Posted February 13, 2014 (edited) Yes, it's really OK Kels!Summary:Change inside Installer.hta:function PauseInstaller(){ if (!UserPaused) { UserPaused=true; WriteRegKey("HKEY_CURRENT_USER\\Software\\WPI\\UserPaused",1,"REG_DWORD"); document.getElementById("Pause").innerHTML=getText(btnResume); document.getElementById("AbortButton").disabled=true; return; } else { UserPaused=false; WriteRegKey("HKEY_CURRENT_USER\\Software\\WPI\\UserPaused",0,"REG_DWORD"); document.getElementById("Pause").innerHTML=getText(btnPause); document.getElementById("AbortButton").disabled=false; }}</script>Change inside WPI.hta:script type="text/javascript"> var ver; ver=GetConfigVersion(); while (ver>-1) { if (ver<720) { if (confirm(configFile+"\n\n"+getText(txtUpdateConfig))) { UpdateWizard1(); RefreshWPI(); } else { alert("You should remove config.js from the WPIScripts folder\nbefore continuing. Then run WPI again."); self.close(); } break; } else if (ver<770) { if (confirm(configFile+"\n\n"+getText(txtUpdateConfig2))) { NeedUpdateWizard=2; } break; } else if (ver<800) { break; } else if (ver<870) { if (confirm(configFile+"\n\n"+getText(txtUpdateConfig3))) { UpdateWizard1(); RefreshWPI(); } break; } else break; } document.write('<script type="text/javascript" src="'+configFile+'" application="yes"></' + 'script>');Inside configwizard.js, add from on line 2804: } else if (val>800 && val<870) { if (Alert("",getText(txtUpdateConfig3),getText(lblOK)+"|"+getText(lblCancel),"",5,0,0,0)) { UpdateWizard1(); RefreshWPI(); }Add from line 2918:case "bit64": configList[pn-2].bit64=val; break;Change the line 3105 to:tf.WriteLine("// WPI Config 8.7.0");Inside lang_en.js, add line 1031:txtUpdateConfig3[lang] = ['This is an old config file (before v8.7.0).\n\nWould like it to be updated?\n\nMake a backup copy first.'];Inside globals_lang.js, add:var txtUpdateConfig3 = [],Many changes inside (Thanks to check if it's OK):function UpdateCommand(cmd)Inside jscript.js, revert back and add (from line 44):function TimedWaitForProgram(ImageName,HowLong){ position="jscript.js"; whatfunc="TimedWaitForProgram()"; var Elapsed=3; Pause(3,0); while (Elapsed<=HowLong*60) { var oExec = WshShell.Exec('tasklist.exe'); while (oExec.Status == 0) Pause(0,100); var Output = oExec.StdOut.ReadAll() + oExec.StdErr.ReadAll(); if (Output.search(ImageName)==-1) return; Pause(3,0); Elapsed += 3; }}Inside installer.js, change from line 1074 to:document.getElementById("InstallItem").innerHTML = getText(lblViewing)+" " + cmd; cmd = '"'+ReplacePath("%programfiles%\\Internet Explorer\\iexplore.exe")+'"' + cmd;From line 1395 (downloading files improvement)::if (FileExists(windir+"\\System32\\WindowsPowerShell\\v1.0\\powershell.exe")) { cmdLine = 'Powershell -NoProfile Import-Module BitsTransfer -cmdlet Start-BitsTransfer; Start-BitsTransfer -Source ' + URL + ' -Destination "$env:temp\\'+Filename+'" -TransferType Download'; fsoCmd = true; } else { cmdLine = '"'+wpipath+'\\Tools\\BitsAdmin.exe" /transfer WPI /download /priority high ' + URL + ' "%TEMP%\\'+Filename+'"'; fsoCmd = true; } if (AlwaysShowOutputWindow || ShowDownloadOutput) fsoCmd = false; ReturnCode = WshShell.Run(ReplacePath(cmdLine), fsoCmd ? 0 : 1, true); if (ReturnCode == 0) WriteLogLine(cmdName + ' ' + getText(InstallDownloadSuccess) + ' (' + getText(ReturnedCode) + ' ' + ReturnCode + '): ' + URL); else WriteLogLine(cmdName + ' ' + getText(InstallDownloadFail) + ' (' + getText(ReturnedCode) + ' ' + ReturnCode + '): ' + URL); UpdateInstallList(("div" + i + "_" + j + "_" + FailNum), ""); cmd = ReplacePath('"%TEMP%\\'+Filename+'"' + Args) || ReplacePath('"$env:temp\\'+Filename+'"' + Args); return cmd;}timers.js working:function ins_iTimer() // this doesn't work correctly at midnight...{ position="timers.js"; whatfunc="ins_iTimer()"; var now=new Date(); var nowSecs=(now.getHours()*60*60) + (now.getMinutes()*60) + now.getSeconds(); var elapsedSecs=nowSecs - ins_startSecs; var hours=Math.floor(elapsedSecs/3600); elapsedSecs=elapsedSecs - (hours*3600); var minutes=Math.floor(elapsedSecs/60); var seconds=elapsedSecs - (minutes*60); var txt=((hours < 10) ? "0" : "") + hours + ((minutes < 10) ? ":0" : ":") + minutes + ((seconds < 10) ? ":0" : ":") + seconds; document.getElementById("TimerDisplay").innerHTML=txt; var timerID=setTimeout("ins_iTimer()",1000); // Update display}All tested and works fine!Thanks bphlpt for your help.New lang_fr.js (attached).Regards*Edit: I think we can revert back inside networkwizard.js an change the line 2121 to:tf.WriteLine("// WPI Network Options 8.0.0");*EDIT 2: After all the day making tests I see we must revert like my updated post, because the first codes suggested can gives themes errors.When we use an old file number config.js 7.0.0Now, after many tests I think it's OK. No need to jump to 7.0.0 to 7.2.0+ and 8.7.0+Regards*Edit: post updatedlang_fr.rar Edited March 18, 2014 by myselfidem 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