• Announcements

    • xper

      MSFN Sponsorship and AdBlockers!   07/10/2016

      Dear members, MSFN is made available via subscriptions, donations and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, become a site sponsor and ads will be disabled automatically and by subscribing you get other sponsor benefits.
Kelsenellenelvian

Languages, Themes, Manuals & Mods

185 posts in this topic

About Edition ID for Windows XP.

Result: NOT_FOUND with my Windows XP localized french version.

But, changing inside wmi.js (from line 115) to:


if (szOSVerCache=="XP")
{
szEditionIDCache=objItem.Caption;
}

Tested and works fine! I think it's OK for all localized Windows XP version!

Thanks to check if it's OK.

Image Windows XP Edition

Regards

*Edit: post updated

Edited by myselfidem
0

Share this post


Link to post
Share on other sites

Note: about function getSysPCType() inside wmi.js:

There is no result on Windows XP ("Unspecified"):

Win32_ComputerSystem class (Windows)

PCSystemType

Data type: uint16

Access type: Read-only

Type of the computer in use, such as laptop, desktop, or Tablet.

Windows Server 2003, Windows XP, Windows 2000, Windows NT 4.0, and Windows Me/98/95: This property is not available.

Maybe we can add a comment inside wmi.js (on line 1209):

// This property is not available for: Windows Server 2003, Windows XP, Windows 2000, Windows NT 4.0, and Windows Me/98/95.

Thanks and regards.

Edited by myselfidem
0

Share this post


Link to post
Share on other sites

Inside wmi.js we can add on line 940:

if (objItem.MediaType.toUpperCase().indexOf("DVD WRITER") != -1 || objItem.PNPDeviceID.toUpperCase().indexOf("DVD") != -1)

Adding the second part we can see all values also with Windows XP. CD\DVD Burner was not detected before on XP, but only on Windows 7.

Tested on my computer with dualboot (Windows XP and Windows 7) and works fine!

Thanks and regards

Edited by myselfidem
0

Share this post


Link to post
Share on other sites

I suggest to add a new function for WPI.

1 - Detect KeyboardLayout inside wmi.js (from line 348) :


function getKeyboardLayout()
{
position="wmi.js";
whatfunc="getKeyboardLayout()";

try
{
objWMIService=GetObject("winmgmts:\\\\" + "." + "\\root\\CIMV2");
colItems=objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly);

enumItems=new Enumerator(colItems);
objItem=enumItems.item();
KeyboardLayout=objItem.Locale;
}
catch(ex)
{
}

return KeyboardLayout;
}

Add inside global.js


// wmi.js
var KeyboardLayout;

Add inside global_lang.js


var lblKeyboardLayout=[];

Add inside information.js (on line 119):


MyComputerGrid.addRow(gId++,getText(lblKeyboardLayout)+','+getKeyboardLayout()+'');

Add inside lang_en.js


lblKeyboardLayout[lang] = ['Keyboard Layout'];

2 - To display properly Language, location and keybordlayout, I suggest to change:

Inside core.js

Change // %OSLANG% to:


// %OSLANG%
var LCID;

CreateLocalArray();
try
{
objWMIService=GetObject("winmgmts:\\\\" + "." + "\\root\\CIMV2");
colItems=objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly);

enumItems=new Enumerator(colItems);
objItem=enumItems.item();
LCID=objItem.Locale;

for (var x=0; x<arrOSLang.length; x++)
{
if (arrOSLang[x].LCID==LCID)
{
oslang=arrOSLang[x].TLA;
oslocale=arrOSLang[x].Locale;
break;
}
}
}
catch(ex)
{
oslang="ENU";
oslocale="English - United States";
}

// Environment variable for batch file
setEnvVar("HDD",hdd,false);
setEnvVar("CDDRV",cddrv,false);
setEnvVar("WPIPATH",wpipath,false);
setEnvVar("ROOT",root,false);
setEnvVar("OSLANG",oslang,false);
setEnvVar("OSLOCALE",oslocale,false);
}

And remove inside core.js:


function DecToHex(d)
{
position="core.js";
whatfunc="DecToHex()";

var hD="0123456789abcdef";
var h=hD.substr(d&15,1);

while(d>15)
{
d>>=4;
h=hD.substr(d&15,1)+h;
}

return h;
}

Image Computer Information

Tested and works fine for me!

Example:

config.js


pn=1;
prog[pn]=['Ashampoo'];
uid[pn]=['ASHAMPOO'];
ordr[pn]=[1];
dflt[pn]=['yes'];
forc[pn]=['no'];
bit64[pn]=['no'];
cat[pn]=['Applications'];
pfro[pn]=['no'];
cmds[pn]=['{OS=Win8%comma%Win7%comma%Vista%comma%XP} "%wpipath%\\Install\\abs6_free.exe"'];
cond[pn]=['getOSlang()=="FRS"'];
pn++;

WPI_Log.txt


Fichier journal de l'installation WPI

Début de l'installation: mardi 12 février 2013 13:42:47

Information WPI:
Version=8.6.5
Exécutable utilisé=true
Version d'Internet Explorer=9.0
Connexion Internet=true

Système d'exploitation
Version du Système=6.1
Système d'exploitation=Win7
Version actuelle=7601
ID Edition=Ultimate Edition
Service Pack=1

Architecture
Nom de l'Architecture=GenuineIntel
Chaîne du Nom de l'Architecture=Intel(R) Pentium(R) 4 CPU 3.00GHz
ID Architecture=x86 Family 15 Model 4 Stepping 1
Nombre de Processeurs=1
MHz=3000
Type d'Architecture=x86
Bits Architecture=32

Fichier Configuration=C:\WPI_v8.6.5\UserFiles\config.js
Fichier Options=C:\WPI_v8.6.5\UserFiles\useroptions.js
Fichier Réseau=C:\WPI_v8.6.5\UserFiles\networkoptions.js
Fichier Thème=C:\WPI_v8.6.5\UserFiles\themeoptions.js
Fichier Options Fenêtre=C:\WPI_v8.6.5\UserFiles\windowoptions.js

// Window tab
Resolution=1024
MainWindowWidth=800
MainWindowHeight=600
MainWindowX=-1
MainWindowY=-1
InstallerWindowX=25
InstallerWindowY=25

// General tab
NumCols=3
// ---
Timer=true
Seconds=59
StartBeepAtSecs=10
// ---
Language='fr'
// ---
DefaultInstallPath='default'
CustomInstallPath=['']
// ---
AbortInstallIfFailure=false
ExecuteCommandIfFailure=['']
ContinueWhereFailed=false

// Features tab
ShowDownloadOutput=false
DisableInstallCombobox=false
ShowExtraButtons=true
DoNotShowIfCD=true
USSFSilentMode=false
VerifyInstallHDD=false
AllowCheckForInternet=false
LoadDesktopBeforeInstall=false
ReOpenAfterInstall=false
DisableCatCheckBoxes=false
SortWithinCats=false
DisableOnDepsNotMet=true
AlwaysUseScrollBar=true
DontSplitCats=true
InstallByCategory=true
ReallyForce=false
DisableIfDoGray=false
InstallFonts=false
ShowCommandInInstaller=false
ShowInstallerImages=false
AlwaysShowOutputWindow=false
EjectCDWhenDone=false
DoNotShowIfUSB=false
DisableHotKeys=false
MaintainAutoLogonCount=false

// Tools tab
MonitorResolution=0
MonitorDepth=0
MonitorRefresh=0
// ---
ExecuteBeforeEnabled=false
ExecuteBeforebit64=false
ExecuteBefore=['']
ExecuteAfterEnabled=false
ExecuteAfterbit64=false
ExecuteAfter=['']
// ---
RestartComputer=false
RestartType=0
RestartSeconds=30
DoNotLoadDesktop=true
// ---
LogInstallation=true
LogPath=['%systemdrive%\WPI_Log.txt'];
TimeStampLogFile=false

// Audio tab
PlayAudioInInstaller=false
InstallAudio=['']
Volume=75
Shuffle=false
CopyAudioFolder=false
CopyAudioPath=['C:\Audio']
DeleteAudioFolder=false

// Sounds tab
SndWPIStartCB=true
SndWPIStart=['"%wpipath%\Audio\SoundsScheme\Alert.wav"'];
SndInstallStartCB=true
SndInstallStart=['"%wpipath%\Audio\SoundsScheme\AtBeginning.wav"'];
SndInstallSuccessCB=false
SndInstallSuccess=['"%wpipath%\Audio\SoundsScheme\Yes.wav"'];
SndInstallFailCB=false
SndInstallFail=['"%wpipath%\Audio\SoundsScheme\No.wav"'];
SndInstallFinishCB=false
SndInstallFinish=['"%wpipath%\Audio\SoundsScheme\AtEnd.wav"'];

// Style tab
Theme='Win7'
Skin='SkyBlue'
BgPicture=''
// ---
LayoutStyle=3
// ---
ShowToolTips=true

Variables Globales:
%OSLANG%=FRS
%WPIPATH%=C:\WPI_v8.6.5
%ROOT%=C:
%CDROM%=
%USB%=
%DOSPATH%=
%SYSTEMDRIVE%=C:
%WINDIR%=C:\Windows
%PROGRAMFILES%=C:\Program Files
%TEMP%=C:\Users\Antoine\AppData\Local\Temp
%SYSDIR%=C:\Windows\System32
%ALLUSERSPROFILE%=C:\ProgramData
%USERPROFILE%=C:\Users\Antoine
%APPDATA%=C:\Users\Antoine\AppData\Roaming
%COMMONPROGRAMFILES%=C:\Program Files\Common Files

Liste des programmes à installer:
Ashampoo

1 Eléments, 1 Commandes

-----

mardi 12 février 2013 13:42:49
Programme: Ashampoo
ID unique: ASHAMPOO
Ordre: 000001
Catégorie: Applications
mardi 12 février 2013 13:43:13 - cmd1 Succès (Code de retour 0): "C:\WPI_v8.6.5\Install\abs6_free.exe"
mardi 12 février 2013 13:43:14 - Installation terminée.

-----

Nombre d'installations échouées: 0

Installation terminée: mardi 12 février 2013 13:43:14

Thanks to check if it's OK!

Regards

Edited by myselfidem
0

Share this post


Link to post
Share on other sites

To enable DragAndDrop inside Configuration Tab, we can add inside configwizard.js:

Line 185; about: function CreateNavigation()

NavGrid.enableDragAndDrop(true); 

Line 228; about: function CreateConfigurations()

ConfigurationsGrid.enableDragAndDrop(true); 

Thanks to check if it's OK!

Tested and works fine for me.

Regards

Image Enable Drag And Drop

Note: To keep the new order we must change the number(s) manually!

Edited by myselfidem
0

Share this post


Link to post
Share on other sites

How to keep the installation order number?:

http://www.msfn.org/...-install-order/

1 - Inside program.js , changing (on line 213):

{return x - y;} 

2 - Inside program.js (on line 322) adding:

progspercat.sort(byOrder);  // Sort by ascending numerical order

if (SortWithinCats)
progspercat.sort(SortByProg); // Sort by alphabetical order

Thanks to make tests and check if it's OK!

Tested and works fine for me!

Regards

Edited by myselfidem
0

Share this post


Link to post
Share on other sites

Many thanks Kels for the new release WPI_v.8.6.6 !

Here is the French language file updated: lang_fr.rar

Thanks and regards

*Edit: File updated next post!

Edited by myselfidem
0

Share this post


Link to post
Share on other sites

Is needed italian translation update form 8.6.5 to 8.6.6?

0

Share this post


Link to post
Share on other sites

Is needed italian translation update form 8.6.5 to 8.6.6?

Yes, jinkazama

Because there is new functions added, and two new lines translated needed.

End of WPI_v8.6.6 lang_en.js:


// v8.6+
lblNumberOfCores[lang] = ['Number Of Cores'];
lblNumberOfLogicalProcessors[lang] = ['Number Of Logical Processors'];
lblProductKey[lang] = ['Product Key'];
lblKeyboardLayout[lang] = ['Keyboard Layout'];
//------------------------------------------------------------------------------

Cheers and regards

*Edit: Oops...Sorry missing some new words inside lang_fr.js (line 972)

French language file updated:

Regards

*Edit: lang_fr.js given

Edited by myselfidem
0

Share this post


Link to post
Share on other sites

Here new translation.

I'm translating other softwares and we use Transifex, it's very useful!

Here a project page Transifex

lang_it.js

0

Share this post


Link to post
Share on other sites

Hello, i've updated the Ukrainian lang file with two new lines.

Edited by chymax3m
0

Share this post


Link to post
Share on other sites

Seems like some troubles with site, the attachment it the same as in previous post...

lang_ua.js

Edited by chymax3m
0

Share this post


Link to post
Share on other sites

@Kels

Could you add inside WPI_v8.6.6 the French Manual updated with: [Comparison operator ===] added on Chapter 7, please!

French Manual and lang_fr.js updated for WPI_v8.6.6:

http://www.mediafire.com/?6696bficr91ar

Thanks and regards.

0

Share this post


Link to post
Share on other sites

Manual and language edits are added to this date.

Pass is the same.

0

Share this post


Link to post
Share on other sites

Hello!

WPI typically used for installation of programs not only legal, but also programs of paid-compromised.

In connection with this I propose to do the switch defaults to WPI legal software and illegal

So it will be more convenient for the users, well and accordingly the color difference programs legal from illegal.

For example I came to anybody home install programs, change to the illegal and installed.

And if I go in or what kind of organization or the office, then set the switch on legally.

Perhaps You have there in the USA use only legal software, but we have in Russia use the programs that are comfortable and pay for them or who do not want to.

According to statistics, in Russia, 90% of the users use illegal software including OS.

Edited by CWTeaM
0

Share this post


Link to post
Share on other sites

Yes I live in the USA. I also have a strong stance against warez.

Wpi is also not free for business uses either.

I am Sorry but you will not be welcomed here with the stance you have.

0

Share this post


Link to post
Share on other sites

I suggest to add a new command inside installer.js (line 1209) using: msiexec.exe /i %WPIPath%\Program.msi /qn


case 'MSI':
var src, splits;

src=cmd;
if (cmd.indexOf('" "') != -1)
{
splits=cmd.split('" "');
src=splits[0];
}
else
{
if (src.substr(0,1)=='"')
{
splits=cmd.split('" ');
src=splits[0];
}
else
{
splits=cmd.split(' ');
src=splits[0];
}
}

src=src.replace(/\"/g,"");
cmd='msiexec.exe /i "'+src+'" /qn';
fsoCmd=true;
break;
}

Adding inside configwizard.js

On line 372:

CommandsMenuBar.addNewChild("cmd_system", 5, "dos_msi", "Msi", false, "", "");

On line 643:


case 'dos_msi':
HandleCommandsSelectionMenu("{MSI} ");
break;

Tested and works fine for me. Example with SkypeSetup.msi:

config.js


prog[pn]=['Skype'];
uid[pn]=['SKYPE'];
ordr[pn]=[5];
dflt[pn]=['yes'];
forc[pn]=['no'];
bit64[pn]=['no'];
cat[pn]=['Applications'];
pfro[pn]=['no'];
cmds[pn]=['{MSI} "%wpipath%\\Install\\SkypeSetup.msi"'];
desc[pn]=['Skype'];
pn++;

Result inside WPI_Log.txt:

dimanche 26 mai 2013 07:36:44

Programme: Skype

ID unique: SKYPE

Ordre: 000005

Catégorie: Applications

dimanche 26 mai 2013 07:36:54 - cmd1 Succès (Code de retour 0): msiexec.exe /i "C:\WPI_v8.6.6\Install\SkypeSetup.msi" /qn

dimanche 26 mai 2013 07:36:55 - Installation terminée.

Thanks and regards

*Edit: post updated

Thanks to check if it's OK

*Edit2: However I see this option already exists using USSFStrings:

"Switches" : 'msiexec.exe /i %s /qb',

Edited by myselfidem
0

Share this post


Link to post
Share on other sites

Inside WPI.hta

Maybe we can change the lines 432 and 446:

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

Changing to:

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

Thanks to check if it's OK!

Regards

0

Share this post


Link to post
Share on other sites
I suggest to add a new command inside installer.js (line 1209) using: msiexec.exe /i %WPIPath%\Program.msi /qn
and what about Properties of .msi? I met some programs, which you could set the default language, destination directory and so on using Properties of MSI package, how would it be done with a new part of code?
0

Share this post


Link to post
Share on other sites

The idea was to add the function {MSI}, because if a msi file is customized USSFStrings can't detect the silent switches:

msiexec.exe /i "%Path_To_Program%" /qb

If we want use other switches, I suggest to add those manually!

But I think it's possible...Maybe for an other release?

Thanks and cheers.

Edited by myselfidem
0

Share this post


Link to post
Share on other sites

Hi @Kel,

finally I translated the manual and fixed a few lines of lang file for better meaning and sync with the manual.. I want to be a supporter as a translator. would I put files here or PM you?

Edited by ZEUS__
0

Share this post


Link to post
Share on other sites

About selecting Operating System: {OS=Win8,Win7,Vista,XP}

I suggest to change the comma (',') = (%comma%) to ('||')

Inside configwizard.js

We can change on line 796:


case 'cmd_cond_operatingsystem':
HandleCommandsSelectionMenu("{OS=Win8,Win7,Vista,XP} ");
break;

To:


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

And inside installer.js

We can change on line 1029:

Change:


switch(statement)
{
case 'OS':
var supportedOSes = statementArguments.split(',');

To:


switch(statement)
{
case 'OS':
var supportedOSes = statementArguments.split('||');

Tested and works fine for me.

WPI_Log.txt results on Windows 7 OS:

config.js


prog[pn]=['Ashampoo'];
uid[pn]=['ASHAMPOO'];
ordr[pn]=[2];
dflt[pn]=['yes'];
forc[pn]=['no'];
bit64[pn]=['no'];
cat[pn]=['Applications'];
pfro[pn]=['no'];
cmds[pn]=['{SLEEP} 10','{OS=Win8 || Win7 || XP} "%wpipath%\\Install\\abs6_free.exe"'];
cond[pn]=['getOSlang()=="FRS"'];
pn++;

WPI_Log.txt result (success):


samedi 8 juin 2013 11:58:50
Programme: Ashampoo
ID unique: ASHAMPOO
Ordre: 000002
Catégorie: Applications
samedi 8 juin 2013 11:59:01 - cmd1 Succès (Code de retour 0): "C:\WPI_v8.6.6\Tools\Sleep.exe" 10
samedi 8 juin 2013 11:59:22 - cmd2 Succès (Code de retour 0): "C:\WPI_v8.6.6\Install\abs6_free.exe"
samedi 8 juin 2013 11:59:22 - Installation terminée.

config.js:


prog[pn]=['Ashampoo'];
uid[pn]=['ASHAMPOO'];
ordr[pn]=[2];
dflt[pn]=['yes'];
forc[pn]=['no'];
bit64[pn]=['no'];
cat[pn]=['Applications'];
pfro[pn]=['no'];
cmds[pn]=['{SLEEP} 10','{OS=Win8 || Vista || XP} "%wpipath%\\Install\\abs6_free.exe"'];
cond[pn]=['getOSlang()=="FRS"'];
pn++;

WPI_Log.txt warning (Fail):


samedi 8 juin 2013 11:56:01
Programme: Ashampoo
ID unique: ASHAMPOO
Ordre: 000002
Catégorie: Applications
samedi 8 juin 2013 11:56:11 - cmd1 Succès (Code de retour 0): "C:\WPI_v8.6.6\Tools\Sleep.exe" 10
samedi 8 juin 2013 11:56:11 - cmd2 *** Abandonné *** (Architecture incorrecte): {OS=Win8 || Vista || XP} "%wpipath%\Install\abs6_free.exe"
samedi 8 juin 2013 11:56:12 - Installation terminée.

Tested and works fine for me.

Thanks to check if it's OK.

Regards

Edited by myselfidem
0

Share this post


Link to post
Share on other sites

Hi @Kel,

finally I translated the manual and fixed a few lines of lang file for better meaning and sync with the manual.. I want to be a supporter as a translator. would I put files here or PM you?

Thanks ZEUS_ for your help and work! ;)

I think the best way is to past your files on the forum.

Cheers and regards

0

Share this post


Link to post
Share on other sites

Maybe we can add PowerSchemes for Windows 8.

1 - We can add inside configwizard_wizards.js

from line 1439


var opt=document.getElementById("PowerSchemes").getElementsByTagName("OPTGROUP");
opt[3].label=getText(lblWindows8);
options[12].text=getText(optBalanced);
options[13].text=getText(optPowerSaver);
options[14].text=getText(optHighPerformance);

options[15].text=getText(optCustom);

2 - Inside configwizardtemplate_poweroptions_powerschemes.htm

from line 34:


<optgroup label="Windows8">
<option value="381b4222-f694-41f0-9685-ff5bb260df2e"></option>
<option value="a1841308-3541-4fab-bc81-f71556f20b4a"></option>
<option value="8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c"></option>
</optgroup>

3 - Add inside lang_en.js:

On line 585:

lblWindows8[lang]               = ['Windows 8']

4 - Add inside globals_lang.js:

On line 144:

lblWindows8=[];

Thanks and regards

Edited by myselfidem
0

Share this post


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