Chilkat Software Chilkat Software Chilkat Software
Chilkat Software Chilkat Software







Zip Self-Extractor
Version 14.5.0

Create self-extracting EXE files.

(The basic version of this software is FREE)



"ZIP 2 Secure EXE" is a utility program that creates self-extracting EXE files for Windows 95,98,Me,NT4,2000,XP,Vista,Server 2003,Server 2008, etc... Self-extracting EXE files are executable programs (EXEs) that contain a ZIP file and the software necessary to unzip the contents. Users can unzip the contents of a self-extracting EXE simply by running it like any other program. No other software is needed.

What Can You Do With This Program?

  • Convert a .zip into a strong encrypted self-extracting EXE using the Advanced Encryption Standard (AES) encryption algorithm.
  • Backup your security sensitive and important documents. As long as your password is secret, your files are safe.
  • Create software installations that only licensed customers will be able to install.

Unique Features

"ZIP 2 Secure EXE" provides features that may not be found in other self-extractors:

  1. Up to 256-bit Strong AES Encryption. Safely encrypts the contents of your ZIP file with 128, 192, or 256-bit AES Encryption. To unzip, a user must provide the same password that was used when creating the self-extracting EXE. AES encryption is much stronger than standard ZIP encryption, which is regarded by security experts as being unsecure. How strong is 128-bit AES encryption?
  2. Streaming Technology. Chilkat's streaming compression and encryption technology allows it to create an EXE from any size ZIP file under 4GB. The streaming compression and decryption technology ensures that it will be possible to unzip the archive on your end-user's computer, even if that computer has very little memory.
  3. Progress Indicators. A progress bar is displayed during the unzip process so your end-user can decide whether there is time to get a cup of coffee while his computer is unzipping an especially large ZIP file.
  4. Run from DOS in a Batch File. Pass the Zip filename by itself on the command line to create an EXE with no user interaction. Customization features may be passed on the command line.
  5. Run a Setup EXE after Unzipping When creating the EXE, you may choose to designate a Setup EXE to be run after unzipping. Command line arguments may also be pre-specified to be passed to the Setup EXE.
  6. Embed a Custom Icon Icon (.ico) files may be embedded in the self-extracting EXE.
  7. Customize Title and Caption Text The title bar and progress caption may be customized.
  8. Pre-set Unzip Directory It is possible to create an EXE that extracts to a pre-determined hard-coded absolute directory path, or a temp directory that is automatically chosen at extract time.
  9. International Filenames International (Asian, Eastern European, Greek, Middle Eastern, etc.) filenames are supported with the -cp command line option.
  10. DOS Environment Variables See this Chilkat blog post for information about using DOS environment variables on the DOS command line.

Screen Shot

Options Screen Shot

How to Create a Non-Encrypted Self-Extracting EXE

Use the Browse button to find the ZIP you want to convert into an EXE, then click Create. If your ZIP was named "", then an EXE named "myApp.exe" will be created in the same directory.

How to Create an AES Encrypted Self-Extracting EXE

Use the Browse button to find the ZIP you want to convert into an EXE. Select an encryption key-length (128 bit, 192 bit, or 256 bit), enter a password, and then click Create. If your ZIP was named "", then an EXE named "myApp.exe" will be created in the same directory. The created EXE will only unzip if you enter the same password.

How to Create a Self-Extracting EXE that Automatically Unzips to a Temp Directory and Runs a Setup Program

Enter the name of the setup program found in the Zip, and check the checkbox as shown in the screen shot above. As an example, if your Zip contains the files as shown below, you would enter "setup.exe" in the "Run this program" dialog text box.

Command Line Options

This program can be run from programs or scripts with the following command line options and arguments:

% ChilkatZipSE.exe -autotemp
         -run <exe_filename> -encrypt <128 | 192 | 256>
         -password <password> ZipFilename

If no options are provided, a non-encrypted self-extracting EXE is created that displays a window prompting the user to select a directory for unzipping.


Only valid when used in conjunction with the -run option. Causes the self-extracting EXE to automatically choose a temporary directory for unzipping without user intervention.
-run <exe_filename>
Causes the self-extracting EXE to automatically run an EXE found within the Zip after unzipping.
-encrypt <128 | 192 | 256>
Only valid in conjunction with the password option. Chooses 128, 192, or 256-bit AES encryption. The default is no encryption.
-password <password>
Sets the password for encryption. When unzipping, a dialog is presented to the user and he must enter the identical password for the decryption and unzipping to proceed.

Note: In version 12.0 and greater, shorter option names may be used

Long NameShort Name

Premium Options

Version 12.0 introduces premium command-line options. An unlock code may be purchased for $249.00. It is valid for all future versions of this software.

-u <unlock_code>
Unlocks the program allowing the premium command-line options to be used beyond the 30-day trial. An arbitrary string, such as "123ABC" may be passed to automatically begin a fully-functional 30-day trial. The only features that are non-free are the premium command line options. When run interactively, this software is completely free.
If the -run option is used to run an EXE after extracting, this option causes the self-extractor to exit immediately after starting the -run program.
If this option is used, the self-extractor's dialog is non-modal while the -run EXE is running.
-cfg <xml-config-file>
See below
-cp <oem_code_page>
Use a specific code page for filenames. This is useful for non-Western-European filenames. Your EXE will self-extract correctly regardless of the locale of the computer where it runs.
-d <pre_defined_unzip_dir>
Creates an EXE that will unzip to a pre-defined, hard-coded absolute directory path. Environment variables delimited with "%" characters can be used, such as "%TEMP%" or "%PROGRAMFILES%".
-dd <default_unzip_dir>
Specifies the default unzip directory to appear in the main dialog.
-ea "exe args"
Used in combination with the -run option. This string is passed on the command line to the EXE that is run after extraction. Use double quotes to enclose the exe_args.
-i <icon_filename>
Embeds a .ico file in the EXE that is created.
Suppress the main dialog. The main dialog includes a progress bar, so if it is displayed, then no progress dialog is displayed.
Suppress the progress dialog. A separate progress dialog is shown if the main dialog is suppressed.
Show the finish notifier dialog. (The finish notifier dialog is suppressed by default.)
-c "main dialog caption"
Custom text to display in the main dialog.
-t "main dialog title"
Custom text to display in the main dialog's title bar.
-pc "progress dialog caption"
Custom text to display in the progress dialog.
-pt "progress dialog title"
Custom text to display in the progress dialog's title bar.
-fc "finish notifier caption"
Custom text to display in the finish notifier dialog.
-ft "finish notifier title"
Custom text to display in the finish notifier dialog's title bar.
-pwc "password challenge caption"
Custom text to display in the password challenge dialog.
-pwt "password challenge title"
Custom text to display in the password challenge dialog's title bar.

Runtime Options

-ap "arg1 arg2 ..."
Specify command-line arguments passed to the autorun EXE. Using -ap at runtime will override any autorun arguments specified at create-time via the -ea option.
Executables produced by the Chilkat Zip 2 Secure EXE program automatically recognize the -unzipDir command line option, allowing it to be extracted into a specific directory without user intervention. The -unzipDir option will override other options embedded within the .EXE, such as -d or -autotemp.
-log "log_filename"
Creates a log file which can be sent to if problems are encountered.
-pwd "password"
Provides a password for encrypted self-extracting EXE's


--> ZIP 2 Secure EXE <--

Download, unzip to any directory and run.

More Information

About Self-Extracting EXEs

Setting File Properties on the EXE

Purchase Unlock Code for Premium Command Line Options:

Buy SFX ($249.00)

XML Config File (optional)

The -cfg option allows for an XML configuration file to be used. This section describes the format of the file.

The XML config file has this format.

<?xml version="1.0" encoding="utf-8" ?>
    <ExeFile>The filename of the self-extracting EXE to create.</ExeFile>
    <ZipFile>The filename of the zip from which the EXE is created.</ZipFile>
    <Password>Encryption password goes here (same as -password)</Password>
    	<ErrPwdTitle>Title for incorrect password dialog</ErrPwdTitle>
    	<ErrPwdCaption>Caption for incorrect password dialog</ErrPwdCaption>
    	<FinOkBtn>Text on finish notifier button</FinOkBtn>
    	<PwdOkBtn>Text on password challenge dialog's "OK" button.</PwdOkBtn>
    	<PwdCancelBtn>Text on password challenge dialog's Cancel button.</PwdCancelBtn>
    	<ErrInvalidPassword>Incorrect password error message.</ErrInvalidPassword>
    	<MainUnzipBtn>Text on main dialog's unzip button</MainUnzipBtn>
    	<MainCloseBtn>Text on main dialog's quit/exit button</MainCloseBtn>
    	<MainBrowseBtn>Text on main dialog's browse-for-directory button.</MainBrowseBtn>
    	<MainUnzipLabel>Caption displayed in main dialog.</MainUnzipLabel>
        <AutoTemp>"1|0" ("1" is same as -autotemp)</AutoTemp>
        <ShowFin>"1|0" ("1" is same as -fn)</ShowFin>
        <ShowMain>"1|0" ("0" is same as -sm, which suppresses the main dialog)</ShowMain>
        <ShowProgress>"1|0" ("0" is same as -sp, which suppresses the progress dialog)</ShowProgress>
        <WaitForSetup>"1|0" ("0" is same as -nowait)</WaitForSetup>
        <Encryption>"1|0"  1=Yes, 0=No</Encryption>
        <SetupExe>EXE to run after extracting (same as -exe command-line option)</SetupExe>
        <UnzipDir>Pre-defined unzip directory (same as -d command-line option)>
        <DefaultDir>Default unzip directory to appear in the main dialog. (same as -dd)</DefaultDir>
        <IconFile>Icon file to be used (same as -icon)</IconFile>
        <MainTitle>Same as -t</MainTitle>
        <MainCaption>Same as -c</MainCaption>
        <FinTitle>Same as -ft</FinTitle>
        <FinCaption>Same as -fc</FinTitle>
        <ProgressTitle>Same as -pt</ProgressTitle>
        <ProgressCaption>Same as -pc</ProgressCaption>
        <PwTitle>Same as -pwt</PwTitle>
        <PwCaption>Same as -pwc</PwCaption>



How Strong is 128-Bit AES Encryption?

What is the chance that someone could use the "DES Cracker"-like hardware to crack an AES key? In the late 1990s, specialized "DES Cracker" machines were built that could recover a DES key after a few hours. In other words, by trying possible key values, the hardware could determine which key was used to encrypt a message. Assuming that one could build a machine that could recover a DES key in a second (i.e., try 255 keys per second), then it would take that machine approximately 149 thousand-billion (149 trillion) years to crack a 128-bit AES key. To put that into perspective, the universe is believed to be less than 20 billion years old.

Privacy Statement. Copyright 2000-2015 Chilkat Software, Inc. All rights reserved.

(Regarding the usage of the Android logo) Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.

Send feedback to

Software components and libraries for Linux, MAC OS X, IOS (IPhone), Android™, Solaris, HP-UX, RHEL/CentOS, FreeBSD
Windows 8, Windows Server 2012, Windows 7, Vista, XP, 2000, 2003 Server, 2008 Server, etc.