Jump to content

WPI v8.7.2 Release Thread


Recommended Posts

v8.7.2 refresh has been uloaded!

v8.7.2 Updates - Released Feb 2nd, 2013
====================================================
**** More lang cleaning.
**** Base theme improvements.
**** Win XP installer fixes.
**** Rollback of timer changes.
**** Major improvements to ie detection!
**** MSHTA Proccess no longer burns cpu cycles.
Link to comment
Share on other sites


Inside WPI.hta we can add on line 112:

if (getOSver()=="XP" || getOSver()=="Vista" || getOSver()=="Win7" || getOSver()=="Win8" || getOSver()=="Win8.1")

Timer works using like this:

timers.js

function ins_iTimer()  // this doesn't work correctly at midnight...{   position="timers.js";   whatfunc="ins_iTimer()";   var timerID=null;   var txt="";   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);   elapsedSecs=elapsedSecs - (minutes*60);    var seconds=elapsedSecs;    txt=((hours < 10) ? "0" : "") + hours;   txt += ((minutes < 10) ? ":0" : ":") + minutes;   txt += ((seconds < 10) ? ":0" : ":") + seconds;   document.getElementById("TimerDisplay").innerHTML=txt;   timerID=setTimeout("ins_iTimer()",1000);  // Update display}

About: [Feature] WMI-based TimedWaitForProgram. How this function is called and it's not now inside jscripts ?

http://www.msfn.org/board/topic/163522-feature-wmi-based-timedwaitforprogram-no-tasklist-prompts/

Regards

Edited by myselfidem
Link to comment
Share on other sites

AFAIK, changing:

var txt="";...elapsedSecs=elapsedSecs - (minutes*60);var seconds=elapsedSecs;txt=((hours < 10) ? "0" : "") + hours;txt += ((minutes < 10) ? ":0" : ":") + minutes;txt += ((seconds < 10) ? ":0" : ":") + seconds;
to:

...var seconds=elapsedSecs - (minutes*60); var txt=((hours < 10) ? "0" : "") + hours + ((minutes < 10) ? ":0" : ":") + minutes + ((seconds < 10) ? ":0" : ":") + seconds;
will make the code a tiny bit smaller and possibly immeasurably faster and not cause any problems. I don't see how it could cause "mshta to burn CPU cycles and random lock ups on multiple sub process installers". The only thing you are changing is the the assignment of value to two variables.

Cheers and Regards

Edited by bphlpt
Link to comment
Share on other sites

I think the trouble was here:

http://www.msfn.org/board/topic/170927-office-2010-silent-installation-gets-mshtaexe-hung/?p=1067743

timers.js working fine:

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}

*Edit: timers.js updated

I think we can revert back and add inside jscript.js

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;	}}
Edited by myselfidem
Link to comment
Share on other sites

If this works correctly:

   var timerID=null;   timerID=setTimeout("ins_iTimer()",1000);  // Update display
I think that could be replaced by:

   var timerID=setTimeout("ins_iTimer()",1000);  // Update display
Cheers and Regards Edited by bphlpt
Link to comment
Share on other sites

I think the trouble was here:

http://www.msfn.org/board/topic/170927-office-2010-silent-installation-gets-mshtaexe-hung/?p=1067743

timers.js working fine:

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=null;   timerID=setTimeout("ins_iTimer()",1000);  // Update display}

I think we can revert back and add inside jscript.js

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;	}}

These ^ and this:

If this works correctly:

   var timerID=null;   timerID=setTimeout("ins_iTimer()",1000);  // Update display
I think that could be replaced by:

   var timerID=setTimeout("ins_iTimer()",1000);  // Update display
Cheers and Regards

Seem to work fine I need to run the rest of the tests with them.

Link to comment
Share on other sites

in ie 8 with the proposed changes this happens to the mshta process and installers still lockup.

post-6960-0-49049100-1391531033_thumb.pn

I think its going to be best just to leave it as is right now.

I verified that the issues that were being reproduced (Office install lockups and multi-stage installers lockups, I had reproduced both) do not exist with the 8.7.2 refresh on the following real life setups:

XP\SP3 ie6, ie7, ie8

Win7 both architectures ie8, ie9, ie10, ie11

I agree that the code could be cleaner but, quite simply this works...

Edited by Kelsenellenelvian
Link to comment
Share on other sites

If this works correctly:

   var timerID=null;   timerID=setTimeout("ins_iTimer()",1000);  // Update display
I think that could be replaced by:

   var timerID=setTimeout("ins_iTimer()",1000);  // Update display
Cheers and Regards

Works fine using only:

var timerID=setTimeout("ins_iTimer()",1000);  // Update display

Thanks bphlpt

Link to comment
Share on other sites

I dont know if anyone else got this but I just downloaded and copied over my configs and I get the following errors:

Line: 26

character: 1

Error: 'bit64' is undefined

code: 0

url: file:///C:/WPI_v8.7.2/UserFiles/config.js

and

Line: 631

character: 7

Error: unable to get property 'toString' of undefinded or null reference

code: 0

url: file:///C:/WPI_v8.7.2/WPIScripts/check.js

I launch a clean copy and i dont see anything about 64bit processing under options wizard in tools area?

I am doing something wrong?

Thank you for all the hard work on this app. I just donated also.

Edited by crazydrve
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...