There’s a previous post Sound of a Silent Install how to perform a silent install in virtual desktop environments using the Windows installer (MSI) version.
The conventional way to install Infor Smart Office on client machines is to use Microsoft ClickOnce network deployment to get an isolated, secure, self-updating application that can be installed and run with minimal user interaction.
To Uninstall a ClickOnce application require the launch of the uninstall dialog and some user interaction. To perform uninstall on many client machines can become tedious so here is a Powershell script example that performs the task.
The script use the application display name from Windows Start menu to find the ClickOnce uninstall string in the Windows Registry. It launches the ClickOnce uninstall dialog, selects the “Remove the application from this computer” option and press the OK button. This example has been tested on Windows v10.0.17763 and there’s no guarantee it will work on every Windows version.
<# Set $ISODisplayName to the visible name of the application in the Windows Start menu #> $ISODisplayName = "Infor Smart Office - DEV" <# Get uninstallable ClickOnce applications #> $InstalledApplicationNotMSI = Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall | foreach-object {Get-ItemProperty $_.PsPath} <# Find uninstall string for named ClickOnce application #> <# The name is the display name visible in the Windows Start Menu #> $UninstallString = $InstalledApplicationNotMSI | ? { $_.displayname -match $ISODisplayName } | select UninstallString $selectedUninstallString = $UninstallString.UninstallString <# Launch ClickOnce uninstall command #> $wshell.run("cmd /c $selectedUninstallString") <# Wait 7 seconds for uninstall dialog to appear #> Start-Sleep 7 <# Move focus and Select option "Remove the Application from this computer" #> <# Key specifications: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.sendkeys?view=netframework-4.7.2 #> $wshell.sendkeys("{TAB}") $wshell.sendkeys("{DOWN}") <# Press the OK button #> $wshell.sendkeys("`"OK`"~")
I personally never liked the sendkeys approach for automating things. There are so many small changes that can break those scripts.
I have used Wunder.ClickOnceUninstaller for uninstalling Smart Office silently with good results.
https://github.com/6wunderkinder/Wunder.ClickOnceUninstaller
Here’s a compiled version of the command line utility in case you can’t compile it yourself: (edited: link removed)
requires .NET 4 which most likely is installed if Smart Office is installed 🙂
Hi Per, thank you for the tip. I removed the link to the compiled program due to security reasons, sorry about that since you put effort into sharing, but I can’t have a link to a problem unless it’s from a verifiable source.
Pingback: .Net Framework 4.8 Required | Developing for Infor Smart Office