Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Kelsenellenelvian

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.

Share this post


Link to post
Share on other sites

**** MSHTA Proccess no longer burns cpu cycles.

Sweet. I've been noticing that the process sometimes slows to a crawl, eating up the cpu on some configurations with 8.7.0. Keep up the great work!

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

By all means it is better to stay with what works, but that is very odd and I have no idea what is causing it. Thanks for all you testing Kel.

Cheers and Regards

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...