Continuing with day 09 of my December Adventure, I decided to focus on creating an installer for my OPL version of Thoughts—there’s enough basic functionality in place for it to be useful (to me at least) and I’d love others to be able to try it out.

Creating a Psion installer (SIS file) is pretty simple, especially if you’re not worried about localization. It’s just a matter of specifying the supported languages, program metadata, then listing the files (and their destinations) and any secondary installers. The package file for Thoughts looks like this:

&EN
 #{"Thoughts"},(0x100092ca),0,1,0
 "C:\System\Apps\Thoughts\Thoughts.app"-"!:\System\Apps\Thoughts\Thoughts.app"
 "C:\System\Apps\Thoughts\Thoughts.aif"-"!:\System\Apps\Thoughts\Thoughts.aif"

 @"SystInfo.sis",(0x10000b90)

The ! in the destinations indicates that the files can be installed to any drive the user selects, allowing them to install programs to a Compact Flash card.

This package file will create an installer that bundles the all-important SystInfo.opx library that Thoughts relies on to generate timestamps.

Although Psion never provided any first-party EPOC32-based tools for working with SIS files, Neuon, a fairly prolific software development group, published nSISUtil which can compile package files on-device. This makes it possible to develop and package an app directly on a Psion which, of course, is exactly what I did.

Creating the installer on-device using nSISUtil

Just like resource files, we don’t yet have support for generating installers using the OpoLua tooling, but perhaps at some point I’ll be able to automate the whole process on GitHub Actions. 🙃

With the installer in-hand, I again turned to the Revo as my test device, and was able to confirm it worked, and verify yesterday’s fix for note creation.

Installing Thoughts on my Revo

Capturing mission critical information

And with that, Thoughts for EPOC has reached an important milestone—version 0.01! You can view the release on GitHub, or download it directly here. I’d love your feedback!