Jump to content

myselfidem

Member
  • Posts

    2,515
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Switzerland

Posts posted by myselfidem

  1. <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>=800 && ver<870)	    {		    if (confirm(configFile+"\n\n"+getText(txtUpdateConfig3)))		    {			NeedUpdateWizard=2;		    }		    break;		}	    else	      break;    }	document.write('<script type="text/javascript" src="'+configFile+'" application="yes"></' + 'script>');

    Have you tried the new code given as example to test ?

  2. Could you share your new config.js with 3 categories fixed and I will try.

    Note: You can also put your old config.js (8.0.0) inside UserFiles folder and it will be updated (8.7.0) using the new files given !

    Tanks

    *Edit: Tested adding 3 categories missing and no trouble found. Works fine for me !

  3. Inside registry_dos.js:

    Change (line 586):

    if (FileExists(ReplacePath("%windir%\\Fonts\\" + fontName)))

    To:

    if (FileExists(ReplacePath(windir+"\\Fonts\\" + fontName)))

    Inside installer_reboot.js:

    Remove (lines 47 and 48):

    if (rbProg.bit64 != null)rbfHandle.WriteLine("programs[prb].bit64=['"+GetConfigValue(rbProg.bit64.toString(),1)+"'];");

    Inside WPI.hta

    We can change, lines 432 and 446:

    strFile=ReplacePath('"%sysdir%\\mshta.exe" "'+wpipath+'\\Common\\Installer.hta"');

    To:

    strFile=ReplacePath('"'+sysdir+'\\mshta.exe" "'+wpipath+'\\Common\\Installer.hta"');

    All tested and works fine!

    Regards

  4. And you may need to change inside installer.js:

    Downloading files improvement.

    http://www.msfn.org/board/topic/158272-languages-themes-manuals-mods/?p=1068519

    From line 1080 - case 'WEB' :

    document.getElementById("InstallItem").innerHTML = getText(lblViewing)+" " + cmd;            cmd = '"'+ReplacePath("%programfiles%\\Internet Explorer\\iexplore.exe")+'"' + cmd;

    And from line 1401:

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

    Regards

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

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

    I think it is solved here:

    http://www.msfn.org/board/topic/158272-languages-themes-manuals-mods/?p=1068519

    and below tis post.

    You can try it and download files: configwizard.js and updatewizard.js.

    Tested and works fine.

    Regards

    *Edit: it's also needed to update the language file!!

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

    The first one isn't good, because mshta works excessively and may block the system!

    The second code is perfect.

    Thanks and regards

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

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

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

  11. To avoid errors with "Resume Button" and "Abort Button ", we can 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);                        return;	}	else	{		UserPaused=false;		WriteRegKey("HKEY_CURRENT_USER\\Software\\WPI\\UserPaused",0,"REG_DWORD");		document.getElementById("Pause").innerHTML=getText(btnPause);	}}

    To:

    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

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

×
×
  • Create New...