Jump to content

myselfidem

Member
  • Posts

    2,515
  • Joined

  • Last visited

  • Donations

    0.00 USD 
  • Country

    Switzerland

Posts posted by myselfidem

  1. About [function DownloadFile] inside installer.js, we can change:

    On line 1080, change:

    cmd = '"'+ReplacePath(" % programfiles % \\Internet Explorer\\iexplore.exe")+'" ' + cmd;

    To (look at spaces):

    cmd = '"'+ReplacePath("%programfiles%\\Internet Explorer\\iexplore.exe")+'"' + cmd;

    From line 1400, change to:

       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;

    Now downloading files works fine!

    Regards

    *Edit: post updated

  2. 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;	}}
  3. 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

  4. To remove the name at bottom on the start panel, disable 2 lines inside wpi_theme.js (lines 132 and 133 - inside your folder Themes\Windows) :

    // Theme_BottomTextAlign="center";// Theme_BottomText="Windows Post-Install Wizard";

    *Edit: Please share your full theme with all images and files!!

  5. All language files have been updated inside WPI_v8.7.1. thanks to Kels!

    *Edit: However some lines needs to be translated at last for WPI_v8.7.1

    // v8.6+lblNumberOfCores[lang]          = ['Number Of Cores'];lblNumberOfLogicalProcessors[lang] = ['Number Of Logical Processors'];lblProductKey[lang]             = ['Product Key'];lblKeyboardLayout[lang]         = ['Keyboard Layout'];// v8.7lblWindows8[lang]               = ['Windows 8']
  6. Thanks Kels for the new WPI_v8.7.1

    Missing inside WPI_v8.7.1.rar; the ChangeLog.txt the minor updates for the new release:

    v8.7.1 Updates - Released Jan 28th, 2013 ====================================================**** Cleaned the lang files.**** Fixed IE version detection.**** Timer changes.**** OS version detection fixes.**** OS edition detection fixes.**** Fixed a rare major bug where userfiles weren't used.**** Lots of minor code cleanup.**** Drag 'n Drop improvements.

    Regards

  7. No problem here.

    Try the new WPI 8.7.0 and look the image to unlock the exe file if needed!

    *Edit: you can also use this registry file to avoid to unlock the downloaded files:

    Unlock.reg

    Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments] "SaveZoneInformation"=dword:00000001 "HideZoneInfoOnProperties"=dword:00000001

    post-273131-0-07821100-1387895997_thumb.

    post-273131-0-59633000-1387896749_thumb.

  8. Many thanks bphlpt.

    Your last example works fine ! I removed only unwanted spaces:

    function getOSver() {         position = "wmi.js";         whatfunc = "getOSver()";          if (szOSVerCache==NOT_FOUND) setOSverOSedID(); // this function is called often - get it once and cache the result          return szOSVerCache; }function getOSeditionID(){       position = "wmi.js";       whatfunc = "getOSeditionID()";       if (szEditionIDCache==NOT_FOUND) setOSverOSedID(); // this function is called often - get it once and cache the result        return szEditionIDCache;}function setOSverOSedID() {     position = "wmi.js";     whatfunc = "setOSverOSedID()";      try     {         objItem = new Enumerator(GetObject("winmgmts:\\\\" + "." + "\\root\\CIMV2").ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly)).item();          var Caption = objItem.Caption;         var OSSKU = objItem.OperatingSystemSKU;          if (Caption.indexOf("8.1") != -1) { szOSVerCache = "Win8.1"; szEditionIDCache = getOSsku(OSSKU); }         else if (Caption.indexOf("2008") != -1) { szOSVerCache = "08"; szEditionIDCache = getOSsku(OSSKU); }         else if (Caption.indexOf("8") != -1) { szOSVerCache = "Win8"; szEditionIDCache = getOSsku(OSSKU); }         else if (Caption.indexOf("7") != -1) { szOSVerCache = "Win7"; szEditionIDCache = getOSsku(OSSKU); }         else if (Caption.indexOf("Vista") != -1) { szOSVerCache = "Vista"; szEditionIDCache = getOSsku(OSSKU); }         else if (Caption.indexOf("2012") != -1) { szOSVerCache = "12"; szEditionIDCache = Caption; }         else if (Caption.indexOf("2003") != -1) { szOSVerCache = "03"; szEditionIDCache = Caption; }         else if (Caption.indexOf("XP") != -1) { szOSVerCache = "XP"; szEditionIDCache = Caption; }         else if (Caption.indexOf("2000") != -1) { szOSVerCache = "2K"; szEditionIDCache = Caption; }     }     catch(ex)     {         ;     } }

    Regards

  9. Inside aboutwpitemplate_license.htm, please change the line 19 to:

    <a target="_blank" href="http://www.msfn.org/board/forum/93-windows-post-install-wizard-wpi/">MSFN\WPIW Forum Section.</a> (www.msfn.org)<br>

    Now, the link works.

    Inside aboutwpitemplate_projectteam.htm on line 20, change to:

    <a target="_blank" href="http://www.msfn.org/board/user/273131-myselfidem/">myselfidem</a><br>

    Thanks and regards

  10. I updated my last post (post #52) adding Windows Server 2012 and adding some of your ideas.

    About szEditionIDCache doesn't work with Windows Edition other than English ! There is no value for Windows Edition Multilanguage (French, German, Italian, etc.).

    It is the reason I used:

             if (szOSVerCache == "12") szEditionIDCache = objItem.Caption;          if (szOSVerCache == "03") szEditionIDCache = objItem.Caption;          if (szOSVerCache == "XP") szEditionIDCache = objItem.Caption;         if (szOSVerCache == "2K") szEditionIDCache = objItem.Caption; 

    Help about OSSKU Edition:

    http://msdn.microsoft.com/en-us/library/windows/desktop/ms724358%28v=vs.85%29.aspx

    Regards

    *Edit: tested using else if statement and doesn't work !!

  11. Many thanks Francesco and bphlpt !

    Tested and works like this:

    Inside wmi.js changing to:

    function getOSver() {         position="wmi.js";         whatfunc="getOSver()";          if (szOSVerCache==NOT_FOUND) // this function is called often - get it once and cache the result         {                 try                 {                         objWMIService=GetObject("winmgmts:\\\\" + "." + "\\root\\CIMV2");                         colItems=objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly);                         enumItems=new Enumerator(colItems);                         objItem=enumItems.item();                          var Caption=objItem.Caption;                                                if (Caption.indexOf("8") != -1) szOSVerCache="Win8";                         if (Caption.indexOf("8.1") != -1) szOSVerCache="Win8.1";                         if (Caption.indexOf("7") != -1) szOSVerCache="Win7";                        if (Caption.indexOf("2008") != -1) szOSVerCache="08";                         if (Caption.indexOf("Vista") != -1) szOSVerCache="Vista";                         if (Caption.indexOf("2012") != -1) szOSVerCache="12";                          if (Caption.indexOf("2003") != -1) szOSVerCache="03";                         if (Caption.indexOf("XP") != -1) szOSVerCache="XP";                         if (Caption.indexOf("2000") != -1) szOSVerCache="2K";                 }                 catch(ex)                 {                 }         }          return szOSVerCache; }function getOSeditionID(){   position = "wmi.js";   whatfunc = "getOSeditionID()";   var Caption, OSSKU;   if (szEditionIDCache == NOT_FOUND) // this function is called often - get it once and cache the result   {      try      {         objWMIService = GetObject("winmgmts:\\\\" + "." + "\\root\\CIMV2");         colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly);         enumItems = new Enumerator(colItems);         objItem = enumItems.item();         Caption = objItem.Caption;         OSSKU = objItem.OperatingSystemSKU;                  if (szOSVerCache == "Win8.1") szEditionIDCache = getOSsku(OSSKU);           if (szOSVerCache == "Win8") szEditionIDCache = getOSsku(OSSKU);         if (szOSVerCache == "Win7") szEditionIDCache = getOSsku(OSSKU);         if (szOSVerCache == "08") szEditionIDCache = getOSsku(OSSKU);         if (szOSVerCache == "Vista") szEditionIDCache = getOSsku(OSSKU);         if (szOSVerCache == "12") szEditionIDCache = objItem.Caption;          if (szOSVerCache == "03") szEditionIDCache = objItem.Caption;          if (szOSVerCache == "XP") szEditionIDCache = objItem.Caption;         if (szOSVerCache == "2K") szEditionIDCache = objItem.Caption;                }      catch(ex)      {         ;      }   }   return szEditionIDCache;}

    We need also add inside configwizard.js (from line 776)

    case 'cmd_cond_operatingsystem': 	HandleCommandsSelectionMenu("{OS=Win8.1 || Win8 || Win7 || Vista || XP || 2K} "); 	break;

    Inside installer.js we can add (on line 1400):

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

    Problem solved!

    Regards

    *Edit: post updated

×
×
  • Create New...