Programming Windows

How to Make an “EXE” Installation File

Joel Lee 17-05-2017

What do you do when you’ve created some new Windows software — anything from a simple diagnostic tool 13 Windows Diagnostics Tools to Check Your PC's Health Use these computer diagnostic tools to run a PC health check and fix issues. Some support Windows 10 diagnostics, specifically. Read More to a complex PC video game 5 Free Game Development Software Tools to Make Your Own Games Free game development software is a great way to start video game making. We've compiled the best game software on the market. Read More — and you want to share it with the world? Well, you could compress the files into a single ZIP file and distribute that.


Or you can be fancy and create an installer EXE instead.

We’ll be covering three different methods in this post: a self-extracting package, a simple installer using the built-in IExpress, and an advanced installer using the customizable Inno Setup.

Quick Method: Using 7-Zip

You probably already use 7-Zip for extracting all kinds of archive files How to Extract Files From ZIP, RAR, 7z and Other Common Archives Were you ever faced with a .rar file and wondered how to open it? Fortunately, managing ZIP files and other compressed archives is simple with the right tools. Here is what you need to know. Read More , and you probably already know that 7-Zip can create archive files, but did you know that you can also use it to create an EXE file that acts like an installer?

It’s called an SFX archive (“self-extracting”) and works by compressing all of your end files together, then embedding a special EXE file inside the archive that knows how to extract everything. In other words, the recipient can extract the SFX archive (which appears as an EXE file itself), even if they don’t have the right software, which can happen with formats like 7Z, RAR, TAR, and ZIP.

How to Make an "EXE" Installation File create installer 7zip


How to create your own SFX archive with 7-Zip:

  1. Prepare all of your files and directories within a single main directory and name the directory whatever you wish.
  2. Right-click on the directory and select 7-Zip > Add to archive…
  3. Under Options, enable Create SFX Archive and select the following settings…
    > Archive Format: 7z
    Compression Level: Normal
    Compression Method: LZMA2
    Dictionary Size: 16 MB
    Word Size: 32
    Solid Block Size: 2 GB
  4. Click OK. Done!

Note that SFX archives aren’t true installer files. They don’t place the extracted files into a designated target directory. They don’t modify the Windows Registry. They don’t create install logs and they don’t show up as “installed software” in the Uninstall app. They are literally archive files dressed up as EXE files.

Download7-Zip (Free)

Easy Method: Using IExpress

IExpress is a utility that comes bundled with versions of Windows starting with Windows XP and beyond. The utility comes with a front-end graphical interface (called IExpress Wizard), but you can also create installer files using hand-scripted Self Extraction Directive (SED) files. We recommend the Wizard.


Like 7-Zip above, this method creates a self-extracting archive but with two major differences: one, the end user will proceed through a multi-page Installation Wizard, and two, the end user can specify the target directory to where the tool will extract the files.

How to Make an "EXE" Installation File create installer iexpress

How to create your own installer EXE using IExpress:

  1. Open the Run prompt (Windows key + R) and type iexpress.exe to launch the IExpress Wizard.
  2. Select Create new Self Extraction Directive file and click Next.
  3. Select Extract files only and click Next.
  4. For the package title, the name of your app is a safe choice.
  5. For the confirmation prompt, choose No prompt or Prompt user with. It doesn’t matter either way. For the sake of the end user, including one is always a safe choice.
  6. For the license agreement, Display a license if you want the end user to agree to some kind of End User License Agreement (EULA). If not, it’s fine to select Do not display a license.
  7. Add all the files you want to see installed by clicking Add, browsing to where the files are, and selecting them all.
  8. Continue through the IExpress Wizard and select your preferred options for the Show Window and Finished Message prompts.
  9. For the package name, click Browse, navigate to where you want the installer EXE to be created, and give it a name. This is the EXE file that you are going to distribute to end users. Click Next.
  10. Finally, select Save Self Extraction Directive (SED) file if you want to create a modified installer later on, such as when you’ve patched the software and need an updated installer. If you select Don’t save, then you’ll have to run through the entire process from scratch.
  11. On the Create Package page, click Next. Wait. Done!

Note that IExpress has some quirks and issues. It doesn’t allow inclusion of empty directories. If your installation has subdirectories, the subdirectories won’t be included. If you have multiple files of the same name, even within separate directories, the installer creation will fail.


Because of these oddities, we recommend using the method below instead.

Recommended Method: Using Inno Setup

Inno Setup is an open source utility What Is Open Source Software? [MakeUseOf Explains] "Open source" is a term that’s thrown around a lot these days. You may know that certain things are open source, like Linux and Android, but do you know what it entails? What is open... Read More that’s been in active development since 1997. It was created partly in response to the at-the-time subpar InstallShield Express. Since then, it has become the installer creator of choice for those who don’t care to explore proprietary options.

Its biggest draw is its flexibility. Inno Setup uses script files with an ISS extension (“Inno Setup Script”) to customize various aspects of the installer: which files are incorporated, where the installation happens, whether to create shortcuts, etc. ISS files use a similar formatting to INI files and can be generated using the Inno Setup Wizard.

How to Make an "EXE" Installation File create installer inno setup


How to create your own installer using Inno Setup:

  1. Launch the Inno Setup Compiler app.
  2. In the welcome prompt, select Create a new script file using the Script Wizard.
  3. Enter your Application Name and Application Version. Optionally, you can also include Application Publisher and Application Website details. Click Next.
  4. Select the Destination base folder, which defaults to Program Files. Enter an Application folder name, which is the name of main directory where your installation files will go. Click Next.
  5. For Application main executable file, browse and select the main EXE file that will launch your app. If you aren’t installing an app, enable The application doesn’t have a main executable file. Then add files and folders to your installation with the Add files… and Add folders… buttons. Click Next.
  6. On the Application Shortcuts page, leave the defaults or change them to fit your preferences. They’re all self-explanatory. Click Next.
  7. On the Application Documentation page, you can point to up to three TXT files that will be displayed throughout the end user’s installation process. Typically these will be LICENSE.TXT, INSTALL.TXT, and README.TXT, but they can be whatever you want. Click Next.
  8. On the Setup Languages page, keep English but feel free to add as many other languages as you wish. Click Next.
  9. On the Compiler Settings page, you can customize the installer EXE file:
    > Custom compiler output folder is where the resulting installer EXE file will be placed.
    > Compiler output base file name is what the EXE file will be called. The default setting is setup.exe.
    > Custom Setup icon file is the icon that will be used for the installer EXE file. This must be an ICO file, which you can download or converted from PNG How to Customize Any Icon in Windows 10 Here's how to change icons on Windows 10, including program shortcuts, folders, file types, and much more. Read More .
  10. Setup password will protect unauthorized users from using your installer. Leave it blank to disable this feature.
  11. Click Finish. When prompted to compile the new script, click Yes. When prompted to save the script, select No if this is a one-time installer file or select Yes if you plan to modify or update it later. Done!

DownloadInno Setup (Free)

Which Method Is Right for You?

If your software is extremely simple or if you’re only going to distribute to a limited number of people, go with the 7-Zip method. It’s easy, fast, and requires almost no technical expertise.

If your software is somewhat simple and you want to present a real installation wizard for your end users, go with the IExpress method.

If your software is complex and you have a lot of technical experience under your belt, go with the Inno Setup method. It’s the most flexible, most powerful, and doesn’t suffer from the issues that plague IExpress.

Which method will you be using? Are there any other methods that we missed? Let us know in the comments below!

Image Credit: sdecoret, DaGa5 via

Related topics: Install Software, Windows, Windows 10, Windows 8.

Affiliate Disclosure: By buying the products we recommend, you help keep the site alive. Read more.

Whatsapp Pinterest

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Aaron
    February 27, 2019 at 5:39 am

    Also you can try this tool - Actual Installer. I use its free edition which allows main install tasks, like install files to Program Files, create shortcuts in start menu, add uninstall function which shows your app in Control Panel's Programs and Features.

  2. MVM
    June 26, 2018 at 1:56 am

    Thanks for writing this article! It's well-written, but I'm running into a problem once I finish the instructions in it.

    I'm trying to create a text-based card game app, and I wrote the source code in Python. I froze it using PyInstaller, then created the installer using Inno Setup. However, when I clicked on the icon to run the app, a blank terminal window appeared for less than a second, and nothing else happened. This is very similar to what happens when I'm in File Explorer and double-click on a Python program, rather than right-clicking to open it in an IDLE.

    My code relies completely upon Python's standard input and output streams. Is this what's causing the issue? If so, how do Inno-made apps normally interact with the user?

  3. Top 5 Best Website To Learn Photoshop For Free 2018
    January 14, 2018 at 6:18 am

    I like your article and website Top 5 Best Website To Learn Photoshop For Free 2018

  4. j7n
    September 7, 2017 at 1:06 pm

    WinRAR Self-Extracting archive works better than 7-Zip if you don't require extreme compression. RAR's module can be customized by editing the archive comment. The description and title can be edited after the package has already been created, for example to change the version number or to fix a typo. You can define a recommended install path, and automatically execute a command after extraction. The license and description dialogs support basic text formatting. 7-Zip's SFX module cannot be customized without the use of a Resource Editor, which is cumbersome to use and can sometimes cause the processed exe not to run.

    Inno is easy to use, after you go over all the customisation directives once, and save your configuration as a preset. Inno takes advantage of the same LZMA compression as 7-Zip. Unlike SFX modules processed with a Resource Editor, the installer always comes out in standard dimensions. Adding an image of odd size is hard, and requires editing a Delphi form.

    A typical from a Microsoft tool, the interface and workflow of IExpress is unintuitive and cumbersome. The CAB LZX compression is weaker and slower than the alternatives, being limited to a 2 MB dictionary. The archive is also contained within the installer's resource section, which places an upper limit to how large it can be. Other installer packages follow the stub and can be of any size.

    • Danilo
      December 26, 2018 at 2:24 pm

      how to change product version in details tab using winrar? its possible?

  5. Doc
    May 17, 2017 at 8:29 pm

    Why not create a MSI (MicroSoft Installer) file instead?

  6. Steven Manning
    October 13, 2016 at 1:08 am

    I have a executable install files that install a streaming program. I want to set it up to run once. Are you familiar with that process?

  7. Dr.Manduck
    September 26, 2016 at 1:25 pm

    Whenever I try to install iexpress it just says cannot open cabinet. how do I fix this?

  8. Nitish
    May 21, 2016 at 2:54 pm

    can we publish the setup.exe created by iexpress in store??

    • Doc
      May 17, 2017 at 8:18 pm

      No. Microsoft will enable Win32 apps in the Store...but I don't think it's ready yet. Your app will have to be compiled to UWP (Universal Windows Platform) to be published in the Store right now.

  9. jack
    February 25, 2016 at 2:36 pm


  10. Lars Bech Nygaard
    December 15, 2015 at 11:43 am

    If you're using Windows 10, just tap WinKey + R, wait for the dialogue, and type "iexpress"

  11. tom
    January 24, 2015 at 11:24 pm

    The problem is that when you create the installation pacakage and you run it thats it. It doesnt add an entry to Program Files and extracts it to a temp file apparently. i have no idea what it does with it. opens it at the end but when you close it who knows where it extracted it.

    • Joe Schmoe
      March 16, 2015 at 5:33 pm

      IExpress is really not a good solution for installers. It's good to repack windows apps that extract and install portably, like WMP updates and VCR bundles. If you want a good install creator, use Inno Setup with a good frontend like Inno Setup Tool.

  12. Angy
    January 16, 2010 at 12:12 pm

    I guess, Im a bit confused, I was trying to make a exe. file that I could use on my server side for a client to download an ebook am I looking in the wrong area? Any help greatly appreciated. I thought I would need an exe.file to do this.

  13. CharleyW
    January 11, 2010 at 11:51 am

    iexpress.exe has (at least) two problems - it won't allow an empty folder, and it won't allow two files with the same name (even if they are in different folders).

  14. Awonusi
    November 17, 2009 at 1:35 am

    Thank you very much just what i am looking for.

  15. gil_dano
    November 10, 2009 at 9:59 am

    Just what I was looking for and perfectly explained. Thank you.

  16. Amar Jain
    October 13, 2009 at 4:54 am

    Well, certainly this utility is useful. But the only thing which I couldn't find is to add directory with subdirectories inside it while generating exe files. Because what I know is that it generates exe files only of a directory and it does not take subdirectories inside a directory. If you know any trick for this, then shall be grateful to you know if you will let me know. This website offers wonderful tricks, thanks for that.

    Amar Jain.

  17. Tony Cutty
    October 6, 2009 at 1:30 pm

    The only thing this lacks is a way of letting the user 'Make New Folder' when selecting where to put the extracted files. Any ideas, anyone?

  18. VA
    October 5, 2009 at 2:07 am

    Yes, most archive managers have this facility, but those still need to be installed on the users’ system. I covered iexpress because it is already present on every windows users machine and doesn’t require the user to download anything.

  19. Doc
    October 3, 2009 at 12:01 pm

    This could be nice, but what's wrong with NSIS (NullSoft Install System)? Dozens of programs use it (including Nullsoft's own WinAmp), it puts in uninstall information into the Registry, can install to any directory you like, is open-source (hosted on SourceForge), and even has a forum on for help.

    • Sharninder
      October 3, 2009 at 11:06 pm

      You can definitely use NSIS if it works for you but with this article I wanted to highlight a tool that is already present on your system and that is why I chose iexpress.

  20. Protip
    October 3, 2009 at 6:11 am

    Archive managers such as 7-zip and WinRAR have SFX (Self extracting) options which allow the same thing to be done with a wide range of compression techniques. They make exes which can extract the files to a location the user desires.

    • Sharninder
      October 3, 2009 at 10:58 pm

      Yes, most archive managers have this facility, but those still need to be installed on the users' system. I covered iexpress because it is already present on every windows users machine and doesn't require the user to download anything.

  21. Benjamin
    October 2, 2009 at 5:21 pm

    I always wondered, never had it explained in a simple programming class I took. Thanks for the information

  22. Mark King
    October 2, 2009 at 2:36 pm

    Thanks for this.I didnt know we can actually create exe file

  23. Albert
    October 2, 2009 at 2:21 pm

    Thanks for this information! I had no idea this utility existed. I checked an old Windows 2000 system and it has it too. What I had been doing is creating a .zip file then converting it to .exe More articles like this please!