Home User Forums SongKong Music Tagger Jaikoz Music Tagger Albunack Music Service

Wednesday 14 January 2015

Creating a Self-Extracting Installer On WIndows

With SongKong 3.8 at last we have a self extracting and installing installation for Windows. But what does this mean, and how do you do create one ?

Self Extracting Archive

A self-extracting archive (sfx) requires no extraction application to be installed on the users computer because the extractor code is in the archive itself. So not only does the user not have to actively unzip the archive but you do not have the problem of not having suitable software to unzip the archive. This does mean that you will get a different user experience depending on what application was used to create the self-extracting archive in the first place.

Self Installation

A simple sfx can extract itself with a double-click, but then the extracted files still need to be installed by double-clicking the setup file, so its a two stage process. However some sfx solutions allow the archive to be installed to a temporary space and then an exe started automatically to perform  the installation.

Creating an Sfx for SongKong

I looked at both 7-Zip and WinRar, I found the instructions for 7-Zip unclear and the resultant archive looked a bit amateurish, but with WinRar I found it surprisingly easy as follows:

  • Install WinRar
  • Select SongKong installer files, right click and select Add to Archive
  • Use Browse.. to create the archive in the folder above
  • Change Archive Format to Zip
  • Enable Create Archive Format
  • Select Advanced tab
  • Select SFX Options
  • Select Setup tab
  • Enter setup.exe into the Run after Extraction field (this is the name of the program I want to run)
  • Select Modes tab
  • Enable Unpack to temporary folder
  • Select text and Icon tab
  • Enter 'Unpacking SongKong Installer'
  • Select OK
  • Select OK
  • Sign the songkong-windows.exe to prevent Windows complaining when you download and install.
Now having it working via the GUI I would prefer to automate this in the script, but that is a job for another day.

No comments:

Jthink blog Jthink Facebook page google_plus Jthink YouTube channel Email Paul at Jthink Subscribe to Weekly Newsletter