[BUG-7239] Remote unattended install (8.1.25) on windows (via powershell) breaks because of splash screen?

I'm attempting to script an v7.9>v8.1 upgrade process (and rollback scenario) across multiple gateways, and wish to kick off the script from my workstation. I can perform remote unattended un/reinstall of 7.9 via powershell Invoke-Command (and Enter-PSSession) just fine, but can't get 8.1.25 install to work.

Either I'm pretty dense (very possible), or it's not as straightforward as running the same command that works locally (like it is for 7.9).

This is a bit bizarre (to me anyway).

I thought it was stumbling on --%, but uninstall appears to work fine with that argument. I haven't wrapped my head around how it works in CMD vs PowerShell, nor the proper way to parse/escape a quoted argument for cmd.exe /c (despite stackoverflowing for a while - tried cmd.exe /s /c as well)

Now I'm thinking it's stumbling because it can't display the Ignition splash screen?

$computerNames =
'IgnitionTest'

 $sb = {
	"Installing 7.9.16"
	cmd.exe /c "C:\Program Files\Inductive Automation\Ignition-7.9.16-windows-x64-installer.exe" --mode unattended --unattendedmodeui none # works fine locally and remotely
	pause
	"Uninstalling 7.9.16"
	cmd.exe /c "C:\Program Files\Inductive Automation\Ignition\uninstall.exe" --mode unattended --unattendedmodeui none # works fine locally and remotely
	pause
	"Installing 8.1.25 via cmd"
	cmd.exe /c "C:\Program Files\Inductive Automation\ignition-8.1.25-windows-64-installer.exe" "--%" "unattended=none" # works locally but interactive???, not remotely
	pause
	"Uninstalling 8.1.25 via cmd"
	cmd.exe /c "C:\Program Files\Inductive Automation\Ignition\uninstall.exe" "--%" "unattended=none" # works fine locally and remotely
	pause
	"Installing 8.1.25 via ps"
	& "C:\Program Files\Inductive Automation\ignition-8.1.25-windows-64-installer.exe" --% "unattended=none" # works locally, not remotely
	pause
	"Uninstalling 8.1.25 via ps"
	& "C:\Program Files\Inductive Automation\ignition\uninstall.exe" --% "unattended=none" # works fine locally and remotely
	pause
}

invoke-command -computername $computerNames -scriptblock $sb
# pause

I'd prefer the cmd /c method, because it waits to return until done, but I imagine there's a way I can do the same thing with the native PS call.

Hi @hunterdg,

It looks like you are correct about the splash screen. I was able to reproduce this locally with a similar setup:

$computerNames =
'IgnitionTest'


$sb = {
	"Installing 8.1.25 via cmd"
	cmd /C '"C:\Program Files\Inductive Automation\ignition-8.1.25-windows-64-installer.exe" --% "unattended=none"'

	"Uninstalling 8.1.25 via cmd"
	cmd /C '"C:\Program Files\Inductive Automation\Ignition\uninstall.exe" --% "unattended=none"'
	pause

	"Installing 8.1.25 via ps"
    Start-Process '"C:\Program Files\Inductive Automation\ignition-8.1.25-windows-64-installer.exe" --% "unattended=none"' -Wait -NoNewWindow

	"Uninstalling 8.1.25 via ps"
	Start-Process '"C:\Program Files\Inductive Automation\ignition\uninstall.exe" --% "unattended=none"' -Wait -NoNewWindow
	pause
}

invoke-command -computername $computerNames -scriptblock $sb

I have opened a ticket for this internally and should be able to apply a fix soon. Thanks for bringing this to our attention!

Thanks,
Jonathan C

1 Like

Thanks for the tips about quoting the entire string! May want to merge with 72758

in the meantime, this ticket has some questions - will this be an OOB patch since it's technically just the installer and/or are there temporary workaround possibilities? (more detailed in the ticket)

no it won't be an "out of band" patch since our installers are only 'offline' installers, meaning they bundle the ignition release within. I did write to your support rep some thoughts on those questions and a potential way to use the Nightly installer to install a different Ignition release via arguments so keep an eye out for an update on your ticket.

1 Like