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.
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.
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
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.
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.
- This will show no prompts to the user about the installation or the progress.
- This is just a safeguard as when you use very silent if a reboot is needed it would reboot the system without warning.
- This makes it force the install. If you did the install manually you would get a message that geoSCOUT Program Files already exists and a prompt about if you want to proceed or not.
- This makes sure there are no messages to the user about the installation as it could display a message saying that the launcher is being installed.
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 is built to work with the network install version of geoSCOUT.
- You need to upgrade your geoSCOUT network install to version 9.0 before you run the script.
- You will need version 9 of
Setup_geoSCOUTLauncher.exefrom your geoSCOUT install as the script needs this to do the upgrade.
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.
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.