Jump to content

Languages, Themes, Manuals & Mods


Recommended Posts

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

Regards

I 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 Regards

Works 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


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

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

Thanks bphlpt

Works but need more time to install programs!

Regards

Edited by myselfidem
Link to comment
Share on other sites

Changes needed to have an old ConfigFile updated for WPI 8.7.2:

Inside WPI.hta

Change 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.js

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

Me again. :) LOL

AFAIK, 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

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

Yers, 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

I made the same "improvement" for WPI.hta ?? :yes:

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

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.0

Now, 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 updated

lang_fr.rar

Edited by myselfidem
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...