Help - Search - Members - Calendar
Full Version: WPI v6.5.1
MSFN Forums > Member Contributed Projects > Windows Post-Install Wizard (WPI)

   
Google Internet Forums Unattended CD/DVD Guide
Kelsenellenelvian


Windows Post-Install Wizard (WPI for short) is a hypertext application designed for giving users choice. While Windows XP offers many ways of customizing the setup process out of the box, its major drawback is the lack of being able to select which applications an end user may install. In the past, end users and administrators needed to either download the files manually, or create overly complex scripts that could only be used once. WPI allows you to create one image, which can then be custom configured, and optionally, automated, so that end users can install any applications that have been configured into WPI.

New Windows Style Theme:



New Server Style Theme:



New Vista Style Theme:





Here is the 6.5.1 changelog:

CODE
6.5.1 Updates - Released June 4, 2008
Fixed the audioplayer in the installer mode
Fixed the missing "Other" category box
Added german manual
updated a couple of minor other problems.
Fixed the nasty copywrite symbol that appeared in the excludor section...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



6.5 Updates - Released June 1, 2008
-------------------------------------------------------------------------------
* Added command getOSlang(). Returns a three letter code: ENU, FRA, ITA, etc.

* Fixed bug with default options not saving properly. Now done before Options
wizard is opened, and again when opened.

* Took tips back out of Options and Config. Maybe temporarily.

* Fixed a bug in excludorIsChecked().

* Kel wrote a new manual.

* Added Finnish local text.

* Updated all themes to be v6.5 minimum and consistant code.

* Took View Source out of all themes.

* sadicq updated USSF to handle the 10 commands in Config.

* Bernard DUJARDIN (t4user) coded some major enhancements:
* Added a check before closing if made any changes in the Options or Config.
* Put tips back in Options and Config.
* Foreign language check.
* Fixed bug in Sort Order box and localized it.
* CreateTab() and LocalizeText() updates.
* Tool tip code update to work in Optons and Config properly.
A huge thank you for this code.

* Fixed a potential bug in timers.js that could get the timer started
twice and not stop when supposed to.

* Updated themes Server, Windows, Vista, and XPize Dark to new code call
SetupWPI().

* WPI now calculates how many items can be in a column. You can customize it
in wpi.htm in the theme folder. Un-comment and change the line:
// maxentries += 2; // Set your custom number of items per column

* Fixed a bug in the theme check in Options wizard.

* Added a volume control slider in Options -> Audio Player.

* Added more screen resolutions.

* Localized some texts in Options and Config wizards.

* Tweaked the Options tab to have the gadgets size themselves better.

* Added Window tab to Options. You can now specify how to open the WPI window:
with or without a border, gadgets, etc. NOTE: These settings are global and
will affect all themes.

* Fixed the Reg Before/After quotes bug. For sure this time!

* Fixed some miscellaneous "bugs" in the installer.

* In WPI_Log.txt it now shows the number of items being installed, and the
total number of commands in those items.





Notes and Extras

Suggested disk folder layout:



With the above folder layout all your config entries should read like:
%wpipath%\Install\Blah.exe]


Here is a small tutorial on how to add an app to WPI!


Ok this is a sample (Very simple) configuration for CCleaner (A.K.A Crap Cleaner)
This assumes you have all of the WPI files either in the WPI folder at the root of your Windows cd or all of the WPI folders (Common, Graphics, WPIScripts, Tools, Install and Themes) and the file WPI.hta at the root of your cd.

Remember this is just the most basic and required entries for a program!
#1 Download the app and place it in the WPI\Install Folder. (CCleaner.exe in this example)
#2 Run WPI.hta and click on the "Config" button\Icon area.
#3 Choose the button at the very top above the config section that says "Add"
#4 Enter in the name section "CCleaner" <--No quotes! Then click on any other section of the config area to activate the rest of the wizard.
#5 You will notice the Unique ID section gets automatically configured for you.
#6 All apps are selected to be installed by default right from the start so if you don't want it selected by default you must uncheck this box. Also you can decide if you want this app to be a "Forced Install" or not.
#7 Choose a category for your app to be displayed in. If you want the app to be displayed in a category you don?t see simply chose other and a box will appear that will allow the entry of you choice.
#8 In the Command 1 section click on the little folder icon and browse to the WPI\Install folder and select the CCleaner.exe installer, this will place the full path to the installer in the commandline.
#9 Add the necessary switches for the program to run silently i.e. "%wpipath%\Install\CCleaner.exe" /s (This can be easily done for most standard apps by simply clicking on the USSF button on the far right of the commandline.)
#10 Select the Save and then the Exit buttons and you have now configured your first app!

Afterwards you can use an app like nLite, vLite, CDImageGUI or the Makeiso program included in the tools archive to make your CD w\WPI bootable again. MakeIso.exe = Adds "make bootable iso" to the right click menu of folders. It is a silent installer so DO NOT click on it 50x a simple double click is all that is need to install it. It can be uninstalled from the add\remove programs menu! Just go to the "Source" folder (The one that contains I386 and WPI) and right click then select MakeISO...

_____________________________________________________________________

I have seperated the tools out from the main archive. You can download the tools here:

Tools archive.

Contents of the tools archive:
WPI Config Lister
CDSwitch
MakeISO.exe
3 Custom themes for CDSwitch
autorun.inf <-- Updated and fixed
WPI.ico New icon thanks to WolfX2
TaskKillS.exe from sadicq
TaskKillS Instructions
Cleanup.exe (Deletes ALL icons from the desktop)
Reboot.exe (Dialog box that will reboot in 60 sec unless cancel is pressed)
_____________________________________________________________________

Here is a quick start package that will set your windows disk up to use WPI after the desktop loads.

This is for use with all versions of Windows 2000, XP and 2003!

To make use of this archive all you need to do is unRAR it and place the %oem% folder beside the I386 and WPI folders.

Post $OEM$ Folder (The forum is messing up this link so copy www.wpiw.net/downloads/Post_$oem$.rar )

Contents of the Post %OEM% archive:
cmdlines.txt
RunWPI.inf
_______________________________________________________________________

Here is a quick start package that will set your windows disk up to use WPI with runonceex.

This is for use with all versions of Windows 2000, XP and 2003!

To make use of this archive all you need to do is unRAR it and place the %oem% folder beside the I386 and WPI folders.

$OEM$ Folder (The forum is messing up this link so copy www.wpiw.net/downloads/$oem$.rar )

Contents of the %OEM% archive:
cmdlines.txt
RunWPI.exe (Sets the runonceex and MCE themeing entries used for WPI)
_______________________________________________________________________

NEW!!!

An $OEM%\WPI folder that sets up your WPI for RunOnceEx with the official Zune Microsoft Theme!

$OEM$-Zune Folder (The forum is messing up this link so copy www.wpiw.net/downloads/$oem$-zune.rar )

Contents of the %OEM%-Zune archive:
cmdlines.txt
RunWPI_Zune.exe

Use is as the same as the one above...
_______________________________________________________________________

This is for use with all versions of Windows Vista!

To make use of this archive all you need to do is unRAR it and place the Sources folder at the root of your CD.

Sources Folder.

Contents of the Sources archive:
setupcomplete.cmd (This needs to be several folders deep so I preset the folders for you)
________________________________________________________

1978 .png images for your pleasure to use in your tooltips or whatever!

PNG Collection.
________________________________________________________



Themes are now hosted on WPI.net!!!




Please remember and donate!
anonymous_user
So what exactly did you change in the themes?

Also you missed one biggrin.gif

Oh and thank you for the new WPI Kel
mritter
Dowloaded it and will get it posted.

Mostly it is code REDUCTION and cleaning. Added 2 new timer css classes; centered the <div>'s properly; new sizer() that determines the numbers of items per column automatically; custom theme code call; all in all, just more consistant with all themes for easier updating.
Kelsenellenelvian
P.S. MOST of this versions credit goes to Mritter and t4user!!!

Thanks guys!
Kelsenellenelvian
Bugs 'r fixed!

Please grab 6.5.1
Dynaletik
Big thanks for the fixing update! smile.gif
Dislocated Time
Hello.
I deleted my older version and used the new version. I did however use the old config.js.
I promptly got this message:

"JavaScript Error Report

Message4: 'cond[...],0' is null or not an object
Url: file:///X:/HFSLIPXPENG/SOURCE/WPI/WPI.hta
File: check.js
Function: excludorIsChecked()
Line 465"

I read that one of the bugs that you got rid of was exactly this bug, so I don't understand how that happened.

Any idea what I could do to get it to start working again?
I did put a lot of work into my config.js.

I opened line 465 of check.js with win32pad and here's what it looks like:

var c = unescape(ReplacePath(cond[i][0]).replace(/\\/g, "\\\\"));

Interestingly enough, win32pad marks the last 4 backslashes in the line blue and underlines them (that might be a hint as to what's wrong). The backslashes in lines 247 and line 351 are marked in the same manner though.

The following things I noticed might also help you:
The "Applications" checkbox is grayed out. I cannot put a check in the checkbox.

I configured a special category called "security".
In this section there are antivirus scanners that cannot be installed with one another.
When I put a checkmark in the box of this section the error message appears.

The error message also appears when I attempt to select defaults, as well as all or none of the applications.

I configured a different category called "browsers".
I can put a checkmark in this category and all browsers are checkmarked.
----------------------------------------------------------------------------------------------
A small update:
I erased the excludes. All antivirus programs can now be selected together.
Now the error message no longer appears BUT now both the "applications" and the "security" checkbox cannot be checkmarked and are grayed out.
I'll keep toying around with it in the hopes that I can figure it out myself.

Dynaletik
Could you perhaps attach your config.js file without serials etc? I think this has to do with one of your conditional statements.
G_DuB24
i am trying to upgrade to the latest verion

what files do i need to copy over from the 6.3 version?

mritter
I think I may know what the problem is. Testing as I write.............
mritter
In check.js find

CODE
function excludorIsChecked(i)


and change this line

CODE
if (!eval©)


to

CODE
if (!eval(c))


Not a copyright symbol. Don't know how that got in there in "chinadoug"'s post, but it did.

There will be a newer 6.5.1 archive to download with this fix soon.
Kelsenellenelvian
OK its up!
Draven
I get that same error about line 465. I just downloaded this file and there is no copyright symbol in line 469.

Dislocated Time
Error also still happens to me whenever I use excludes (even though I have changed the © copyright symbol back to a "c" with two parentheses).
Dislocated Time
I changed the copyright symbol back to two parentheses with a "c" in the middle, but that hasn't helped me with the Function: excludorIsChecked() problem. Unfortunately I can't get my config.js to upload otherwise I'd show it to you.
If you want, I can post the whole content, but since I have over 75 programs already in WPIW, it's a bit of reading to do.
Dislocated Time
If you've read up on WPIW, you'll know that you shouldn't overwrite your config.js file, otherwise all the programs that you added and configured are gone.
Dislocated Time
My config.js (at the end, I've also attached my check.js)
I've deleted some of the comments at the beginning and added my own.

I've deleted the majority of your post ~~ Kel ~~ Please use the attachment feature on the forum or [ codebox] tags
Dislocated Time
My new approach:

Installing both the older and newer versions of WPI parallel and using the same config.js in both.

In the older version WPI sets the beginning column on the right side, leaving one column of free space. I found out that this was due to the entry "pn=1;" in the config.js. When I changed this entry to "pn=0;", the column started correctly on the left side. Whenever I made any changes to the configurations however, WPI automatically changed it back to the wrong starting position and when I looked in the config.js, the entry I had originally changed was changed back to "pn=1;". This has been solved in the newer version of WPI, where the columns start at the right position.

In the newer version of WPI, when using the exclude function and thereafter exiting to the installation routine, the following happens which does not happen in the older version: sleep.exe is called and thereafter, the error message which I mentioned in my original forum entry. This is not solved by changing the copyright sign back to a "c" in 2 parentheses as MRitter suggested.

I am just using two programs that exclude one another - AVG and AVAST.
There is the possibility to just use the exclude function in just one of the programs or to use the exclude function in both so that they exclude each other in the exact same manner.

I am continuing to test this function from different angles and will keep updating this same message with the results that I have empirically found out.

In the newer version, when I have any excludes, the moment when I exit to the installer program, the message appears "JavaScript Error Report Message: 'cond[...].0' is null or not an object URL:file://X:\HFSLIPXPENG\SOURCE\WPII\WPI.hta File:check.js Function: excludorIsChecked() Line 465"

The older version does not trigger this error message.

I don't know very much about Javascript yet, but what I do notice is line 472. In most of the javascript, the variable Cat is used with a capital C and in some places with a small C. On line 472 the word catch is used. I have no idea about if you use this term for CatCheck or if it really means catch, but in any case, there is a chance that the program might confuse Cat and catch as being the same variable with ch at the end. Is this really intentional? When I looked through the older version of the check.js where the function works correctly, I could not find the word "catch" in the text.
Kelsenellenelvian
Weirder and weirder. I appreciate your testing please keep it up.

Busy Busy Busy days though it'll slow down in a coupla days and then i can look more.
Dislocated Time
Read my previous message.

BTW - a little affair with the partner of a senior PayPal exec rules out the PayPal possibilty. I'd appreciate it if you made a different possibility possible.
G_DuB24
I have had problems when having both the newer version of WPI and the older versions on my system.

i was editing the older versions of my wpi when i noticed that there was an update. i did not quit know how to go about doing the upgrade and i did not receive any reply to my question so i went ahead and tried it myself. I figured out that the config file was the one that i was going to need to get copied over and this is how it happend.

initially, i thought i had copied the config file to the new WPI. I continued to work on the NEW version thereafter. Keep in mind, that i am only trying to set different backgrounds and move some of the icons around to customize my WPI screen. I was not doing any entries into the config file. after hours of trial and error at trying to change the border sizes and other stuff, i finally got it to look how i wanted it thumbup.gif

everything was perfect except the tooltip box was too short, but whatever. i deleted my old WPI folder and files. now this is where my moment of glory turns into s***. i double click the WPI icon to admire my work one last time before i go to sleep (@ 9:30 am wacko.gif wacko.gif ) and all i see is my background settings and no text. mad.gif

i remember the exact thing happening to me before. this was the exact reason that i quit working on my WPI project. I deleted the older version, and then the new version that was working fine, stoped working. At that point, i couldn't figure it out...so i retired WPI half completed and under construction.

Anyways, back to yesterday. It made no sense to me but i decided to restore the deleted WPI folder for 6.3 i think (6.5 is the new one right?). I KNEW if i restored that folder, my WPI v6.5 would work. And guess what, IT DID. When nothing works right, or makes sense, join the situation and do something that makes no **** sense too. It seems to work quite too often. I understand what "Stupid is, is stupid does" means now blink.gif

i think the config file is getting located somehow by the application. Is it set to search only within the orig WPI folder, or just that specific file? There were a few times where i would run it and my applications would finally show up, but the theme settings were not the same. weird stuff.

Forgot to mention that i was using the Glossy Theme for the 6.3 and when i copied that over, i was informed it was not compatible with the new one.


this is how i had my wpi folder structured:

WPIProject/wpi 6.5/WPI <--- i ran THIS WPI Application. There was no config file located here.
WPIProject/wpi 6.3/WPI <--- the config file that was being used by WPI 6.5 was located in this WPI folder.

after deleted and restoring about 8 times, i finally figured out i was missing the config file. LONG story...but hopefully my point was made.
I guess when the stupid train picks you up for a ride there no getting off.




Kelsenellenelvian
I am sorry I missed your original post. Yes you are right config.js IS the key and wpiscripts is the folder it is looked in for.

Themes were massivly updated in the last 2 releases so the 6.3 wpi.htm will not be compatable with the new format.

Could you kindly attach your config.js to your newt post (remove any serials) it may help with testing a couple of bugs that have cropped up.
G_DuB24
mad.gif now im getting errors

i passed my mouse over my BORGChat application in WPI and in the tooltip, it was X'ed out, so i went into the config file and i did not have the path to the folder set to either the install or the image. So, i did that. That is when i started getting all these errors.

This is the error i get when i try to launch WPI
Click to view attachment

I do not have any categories. this is all i see when i select the drop down box
Click to view attachment

This is the error message i get when i exit out of the Config tab
Click to view attachment


here is my config file
Click to view attachment

thx for ur time
Kelsenellenelvian
You have a half finished entry in the topmost section of your config.js file... (where the first actuall entry should be.)

I have removed it and all is fine.
Twisten
edit: moved to bug tracker to make things neater.
t4user
QUOTE (Dislocated Time @ Jun 8 2008, 03:41 AM) *
I don't know very much about Javascript yet, but what I do notice is line 472. In most of the javascript, the variable Cat is used with a capital C and in some places with a small C. On line 472 the word catch is used. I have no idea about if you use this term for CatCheck or if it really means catch, but in any case, there is a chance that the program might confuse Cat and catch as being the same variable with ch at the end. Is this really intentional? When I looked through the older version of the check.js where the function works correctly, I could not find the word "catch" in the text.


catch is a reserved word and a trap for error in a try..catch statement i.e try some work and if error execute catch statements. We call this kind of errors as exceptions (like file not found, disk full, etc.).
Cat & cat are differents Javascript distinguishes uppercase and lowercase . There are no possibilities for javascript to make confusion between this 3 identifiers.
mritter
I posted a bug fix on this problem. Download it, test it, report any problems/success in that message thread, not here.

http://www.msfn.org/board/excludorIsChecke...or-t118800.html
G_DuB24
thanks...i found it myself after reading what u wrote

lol...didn't comment out my template.

learned my lesson...no more troubleshooting after hour 6 wacko.gif wacko.gif


thank kel
MAVERICKS CHOICE
All Kool for Jule here Kel with latest version & no dramas.
hukiller
one question Why i can't copy/extract file in the Porgram Files(x86) AND Program Files folder. all wpi version bugs on vista!!!!!
Kelsenellenelvian
One answer!! Most likely UAC...
mr_smartepants
One bug to report:
When using the "Vista" theme, clicking the "Manual" icon spawns about 8 duplicate IE windows all displaying the manual.
The other themes work correctly.

Weird.
HeyMister
Can it remove applications that it didn't install?

Kelsenellenelvian
Actually yes most installer can be called with switches to launch and run them silently.
HeyMister
I misunderstood what WPI was for.

I see my error now. Thank you for your quick reply.




COKEDUDEUSF
Thx for this in depth guide. I've been trying to figure this out for awhile.
Stoner81
Thanks for this awsome app m8y it sure makes life a lot easier to fully customise our installs!!

Thanks a million!!!

Stoner81
Iskander Novena
I just downloaded WPI and am trying to set it up.. Although trying is not so much the case as it's pretty much just setting it up..

I get the same error as mentioned earlier about excludorIsChecked.
It happens with me for an app that I have set a language-condition for.
When I remove that condition, no error pops up.
Also, I cannot find the getOSlang-function in ANY of the WPIScripts... Is this part of the code-REDUCTION mentioned in the changelist? newwink.gif

EDIT: Sorry, got posted as a reply to the wrong thread.... Nonetheless, the absence of getOSlang is an issue.
I've added it manually to the end of core.js (as suggested in previous posts) and now at least that works, but still an error.
Iskander Novena
OK, the getOSlang is (still) a problem.

mritter had posted a patch previously which I overlooked, where on line 465 'cond[i]' had been changed to 'cond[j]' which solves the error on line 465 for me...
Stoner81
Awsome work here guys thanks a million for this I have no updated to v6.5.1 thanks again folks!!!

Stoner81
Google Internet Forums Unattended CD/DVD Guide
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.