Creating a Common Desktop App Installer

 Title: Creating a Common Desktop App Installer

  Code: KN-UDI

Date available: Feb 16, 2020, presented at Xojo.Connect 2020
Built and tested with: Xojo 2019R3.1 (64-bit Windows and macOS)*


Goal of the Tutorial


A Windows app installer copies the app and its DLLs to Program Files\ and also installs it’s support files. On the Mac, the installer copies the app to Applications/ folder. It is the app’s responsibility to load it’s support data files (and folders) if they don’t already exist.


Combined with Xojo's build automation feature, you’ll be able to use our clsUDI class object that gives an app an easy way to automatically load it’s data. Our approach is common for both macOS and Windows.

The Video Tutorial


A 24-minute video walks you through the tutorial on how to use the clsUDI class for easy loading of your app’s data when your app starts up. (Of course, if the data already exists, nothing will be loaded!)

Sample video trailer of the course




A common unified desktop app installer class, called clsUDI, is provided for your use (no royalties or trademark mentions are required for you to use). When an app starts, the first thing it should do is create the class, test if the app’s support data exists, and create the app support folders before loading the data:


Dim udi As New lsmUDI.clsUDI(kUDI_strCompany, kUDI_strAppName)

Dim intResult As Integer


If (udi.doesAppSupportFolderExist > 0) Then

  gintAppSupportFoldersCreated = udi.createAppSupportFolder

  If (gintAppSupportFoldersCreated > 0) Then

    If (udi.loadFile("ReadMe.txt", "") = 0) Then

      intResult = udi.loadFolder("Logs", "Application Support")

The Sample Test App


A test app, KN-UDI Test, provides a visual log demonstrating how to use clsUDI. Here is a sample UI of the app that demonstrates the automatic loading of the test app’s working data:




No software code is complete without “killer” specifications and documentation. The documentation includes a 3-page overview syllabus and a unique 4-page user guide documentation in newspaper format:






 . . .