Skip to content

Creating Installers for Windows Apps

Now that you’ve finished creating your Windows app using Xojo, how do you distribute it to your Windows users? Microsoft Windows users expect an installer, so you can’t really get away with just using a ZIP file to distribute your apps. What are your options?

Depending on the project, I’ve used two installers on Windows:
InnoSetup and Advanced Installer. Both will create an installer that can place your app in Program Files, optionally create desktop and Start menu shortcuts, display a license agreement and much more.

InnoSetup creates setup.exe installers and is pretty easy to use once you get your script set up. The “QuickStart Pack” includes a Script editor that can help with that. Or you can grab the example script from the Xojo documentation wiki to get you started. Just replace the app names in the example with your app name, generate a new AppID (using Tool->Generate GUID in the menu) and you can build your installer.


Advanced Installer has a user interface that is quite easy to use, allowing you to create an installer just by selecting files and specifying settings. The free version can use the “Simple” template which will likely suffice for most Xojo developers, but they also have a more powerful paid versions ($400 to $3000). In addition to the nice UI, Advanced Installer can create MSI (Microsoft Installer) files, which are often preferred by IT departments. From what I understand, an MSI makes it easier to do
remote and bulk deployments


There are plenty of other installers for Windows, including the popular and expensive InstallShield tools. But I think that Xojo packages up your application so nicely that you are not likely to need all the capabilities that the more sophisticated tools provide.

For more information about deploying to Microsoft Windows, refer to
User Guide Book 4: Development, Chapter 1: Deploying Your Applications, Section 1: Windows Deployment.


  1. VaughnSC VaughnSC

    I am long accustomed to using AI to produce MSIs.
    I recently developed a workable method/script to add file associations to \’Simple\’ AI projects and thought it might be useful, since there\’s one for InnoSetup. I\’ll be posting to NUG list (old-school!) but thought I\’d give a heads up in case Paul L. wants to add it to docs.

  2. Paul Lefebvre Paul Lefebvre

    You can’t post attachments to the NUG, but if you want to send me the AI file I’d be happy to take a look at it for possible inclusion in the docs and/or example projects.