geoSCOUT 9.0 Launcher Upgrade

geoSCOUT 9.0 Launcher Upgrade

With the release of geoSCOUT version 9.0 geoLOGIC has upgraded the geoSCOUT launcher. As part of the upgrade process to version 9.0, you should be upgrading the geoSCOUT launcher as geoSCOUT users will get a warning message stating that they need the new launcher. They can still use geoSCOUT even if the launcher isn’t upgraded but they will keep seeing the warning message every time they open geoSCOUT.

Warning message about the old geoSCOUT launcher

The geoSCOUT launcher upgrade can be a challenging task in a large environment when users don’t have local admin. In this post, I’ll detail what I’ve discovered about how the geoSCOUT launcher works and include a PowerShell script to upgrade the launcher.

Discovery

The geoSCOUT launcher seems to work by looking for a user’s GMAP.ini file saved in the user’s %AppData%, if that file isn’t present then the launcher will throw an error.

When you install geoSCOUT using the Desktop_Build_NonAdmin installer or the Desktop_Build installer both of them use the context of the path that executed the install to populate the user’s GMAP.ini file saved in %AppData%.

My theory on how part of the geoSCOUT launcher works is that it uses the user’s GMAP.ini file to find the geoSCOUT server and for version 8 it loads gsmainV8.exe from the Programs directory in the geoSCOUT network location.

The geoSCOUT version 9.0 launcher seems to work the same way as the version 8 launcher did except that instead of launching gsmainV8.exe it launches gsmap.exe. Technically speaking you could run geoSCOUT by just launching gsmap.exe but that isn’t the recommended way.

After the geoSCOUT upgrade to version 9.0 if a user is using a shortcut to gsmainV8.exe they will get the warning that their launcher is out of date and needs to be upgraded even if their geoSCOUT launcher has been upgraded on their system.

The way the geoSCOUT launcher works is important because it shows us that unlike the normal geoSCOUT user install the path you use to install the launcher doesn’t matter.

In the past geoLOGIC support has told me there are no silent parameters for Setup_geoSCOUTLauncher.exe. Surprise there are! If you try to run Setup_geoSCOUTLauncher.exe from the command line and feed it a random parameter it will spit out a nice error that tells you all the secrets.

command line parameters

From that message, we can get even more information by going to https://jrsoftware.org/ishelp/index.php?topic=setupcmdline

This tells us that the Setup_geoSCOUTLauncher.exe is an Inno Setup installer. Inno Setup does support command line parameters and silent parameters. We can also dive further into what Setup_geoSCOUTLauncher.exe is doing. Spoiler it just puts geoSCOUT.exe in Program Files and this reveals why admin is needed for the geoSCOUT launcher upgrade.

To silently install the geoSCOUT launcher we’ll want to use the following parameters.

If we combine all of those parameters we now have a silent install for Setup_geoSCOUTLauncher.exe using the parameters supported by Inno Setup.

Another item that I noticed is that if you run Desktop_Build_v9.exe on a system it does install the new geoSCOUT launcher but the build date for geoSCOUT.exe is November 6th, 2023, but when you use Setup_geoSCOUTLauncher.exe it installs geoSCOUT.exe with a build date of November 27th, 2023. Both report as version 9.0 and the file sizes are only 1 KB different. I don’t know why they are different. From my testing, the fact that they are different doesn’t seem to make a difference.

The Script

Here is a link to the script on my GitHub https://github.com/thedxt/geoSCOUT#geoscout-90-launcher

The script will check if a system has C:\Program Files (x86)\geoSCOUT\geoSCOUT.exe if that doesn’t exist the script aborts.

If C:\Program Files (x86)\geoSCOUT\geoSCOUT.exe does exist the script checks if the geoSCOUT.exe modification date is newer than November 5th, 2023. If the modification date is newer it considers that the geoSCOUT 9 launcher is already installed and exits. If the modification date is older than November 5th, 2023 the script considers that system to not have the geoSCOUT 9 launcher and downloads Setup_geoSCOUTLauncher.exe and runs the install silently.

Essentially the script is built to be run across all systems and needs to be run as admin or run as system if using other script deployment tools and will only install the geoSCOUT version 9.0 launcher on systems that have an old launcher and will exit if a newer launcher is found or no launcher is found.

Exit mobile version