WPI Basics

Suggested 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 to the right and browse to the WPI\Install folder then select the CCleaner.exe installer, Doins this will place the full path to the installer in the commandline section.
#9 Now modify the entry to read "%wpipath%\Install\CCleaner.exe" for proper use assuming you plan on having have the whole WPI folder at the root of your CD or hard drive.
#10 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.)
#11 Select the Save and then the Exit buttons and you have now configured your first app

Example

Click for larger image!

Afterwards you can use an app like nLite, vLite, CDImageGUI or the Makeiso program included in the tools folder 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 separated the tools out from the main archive. You can download the tools here:

Tools archive <-- Link!
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 new $OEM$ for WPI to start AFTER the desktop loads!

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

$oem$ folder <-- Link!
Contents of the $OEM$ archive:
cmdlines.txt
RunWPI.inf

Here is a quick start package that will set your windows disk up to use WPI with runonceex after Windows installation.
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.

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

$oem$ folder <-- Link!
Contents of the $OEM$ archive:
cmdlines.txt
RunWPI.exe (This will set the runonceex entries for WPI and the MCE theme for skinning the runonceex boxes.)

New Official Microsoft Zune Theme $OEM$ folder

$oem$ Zune folder <-- Link!
Contents of the $OEM$ archive:
cmdlines.txt
RunWPI_Zune.exe

_________________________________________________________________________________________________________

Here is a quick start package that will set WPI to start after first logon of a Vista installation. Simply place this sources folder at the root of your disk.

This is for all versions of Windows Vista!

Sources folder <-- Link!
Contents of the sources archive:
setupcomplete.cmd
(It has to be buried several folders deep so I already did that for you)

_________________________________________________________________________________________________________

Known Bugs\Issues!

There is a minor bug in WPI right now that adds an extra set of quotes on the reg before and reg after sections! Please remember to delete the set of quotes from the config section as WPI will add in a set on the reg sections.

There is a "cannot open reboot.js" file error that occurs with Microsoft office programs and hotfixes that we cannot overcome. We are try to track down the single hotfix that is causing this...

Basic Things to remember with WPI:

Some apps require extremely odd switches to install silently and register please go here --> MSFN's Applications forum section as most of the switches for these apps can be found there.

Please search the forum when you are having difficulties.

Forced install DOES mean forced it WILL install the app when WPI exits!

There is no longer a "lite" version of WPI but if you are really worried about size it can be GREATLY slimmed down by hand you can slim it from 3 1/2 megs down to @ 600 kb.

We are very open to suggestions and mods of WPI. Without these WPI would not be that app it is today.

Unless you are doing something advanced with WPI please use the install folder to store your apps.

USSF is not a full one stop shop for switches some apps simply are to odd or need advanced methods to install silently (Like auto-it).

WPI is not meant to only be ran during windows installations, you can run it at any time. Also you can optionally make a standalone WPI disk for easy accessibility.

Remember if you are already using a cmdlines.txt to just edit it when adding the contents of the $OEM$ folder.

WPI now supports the calling of several different switches like so:

        WPI.hta options=useroptions_mritter.js config=config_mritter.js check=Work timer=30

        If a path is not specified for the file, it will assume they are in WPIScripts.

        It will still check for:
        WPI.hta Work 30

        NOTE: Paths can be full (starting with a drive letter) or relative to WPI.hta (starting with '.\' or '..\') and must end in '.js'. Spaces are supported only if a path is provided and properly quoted: (config="c:\space in\file path.js").

To upgrade to a newer version of WPI all you need from your old WPI setup is the config.js file that is in the wpiscripts folder. Then you will have to reset all of the options.

FAQ

  1. Q: Which file do I edit so I can add my own programs and tweaks?

    A: There is now a configuration wizard that can be accessed from the main WPI interface.

  2. Q: How many apps can I install?

    A: Former versions of WPI supported up to 48 app. This has been changed to unlimited.

  3. Q: Progs are displayed in name sort order. Some apps are dependent on each other. How can I achieve correct install order ?

    A: Despite the progs are displayed in their names' sort order, they get installed in order of their definition in config.js. You can override this order by setting.

    order[pn]=[number]

    There's a field for it in the configuration wizard. It says 'Installation order'.

  4. Q: I'd like to run cleanup.cmd from WPI. How can I achieve this, so that it's executed at the end of all installations ?

    A: Since the release of 5.0 there is now an execute before and after section configured from the options menu.

  5. Q: What should the unattended CD's folder layout look like ?

    A: See the example here.

  6. Q: How can I make programs dependent on each other ?

    A: With version 2.9.9 this is now possible. The 2 dependent programs shall both have a unique uid.

    The dependent program must also have a reference to its parent. So you'll have to use the deps property.

    Set deps[pn]=['PARENTUID']. For an example, see the relationship between Office and its resource-kit in the the sample-config.

    A program can be dependent of more than one other progs. In this case, the deps property contains more than one entry:
    deps[pn]=['PARENT1','PARENT2',...].
    See the 'Office Primary Interop Assemblies' in the sample-config for details.

    Note: uid and deps ARE case sensitive !

    It's easier with the config wizard: Both apps must have an Unique ID. Program B is dependent of program A.

    thumb
    Click to Enlarge.

     
  7. Q: How can I change to install by category ?

    A: It's an option in the options wizard.

  8. Q: How do I add a free space after an application ?

    A: In your config.js program definition add a <br /> after the program name. Example:

    prog[pn]=['A sample program<br>']

    Do not add more than 1 linebreaks - the rendering would get messed up.

  9. Q: What does disableOnDepsNotMet do ?

    A: a06lp wrote a little tutorial. See here.

  10. Q: How do exclusions work?

    A: Imagine 2 apps PA and PB with uid=PA and uid=PB if PA should exclude PB and PB should exclude PA then

    excl[PA]=PB and excl[PB]=PA

    if only PA should exclude PB then

    excl[PA]=PB

    if program PC should exclude PA and PB then

    excl[PC]=PA,PB

    it wouldn't make sense to create counter-productive dependencies. PA shouldn't exclude PB if it's dependent on it!!

    deps[PA]=PB and excl[PA]=PB

    or

    deps[PA]=PB and excl[PB]=PA

    the code used above is pseudo code - don't use it in your config. the right syntac would be:

    excl[pn]=['PA'], excl[pn]=['PA','PB']

    in the config wizard you could just use PA,PB - the wizard makes the rest for you.

    DON'T FORGET TO GIVE EACH APPLICATION USED IN DEPS or EXCL A UNIQUE IDENTIFIER (uid)