Inno Setup uses its own built-in icon for Setup.exe unless you tell it otherwise.
The SetupIconFile directive replaces it with yours.
The icon is used for both the installer and the uninstaller.
1. Make an .ico with the recommended sizes
Inno Setup's documentation recommends that the icon include at least these sizes:
| Size | Where it shows |
|---|---|
| 16×16 | Title bar of the wizard, small icon views |
| 32×32 | Desktop and taskbar at 100% scaling |
| 48×48 | Explorer medium icons |
| 64×64 | High-DPI screens |
| 256×256 | Explorer large and extra large icons |
Every file from the PNG to ICO converter includes all five, plus 20, 24, 40 and 128 px. Start from a square PNG of 256×256 px or larger.
2. Add SetupIconFile to your script
Put the .ico in the same folder as your .iss script and reference it in the [Setup] section:
[Setup]
AppName=My App
AppVersion=1.0
DefaultDirName={autopf}\My App
SetupIconFile=setup.ico
The file must be in your source directory when you compile, unless you give a full path. Compile again, and Setup.exe carries your icon.
3. The icon in Apps and Features
The icon Windows shows for your program in the installed apps list comes from UninstallDisplayIcon. Pointing it at your installed .exe reuses that program's own icon:
[Setup]
UninstallDisplayIcon={app}\MyApp.exe
Your program's .exe gets its icon from your build tool, not from Inno Setup. See the guides for Visual Studio, PyInstaller and Electron.
4. Troubleshooting
- Compiler error about the icon file: check the path, and that the file is a real ICO, not a renamed PNG.
- Setup.exe looks blurry in Explorer: the .ico lacks the 256 px size. Convert again.
- Old icon still showing: Windows' icon cache. See how to refresh it.
Related guides
- Windows icon sizes: which ones an .ico should contain
- Set an application icon in Visual Studio
- ICO not working? Fixes for the most common problems
Make setup.ico from your logo
Convert a PNG