About & Synopsis

The ExperienceUI extends NSIS to support fully skinned and branded user interfaces. The style is comparable to some InstallShield® installers. The goal of the ExperienceUI is to grant your users a smoother experience deploying your software while remaining fast and lightweight for developers.


Unlike similar projects, the ExperienceUI is written from scratch - so there's no Modern UI overhead to worry about. This reduces codebase and makes installers more reliable. Despite this, the ExperienceUI retains a large degree of Modern UI compatibility; porting scripts is not a difficult task. The advantage of the ExperienceUI is extremely easy migration to a company-branded user experience.

How it works

There are two main methods the ExperienceUI can use to skin the installer interface.

Native skinning

The most common method for skinning the UI involves the Win32 SetCtlColors call. Though simple, the ExperienceUI's provision of extra places for bitmaps and graphical elements make this a powerful option with very low system requirements.

ExperienceUI 1.3 features background image support, allowing the main interface area to be made transparent, showing through to your own custom graphics beneath. This can take your branding to the next level and make graphic design even simpler, as only one bitmap needs to be designed to fit your entire installer window.


The ExperienceUI is the only NSIS user interface to feature native support for wansis, a plugin that automatically skins the whole user interface. The ExperienceUI provides an easy-to-implement frontend to wansis along with several themes to choose from.

The current configuration of wansis requires the user to have the Microsoft Visual C++ Runtime version 7.1 installed.


From the perspective of Dan Fuhry.

I started the ExperienceUI when I was 13 years old. It was my first open source project, inspired by the then-new feature in the InstallShield® line of products. The ExperienceUI quickly gained popularity in the NSIS community despite being horrendously buggy.

Development continued fervently for over three years - from the beginning of 2004 to Q2 2007. In April of 2007 I switched to Linux, and NSIS was one of the first things to go. I've been spending the past couple of years in a different industry: content management.

The CMS I developed, Enano, is getting support for BitNami software stacks, and I decided to write up the installer using NSIS in lieu of BitNami's toolkit, which is based around proprietary software and has several frivolous restrictions. The new BitNami module installer for Enano is based on NSIS and the ExperienceUI.

Thus, the biggest focus points in current ExperienceUI development surround case sensitivity/Unix support, compiling installers with NSIS and the ExperienceUI in different directories, and fixing up bugs and unexpected behavior. My goal is to stabilize the ExperienceUI and make the project back into a production-ready, commercial grade tool.

Source model

The ExperienceUI has always been under the zlib/libpng license. I didn't fully understand open source when I first released it when I was just turning 14. Can I relicense it? Yes. Will I? Never. It wouldn't be responsible of me to take away rights that you already have.

The ExperienceUI is, and will always remain, open source software. All of the tools I use - including our development environment, which is Linux/WINE based - are open source as well. I care about my freedoms, and expect my userbase to have nothing less.


Patches for any purpose are always welcomed. If you submit a patch, you must assign copyright to me. My contribution model is simple: submit enough good patches and you'll get commit access.

(show page tags)
Categories: (Uncategorized)