WPI.
Download WPI Today.

Changelog

Version Revisions

Version 7.2.0 (November28th, 2008)

  • If check "Insert condition values or examples" checkbox, Conditions and Grayed Conditions will fill in values based on your computer or an example string will be entered to show how to use a function.
  • Updated pngbehavior.htc. It is now only loaded when needed. Some themes now require IE7 or higher.
  • Added a new tag for themes that require a minimum version of Internet Explorer. It must be on line 4. Example: mritter_euDock requires IE7+
  • Conditions tab in Information window now shows some details based on your computer.
  • Updated the Commands, Conditions/Grayed Conditions combo boxes to full menus.
  • Added Hardware tab to Information window (Alt+G).
  • Added Change Log tab to About window.
  • Added function getBaseBoardManufacturer() Usage: getBaseBoardManufacturer()=="ASUSTeK Computer Inc." Returns: Name of motherboard manufacturer
  • Added function getBaseBoardModel() Usage: getBaseBoardModel()=="K8VSEDX" Returns: Model of motherboard
  • Added function getVideoControllerID() Usage: getVideoControllerID()=="PCI\VEN_.........." Returns: PnP Device ID. See Alt+G Hardware tab
  • Added function getSoundDeviceID() Usage: getSoundDeviceID()=="PCI\VEN_.........." Returns: PnP Device ID. See Alt+G Hardware tab
  • Added function getNetworkAdapterID() Usage: getNetworkAdapterID()=="PCI\VEN_.........." Returns: PnP Device ID. See Alt+G Hardware tab Added function getWirelessNetworkAdapterID() Usage: getWirelessNetworkAdapterID()=="PCI\VEN_.........." Returns: PnP Device ID. See Alt+G Hardware tab Added function getModemID() Usage: getModemID()=="PCI\VEN_.........." Returns: PnP Device ID. See Alt+G Hardware tab
  • Added function getSystemEnclosureType() Usage: getSystemEnclosureType()=="Laptop" Returns: Laptop or Desktop Note: This cannot be checked by WMI, so it is based on whether or not a battery exists and a PCMCIAController exists. Not perfect by any means.
  • Added function getBIOSManufacturer() Usage: getBIOSManufacturer()=="Phoenix" Returns: Name of BIOS manufacturer
  • Added function getBIOSVersion() Usage: getBIOSVersion()=="PTLTD - 6040000" Returns: Short string BIOS version
  • Added function getSMBIOSVersion() Usage: getSMBIOSVersion()=="2.3" Returns: Short string BIOS version
  • Added function getBIOSCaption() Usage: getBIOSCaption()=="BIOS Version 73.08" Returns: Long string BIOS version
  • Added function getSysManufacturer() Usage: getSysManufacturer()=="Gateway" Returns: Gateway, Dell,..., To Be Filled By O.E.M.
  • Added function getSysModel() Usage: getSysModel()=="MX3231" Returns: a string with model or To Be Filled By O.E.M.
  • Added function getSysPCType() Usage: getSysPCType()=="Desktop" Returns: Unspecified, Desktop, Mobile, Workstation, Enterprise Server, Small Office and Home Office (SOHO) Server, Appliance PC, Performance Server, Maximum. NOTE: Mobile does NOT refer to laptops.
  • Added function getSysType() Usage: getSysType()=="x64-based PC" Returns: x64-based PC, X86-based PC, MIPS-based PC, Alpha-based PC, Power PC, SH-x PC, StrongARM PC, 64-bit Intel PC, 64-bit Alpha PC, Unknown, X86-Nec98 PC NOTE: The 'x' is not always lower-case.
  • Default description now set to program's name so tooltips won't show undefined.
  • Added a filter to the Config Wizard to only display the items in the selected category. More options to come later.
  • Took out the default categories to prevent errors with the new filter.
  • Added a prompt to confirm overwriting existing Options/Configs files.
  • Updated the CD/DVD drive check again. Should be no more pop-ups asking to insert a disc 4 times.
  • Updated Options -> General -> Categories Sort Order to use grid.
  • Added a check so can't try to save to a CD/DVD.
  • {EXTRACT} is now handled internally for more control.
  • Updated Options -> Audio Player to use grid.
  • When select a DOS command in the command drop-down box it will replace the current command. There can only be one DOS call per line, so it assumes you want to change it.
  • Updated the command string gadget to handle input better and reflect it in the grid.
  • Got the buttons to disable properly and not shrink/grow.
  • Added TerminateProcess() to internally kill a process so no longer need to rely on tskill or taskkill. This is done in Config wizard. Usage: {TASKKILL} notepad.exe
  • Extensively updated the Config Wizard:
  • Your config file will be updated automatically at first run.
  • Added a grid for navigation. It is sortable and uses keyboard shortcuts.
  • Tabbed the wizard to save vertical space.
  • Now has unlimited commands per entry.
  • Registry Before/After are now eliminated. They are now placed as first and last commands.
  • To do any other reg edits, pick RegEdit from combo box.
  • Updated the built-in commands to be encased in { } ie, {FILECOPY}, {REGEDIT} This will allow for easier expansion in the future.
  • More error checking capable in installer.
  • {TASKKILL} now handles Vista and XP/2000 family properly.
  • USSF updated to handle only 1 command line.
  • Quotes will be added when possible when updating.
  • Main command string gadget updated immensely.
  • Updated all the possible alert() call with my new Alert() that uses the built-in windows for a better look and customization, more buttons possible, self-closing after a set time, etc.
  • Your chosen options and config files are now remembered and loaded the next time WPI is started. Since it is saved in a reg key, this only works from the desktop. Otherwise you still have to use command line args to specify other files.
  • Fixed a bug with "Default install path" not being honored.
  • Fixed some tiny bugs in Options Wizard.
  • Occasionally USSF would erase the command line. It seems to always be at the first run. Now WPI runs it when first open Config Wizard to get it "initialized" properly. No guarantee it will fix the problem.
  • Updated About WPI window.
  • Made Install Order gadget only accept numbers.
  • Removed tabs skin Vista Default Dark. Use DHX Black instead.
  • Added 2 new buttons skins, DHX Black and DHX Blue.
  • Added 2 new grids skins, DHX Blue (used to be light) and DHX Black.
  • Added 12 menu skins for Corp_WindowsXP only.
  • Added 4 toolbar skins for Corp_WindowsXP only.
  • Added 3 new tab skins: Glassy Blue, DHX Blue, and DHX Black.
  • Created a new layout for the Config Wizard with a new grid and tab system. Not usable on 800x600 resolution.
  • Moved several options around in the Options Wizard.
  • Fixed a few bugs when saving a totally blank config.
  • New option: Options -> General -> Verify before installing if started from harddrive. If checked, will verify that you really want to do an install process if started from harddrive. Will not ask, even if checked, if started from cd/dvd. Prevent accidental installs when editting config.
  • When hit Abort in the installer, there is now an option, Open WPI, that will abort the installer and re-open WPI.
  • Improved the way the installer aborts when user halts the install process. It used to finish all the commands in the current item. Now it stops immediately.
  • Some virus scanners were complaining that USSF is a virus. It is not. It has been recompiled without UPX compression and can be decompiled for inspection.
  • Added a check so can't switch to/from Options/Config editors directly without closing the editor first.
  • Changed the way path variables are handled a little. %root% or %root%\ and %cdrom% or %cdrom%\ are acceptable now.
  • Fixed Execute Before/After to properly set paths (%wpipath%, %root%) and quotes.
  • The shell window is now not shown (flashed) for DOS commands and RegEdit entries.
  • Took out XML error message when doing Internet check at startup.
  • Updated code for all possible resolutions for ResChange.
  • By pure chance, midiboy needed to turn on script debugging in IE to send me a bug report. By doing this, it cured the problem of Office causing WPI to do an internal restart. Now WPI checks 2 reg keys and turns debugging on when started, closes itself, re-launches itself to let reg keys take affect, and back off if that was the original state when exits. This may also cure other mysterious anomolies people have encountered.
  • NOTE: The above only works on the desktop. When starting at RunOnceEx you must change the reg keys before WPI is started. The scripts and launchers are provided on the forum.
  • Custom fonts placed in the theme folder will now be installed automatically. Any number of fonts may be added, but they must occur between the theme version line and line: <meta content="WPI Theme 7.0+"> <meta font="myfontname.ttf"> <title>Windows Post-Install Wizard
  • Fixed 2 bugs dealing with random theme selection. Windows theme can now be deleted.
  • Added Shuffle to audio player.
  • Added to installer window: Count up timer; current item number of total number of items (5/25); computer name and user name.
  • Cleaned up the reboot code that had some code that was no longer needed, changed the way the log file was written, and several other small updates. This should prevent the installer from hanging on the "Could not open rb_config.js" error message.
  • Fixed a bug in the installer that would show the category line again after a reboot.
  • Now using JavaScript to install fonts internally. In the Tools folder, Fonts/fontinst.exe and Fonts/fontinst.inf have been removed and the Fonts folder moved to Graphics/Fonts. All the fonts in this folder will be installed if Tools -> Install fonts is checked.
  • getOSver() returns 08 for Server 2008.
  • Updated getOSver(), getOSeditionID() and getSPver() checks by using WMI.
  • Updated the cdrom check by using WMI.
  • Added function getFirewallProduct() Usage: getFirewallProduct()=="" Returns: name of firewall software/hardware registered with Windows Security Center.
  • Added function getAntiVirusProduct() Usage: getAntiVirusProduct()=="AVG Anti-Virus Free" Returns: name of antivirus software registered with Windows Security Center.
  • Got the grid colors to alternate properly and highlight the item that is being hovered over.

Version 7.1.1 (September 12th, 2008)

  • Dynaletik figured out the online update check. I was using google.com for the test, but in Germany, and probably a few other countries, it gets redirected, in his case to google.de. Therefore, the response would not come back properly and would fail. Now I am using www.wpiw.net.
  • Dynaletik updated German manual some more.
  • Now using RegEdit32 for 64bit reg edits.
  • Russian language file and manual written by stasys44.
  • Spanish language file updated by Alanparson.

Version 7.1.0 (September 1st, 2008)

  • Added check boxes to Execute Before/After to enable 64bit processing of scripts or RegEdits. See below.
  • Right click in text gadgets is back!!!!!!
  • 32/64bit shutdown.exe is now specified. Fixed a small bug with it.
  • Fixed a bug dealing with network share paths.
  • Shrunk and re-aligned the media player in the installer. This made the window shorter, also.
  • Added XP_06 progress bar.
  • Added Vista Dark tabs.
  • Made Installer window 86 pixels narrower.
  • Added a Grids combo box to customize the grid skin. There are 7 skins.
  • Now using grids to display large amounts of information, such as in the Information window (Alt+G).
  • Added 7 new Windows skins.
  • Added First and Last links on the main page for quick jumping.
  • Added a check box to Config wizard: Enable 64bit processing. Checking this will use the 64bit versions of RegEdit and cmd.exe, if on a 64bit system. It is still very beta.
  • Config text input boxes moves cursor to end when pick from drop-down boxes.
  • Added 2 more slider skins: default and Vista.
  • Made internet check an option in General -> Options.
  • An absolute path, not just Graphics folder, can be set for program icons.
  • Added an online update check button in About WPI.
  • Norwegian manual from rogergh. Thanks!
  • Fixed in the installer, after a reboot, the Success text was black, not green.
  • Made sure that ./Common/imgs/spacer.gif is used everywhere, not the one in the theme folder.
  • Added to Options -> General -> Options: Load desktop before installation starts. This will make WPI launch after the desktop is fully loaded. Use this with caution: 1) Install Windows, WPI is launched before desktop loaded, timer counts down or Begin Install, desktop loads, installation starts. 2) WPI started from desktop, timer counts down or Begin Install, WPI closes, installation will not start until system rebooted and desktop loaded.
  • Updated Sort Order list box to be like audio player box.
  • Added to Config -> Commands: RegDLL, UnRegDLL, and INF. RegDLL calls: regsvr32.exe /s %dll% UnRegDLL calls: regsvr32.exe /u /s/ %dll% INF calls: rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %inf% (%dll% and %inf% are your chosen files)
  • Added to Options -> General: Default install path. This allows you to choose what path is used by default, or a custom path, for all the Config entries.

Version 7.0.1 (August 3nd, 2008)

  • Added "native" tabs and buttons images for XP and Vista.
  • Fixed a few small bugs that sneaked through in 7.0 release.

Version 7 (August 1st, 2008)

  • Now cleans up after itself after an aborted installation and a restart and not continue installation.
  • Fixed the long loading time of large config.js files.
  • Added Style tab to the Options wizard. Can select from
    11 different Windows skins,
    5 Tabs skins,
    7 Sliders skins,
    32 Buttons skins,
    17 cursors (mouse pointers),
    11 Progress bars,
    12 installer backgrounds,
    6 installer logos.
    More to come......this is just a starting point.
  • Localized more strings. (Dynaletik)
  • Added line at end of installer log:
    Number of failed installations: 24
    You can quick look here to see if all went well or had errors.
  • Streamlined all of the themes. All css data is now loaded in WPI.hta.
  • Took out Extra Width and Extra Height gadgets for installer window.
    It is a fixed size now. Can be put back if people want it.
  • Took out 16 redundant images from every theme.
  • Removed optionbg from all themes. It was a redundant picture.
  • Moved all common images to either the common\imgs or the graphics folders.
  • Added JSCRIPT=TimedWaitForDelet(delay,file,secs) to wait for a file to be deleted. This can be used to check if an installer temp file has been deleted. delay=num secs before start checking, give the installer time to start.
    JSCRIPT=TimedWaitForDelete(10,"C:\Program Files\WinRAR\WinRAR.exe",10)
  • Added JSCRIPT=TimedWaitForFile(file,secs) to truly wait for an installer to finish. This can be used to check for the existance of the program's icon or exe before doing a reg tweak. (deadbug had original idea/code)
    JSCRIPT=TimedWaitForFile("C:\Program Files\WinRAR\WinRAR.exe",10)
  • Added JSCRIPT= to commands to execute a JavaScript function. (deadbug)
    JSCRIPT=alert("Opens a window")
    JSCRIPT=WriteRegKey("HKEY_CURRENT_USER\\Software\\WPI\\WPI_Rocks",1,"REG_DWORD")
  • Fixed bug dealing with RestartComputer not working if a %reboot% was done.
  • Fixed bug dealing with no default log file reg key being written.
  • About WPI is now opened in an internal window like below.
  • The manual is now opened in an internal window like below.
  • The Alt+G information page now opens in an internal window. This window can be moved and minimized when working in Config wizard to see all the functions and how to use them.
  • Added Corp_WindowsXP theme. This was a separate entity called WPI Corporate
    but decided to merge the two together. This theme is meant to look just like a regular Windows window with menus and tool bar. No fancy graphics. Meant to be used in a business setting where crazy graphics are not needed.
    Be sure to use "Show window border" in Options -> Window. There is still work to do in Config wizard......stay tuned for updates.
  • Fixed several bugs, updated a ton of code, streamlined code, etc.......
  • Updated the volume slider. Skinnable.
  • Took out 2 checks for CDROM. If can't find WPI.hta on an actual CD/DVD drive then cddrv (%cdrom%) defaults to %wpipath%.
  • Added function isInstalled().
    Usage: isInstalled("Adobe Reader 8.1.2")
    Returns: true or false
    WARNING: This could take from 5 to 30 seconds for each check!
    Does not work on Windows 2003.
  • Added function ConnectedToInternet().
    Usage: ConnectedToInternet()
    Returns: true or false
  • Added function getmshtaBits().
    Usage: getmshtaBits()==64
    Returns: 64 or 32
  • Updated the buttons to CSS buttons. Can be customizable in the Buttons
    folder in Common/imgs/Buttons. Change name in the theme style sheet. Size is
    important!
  • Added function getOSeditionID().
    Usage: getOSeditionID()=="HomePremium"
    Returns: HomePremium, Ultimate,... or "Not found"
  • Updated the installer:

    Whole new look and feel. More professional looking.
    List of commands is scrollable
    Each item is broken down by rega, commands, regb
    No longer using images for success/failed.
    Window and list are wider
    Current command line shown at top of list box

    The list will add the latest item to the bottom and scroll it in to view. If move scroll bar up to see previous entries, it will stay there. Scroll back down to bottom to resume scrolling.
  • Fixed a bug when creating a new Options file it would error at SortOrder line. (t4user)
  • Fixed a bug in the paths not inhereting their parent path properly.
  • Fixed a "bug" in the OSLang code. Now defaults to ENU if none specified.
  • Added function getOSlocale().
    Usage: getOSlocale()=="English - United States"
    Returns: English - United States
  • Start to use: getFileVersion() and getDriveLetters(), lower-case get instead of GetFileVersion() and GetDriveLetters(). Both will still work.
  • Added function getTotalRAM().
    Usage: getTotalRAM()>512
    Returns: 1024 (megabytes)
  • Added function getFreeRAM().
    Usage: getFreeRAM()>300
    Returns: 512 (megabytes)
  • Added function getFileType().
    Usage: getFileType("C:\test.txt")=="PNG Image"
    Returns: "" or type, ie, "Text Document"
  • Added function getFolderSize().
    Usage: getFolderSize("C:\windows\")>10000
    Returns: number of bytes or -1 if not exists
  • Added function getFileSize().
    Usage: getFileSize("C:\test.txt")>100
    Returns: number of bytes or -1 if not exists
  • Added function FolderExists().
    Usage: FolderExists("C:\test\")
    Returns: true or false
  • Added function DriveAvailableSpace().
    Usage: DriveAvailableSpace("C:")>75 or DriveAvailableSpace("C:\")>75
    Returns: 150 (gigabytes) or -1 if not exists
  • Added function DriveTotalSize().
    Usage: DriveTotalSize("C:")>=100 or DriveTotalSize("C:\")>=100
    Returns: 150 (gigabytes) or -1 if not exists
  • Added function DriveFileSystem().
    Usage: DriveFileSystem("C:")=="NTFS" or DriveFileSystem("C:\")=="NTFS"
    Returns: FAT16, FAT32, NTFS, or null.
  • Added function DriveShareName().
    Usage: DriveShareName("X:") or DriveShareName("X:\")
    Returns: null or a name like "\\server\share".
    Must be a mapped network drive.
  • Added function DriveVolumeName().
    Usage: DriveVolumeName("C:") or DriveVolumeName("C:\")
    Returns: "" or a name. C:\ is usually blank.
  • t4user translated the manual into French. Thanks!
  • Dynaletik translated the manual into German. Thanks!
  • Added "Window Coordinates" to Window tab which allows:
    Custom window width and height
    Open main window at specified x y coordinates
    Open installer window at specified x y coordinates
    Pick "Custom..." from drop-down box to enabled text gadgets.
  • Added command line args:
    theme=Evil_Vista no spaces!
    resolution=1024 the width
    800 = 800x600
    12802 = 1280x720
    1024 = 1024x768
    12803 = 1280x768
    1280 = 1280x1024
    12804 = 1280x800
    1400 = 1400x1050
    1440 = 1440x900
    1600 = 1600x1200
    16002 = 1600x1024
    1920 = 1920x1400
    1680 = 1680x1050
    19202 = 1920x1080
  • Fixed bug in Config wizard not opening Other... text box for category.
  • Fixed a minor bug picking which language for the manual.
  • Added function getComSpec().
    Returns: C:\WINDOWS\system32\cmd.exe
    or other appropriate path.
  • Added function getArchMHz().
    Usage: getArchMHz()1800
    Returns: 2002 (2GHz)
    Return: 1496 (1.5GHz)
  • Added function getNumProcs().
    Usage: getNumProcs()1
    Returns 1, 2, 4, etc.
  • Added function getArchIdentifier().
    Returns: x86 Family 15 Model 4 Stepping 8
    Returns: x86 Family 6 Model 13 Stepping 8
  • Added function getArchNameStrings().
    Returns: AMD Athlon(tm) 64 Processor 3200+
    Returns: Intel(R) Celeron(R) M processor 1.50GHz
  • Added function getArchName().
    Usage: getArchName()=="AuthenticAMD"
    Returns: AuthenticAMD, GenuineIntel, etc.
  • Added function getBits().
    Usage: getBits()==64
    Returns: 32 or 64
  • Added function getArch6432().
    Usage: getArch6432()=="AMD64"
    Returns: AMD64 or NOT_DEFINED.
  • Added function getArch().
    Usage: getArch()=="AMD64"
    Returns: x86, AMD64, or IA64 (Itanium).
  • Added to Tools tab: Time stamp log file. The log file can now time stamped: WPI_Log_2008.06.02_22.36.34.txt for testing purposes. Keep an eye on the log path, it can fill up quickly!
  • The log file command lines are now 1 line for easier reading.
  • Updated Installer.hta to deal with css better.
  • Updated "About WPI" code to auto-update.

See the FULL WPI Changelog