Making a Splash: Dynamics GP's Countdown to Christmas

Dynamics GP Seasonal Splash Screen

Add a festive streak—and by that, I mean we turned Microsoft Dynamics GP into a virtual advent calendar! 🎁

Every December, when logging in to GP, be greeted with a seasonal splash screen full of holiday cheer and witty graphics.

These aren’t just any splash screens, though. Oh no.
There are 24 of them—one for each day leading up to Christmas—automagically switched out by a login script. Like clockwork, every day you log in, it’s a little surprise:

December 1st? A peaceful snowy scene. ❄️
December 12th? A santa that looks suspiciously like Bob McAdam.
December 20th? A reindeer.
And let’s not forget Christmas Eve Eve, when GP might just greet you with something sentimental like:
"Merry Christmas from the IT Team! Now get off GP and go wrap your presents!" 🎅🎄

Each graphic can contain the countdown number, "days to go" too!

Christmas splash screen

How is it done?

For the basic, easy to implement, static version, where same splash screen is used throughout the Christmas season.

Essentially if you drop a splash.bmp into the GP application directory, it will be automatically displayed by GP at application startup. Note: If no splash.bmp file exists, then an embedded, default splash screen is shown instead.

The application folder is often C:\Program Files (x86)\Microsoft Dynamics\GP however it may vary depending on GP version and how it was installed.
splash.bmp in the dynamics gp application folder

Bit map size

The bitmap needs to be about 486x284px in size, any bigger and it will be truncated.

Automating countdown to Christmas

You can use a powershell script or batch file at login to switch the bitmaps intelligently. To do this

  • create a shared folder or local folder for the splash bitmaps
  • number the files 1.jpg, 2.jpg etc. One for each day of the month. The script can copy and rename the .bmp file to splash.bmp depending on the day of the month.
  • Create 0.jpg as the default graphic for the rest of the year.
  • Set up running powershell script on login script or scheduled task
# Define the source and destination paths
$sourceFolder = "C:\Program Files (x86)\Microsoft Dynamics\GP\xmas"
$destinationFile = "C:\Program Files (x86)\Microsoft Dynamics\GP\splash.bmp"

# Get the current day and month
$currentDay = (Get-Date).Day
$currentMonth = (Get-Date).Month

# Determine the source file to use
if ($currentMonth -eq 12 -and $currentDay -ge 1 -and $currentDay -le 25) {
    # Use file matching the current date
    $sourceFile = Join-Path -Path $sourceFolder -ChildPath "$currentDay.bmp"
} else {
    # Use the default 0.bmp
    $sourceFile = Join-Path -Path $sourceFolder -ChildPath "0.bmp"
}

# Check if the source file exists
if (Test-Path -Path $sourceFile) {
    try {
        # Copy and overwrite the splash.bmp file
        Copy-Item -Path $sourceFile -Destination $destinationFile -Force
        Write-Output "Successfully set splash.bmp to $sourceFile."
    } catch {
        Write-Error "Failed to copy the file. Error: $_"
    }
} else {
    Write-Error "Source file not found: $sourceFile"
}

This makes is easy to have a "days to Christmas" feature, by making a bitmap with a different number on each of the splash.bmp files, or an entirely different design each day.
Using splash as count down to Christmas with days until Christmas shown

Background info

David Musgrave has the detail of how to modify the splash screen in this post Customise the Microsoft Dynamics GP Splash Screen where he also points to GP splash images over the years Spash screens over the years from dynamics gp blogster which is also worth a look.

David's post has a zip file with a selection of vanilla splash screens to choose from. So why not give it a go! -you can grab one of the existing splash screens then use it as a starting bitmap and embellish it as you see fit.

For the rest of the year you could be boring and add your support details on there to promote helpdesk open times - or whatever!

Happy holidays!