Preferences as XML File?, Don't Use Windows Installer?


Most of the apps I write for personal use don’t have preference files as they are niche utility applications designed to save time for other work I do. The last application preference scheme I wrote used a preference text file on a PPC Mac and the Windows Registry.

My current application saves files as xml so I am thinking of simply writing the preferences to a xml file in the same folder as the app. I understand that this may go against the current use of plists and similar schemes on Windows, but from my point of view I want to make removing the application for the user as simple as possible in that they simply drag the application folder with the app and preference xml to the trash and its gone.

I really don’t want to store files at various places on the user’s computer and require them to use a uninstaller to get rid of the thing.


From app development sites I’ve read a installer is expected from Windows users; however, I wanting to make this as simply as possible by simply having the user install the app on their desktop (or anywhere else they like). I really don’t like the idea of using a installer to mess with the user’s computer and possibly generating more technical issues.

So if I don’t use a installer will Windows users not use the product?

The issue is that when you are distributing a Windows app to various target computers, you must provide all the support files that normally exist on your computer, but may be absent on the target computers. While an expert user can install all DLL files manually and create the registry entries required for each, this is beyond the abilities of virtually all users. The great benefit of installers is that they collect all the files when you create the package, and install them on the target computer, complete with registry entries, without user intervention (other than launching the installer and sometimes following the steps of a wizard).

Usage of an installer is therefore highly recommended. There are many that are excellent (see elsewhere in this forum for suggestions that work well with Xojo applications.

Yes. Most Windows users aren’t smart enough to install an application themselves. Seriously.

Plus, it tends to make your product look cheap and unprofessional. Stupid, I know, but that’s the way it works.

Xojo apps don’t really need an installer (just unzip and double click on exe) but users expect. I recommend looking at InnoSetup. It’s free and a lot of people here use it. I even have how to use it in one of my training videos at

That generally doesn’t work with Xojo apps, due to the DLL’s folder and Windows built in (stupid!) offer to run the EXE from “within the zip file”. This one issue was probably 10% of my tech support calls :slight_smile:

So many problems on Windows are due to the lack of two OSX features: bundles and DMGs.

Windows 8 now has built in ISO mounting capabilities, which are somewhat similar to Mac OS X’s ability to mount DMGs, but it’s still not the same thing.

Well, remember, I’m an old fart. It used to be that REALbasic apps circa 2007 were still single executable files so distribution was much simpler then.

But still, InnoSetup isn’t that hard to use.

The DLL files do not require registration. You can just drop your app and libs folder onto a pc and run it.

On the other hand, while an installer isn’t required, it is expected and is a really good idea. Inno is free and easy to use.

Nope… All the operating systems have the application/programs folders locked down so you will be getting some support tickets about why their preferences are being saved…

Can’t @art ouette just use specialFolder.ApplicationSupport/[his app name]/[prefs file] to save his preferences file on all targets? I do this on OSX but save as specialFolder.ApplicationSupport/[bundleID]/[prefs file] and I write my prefs file when I first run my application so I don’t have to worry about installing it or putting it somewhere special when I install my app.

Yes he can, but if you look at what he wrote, he specifically mentions writing the “xml file in the same folder as the app”

Windows 8.1:
in the modern ui, you type the first letters of the application to be able to run it.

But: my applications are not in the Windows folder AND never appears there.

Check that too (as I do not do it).

I think that might be a better way to go as that should avoid the problem sha seen noted above: