GUiPeX v2.0 - A Free UPX Front-End for Windows

Introduction

GUiPeX, pronounced "GWEE-pex" (see screenshot), is a name taken from GUI (Graphical User Interface) and UPX. UPX, a free DOS command-line tool, is a portable, extendable, high-performance executable packer for several different executable formats. It achieves an excellent compression ratio and offers very fast decompression. Your executables suffer no memory overhead or other drawbacks. Since UPX is a DOS tool, I thought I would write a simple GUI front-end for use in Windows. The primary use for GUiPeX is for software developers to compress their programs before distributing them to their customers or posting them on the internet. This makes the final file sizes much smaller (up to 75% smaller) for faster file transfers. However, anyone can use the tool to compress files on their systems to increase free disk space.

Installation

To install GUiPeX, simply click here to download the setup file (freeware, 803KB, uploaded 10/11/2011, supports all 32/64-bit Windows). After downloading, launch the setup file and follow the simple on-screen instructions. Should you wish to remove GUiPeX from your system, use the "Uninstall" menu option from GUiPeX's Start Menu program group, or use the "Add/Remove Programs" Control Panel applet.

Usage

The main screen is separated into three "sections": the "Files to Compress/Decompress" listbox, the "UPX Commands" to run, and the "UPX Output" to show the output of the DOS UPX tool for each file. Using the program is simple: with Windows Explorer, drag the files to compress into the "Files to Compress" listbox, select the UPX Commands, then press the "Run" button. Notice the total file size before and after running the UPX commands, which will automatically be updated with ANY changes to the list of files. The small graphics to the left of the filenames after pressing the Run button provide some information:

  • A green arrow next to the filename means the UPX commands are currently running on this file
  • A green check means the file was successfully compressed/decompressed/tested
  • A red 'X' or warning symbol means UPX did not successfully compress/decompress/test the file. Double-clicking the filename will quickly show you the UPX output for this file in the "UPX Output" box.

Once completed, GUiPeX will output the results from UPX into one output in the "UPX Output" box. If you need to remove some files from the list, press and hold the CTRL or SHIFT key while selecting multiple files with your mouse, right-click for the menu option and then select "Delete Entry" or press the DEL keyboard key.

Note1: Dropping files into the listbox does not copy the files anywhere. GUiPeX simply just stores the path to each file, and will run the UPX commands on the files from their original places.

Note2: If enabled, GUiPeX also will scan the folder and all subfolders for the files. See "Options - Files to Compress" below.

If you are going to run the same UPX commands on the same list of files in the future (such as software updates, etc.), you can save the "project" by clicking on the Save button and specifying the project name. The project will be stored in the GUiPeX\Projects subfolder in an INI-formatted file and will be available in the "Open" menu option or tool bar button. To delete this project, press the "Delete" toolbar button.

Command Line Parameters

The only parameter GUiPeX supports is the project name to automatically load and run (surrounded by double-quotes). For example, if you have a project named "My Apps", the sample command would be:

C:\Program Files\GUiPeX\GUiPeX.exe "My Apps"

GUiPeX will then load the project, run it, and then (if specified in Options below) save the UPX output to a log and close. The log file will be stored in the GUiPeX\Projects folder. This is useful for automatic software builds and you want to compress your software files without any user intervention. Note for UAC-enabled Windows: Windows that have UAC (User Access Control) enabled prevents applications from writing to files in the \Program Files directory. The GUiPeX projects and logs will instead be created in the "VirtualStore" directory which is controlled by Windows. For example, on Windows 7 x64, if you installed GUiPeX into "C:\Program Files (x86)\GUiPeX", then the projects and logs are stored in "C:\Users\<user>\AppData\Local\VirtualStore\Program Files (x86)\GUiPeX\Projects".

Options

These are the options available in the GUiPeX Options dialog (accessible via the Tools | Options menu):

  • UPX Location
    By default, UPX v3.07 is installed with GUiPeX to run the UPX commands (located in the GUiPeX folder). However, you can specify a full path to your installed copy of UPX.EXE. If providing the path to UPX.EXE on your system, the version info of the selected file will be shown on-screen.

  • My UPX Defaults
    When creating new projects, GUiPeX will load the command settings you stored on this tab. Your settings can also be loaded by clicking on the "Load My Defaults" button on the UPX Commands section. For a description of the commands, hold your mouse over the command option to display the hint. To retrieve the DOS UPX defaults, click on the "Load UPX Defaults" button.

  • Files to Compress
    By default, GUiPeX will only accept files drag/dropped onto the program if the extension is either DLL, EXE or OCX. To add support for additional file types, click the Add button and enter the file extension (without the period). For example, to add support for Borland Package Libraries, click Add and enter BPL. GUiPeX will then accept BPL files. This is useful when dragging an entire folder onto the program without having to deselect the files you can't compress (such as DOCs or TXTs).

  • Program Options
    The "Hide popup hints" option, if checked, will prevent any hints from displaying when a mouse is positioned over the controls. This is useful if you know the application well enough to not need the informative hints that most of the controls provide.

    The "Shut down GUiPeX after completing loaded project from command line" option is just that: this will instruct GUiPeX to close after completing a loaded project from the command line (see Command Line Parameters above). This will also write the UPX output result to a log file so you can know the results of the UPX commands. Note for UAC-enabled Windows: Windows that have UAC (User Access Control) enabled prevents applications from writing to files in the \Program Files directory. The GUiPeX projects and logs will instead be created in the "VirtualStore" directory which is controlled by Windows. For example, on Windows 7 x64, if you installed GUiPeX into "C:\Program Files (x86)\GUiPeX", then the projects and logs are stored in "C:\Users\<user>\AppData\Local\VirtualStore\Program Files (x86)\GUiPeX\Projects".

  • UPX Threads
    If this options is enabled, GUiPeX will lauch UPX commands using threads, but only 10 threads will run at a time to reduce the risk of running out of system resources. You can also specify the priority of the UPX threads with regards to other running applications: Normal, Higher, or Highest. Be careful if using the Highest setting since this can make other applications unresponsive while the UPX threads are running.

    If this option is unchecked, GUiPeX will run the UPX commands on one file at a time in the list.
History

v2.0 10/11/2011
- Now installs UPX v3.07 to compress / decompress files
- UI and graphic updates
- Fixed painting problems on newer OS. Now no longer seems to "hang" up when moving mouse over menu or toolbar buttons.
- Added new "Compression Tuning" options - Brute and Ultra Brute
- Removed the "Best Compression Level" option since it's not available in newer versions of UPX
- Added ability to show the configured UPX commands in the output
- Added missing "Compress all icons not in 1st dir" UPX icons option
- Removed multi-language support due to lack of resources
- Show number of success, warnings, and errors in output
- Show total file size in output before and after running commands

v1.4 5/13/2003
- Added Czech Language Pack (thanks Vladimír Šupšak)

v1.4 11/10/2002
- Now internally uses UPX v1.24 to compress/decompress files
- Added multi-language support (German and English for now). Please email me to send in your translations!
- Minor UI updates (Theme Manager, XPMenu)

v1.3 6/9/2002
- Added support for UPX v1.21
- Added "Add files" popup menu option
- Minor UI updates (Theme Manager, XPMenu)
- Minor misc bug fixes

v1.2 3/11/2002
- Improved Windows XP support