Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <#
- .SYNOPSIS
- This script performs the installation or uninstallation of an application(s).
- # LICENSE #
- PowerShell App Deployment Toolkit - Provides a set of functions to perform common application deployment tasks on Windows.
- Copyright (C) 2017 - Sean Lillis, Dan Cunningham, Muhammad Mashwani, Aman Motazedian.
- This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- You should have received a copy of the GNU Lesser General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
- .DESCRIPTION
- The script is provided as a template to perform an install or uninstall of an application(s).
- The script either performs an "Install" deployment type or an "Uninstall" deployment type.
- The install deployment type is broken down into 3 main sections/phases: Pre-Install, Install, and Post-Install.
- The script dot-sources the AppDeployToolkitMain.ps1 script which contains the logic and functions required to install or uninstall an application.
- .PARAMETER DeploymentType
- The type of deployment to perform. Default is: Install.
- .PARAMETER DeployMode
- Specifies whether the installation should be run in Interactive, Silent, or NonInteractive mode. Default is: Interactive. Options: Interactive = Shows dialogs, Silent = No dialogs, NonInteractive = Very silent, i.e. no blocking apps. NonInteractive mode is automatically set if it is detected that the process is not user interactive.
- .PARAMETER AllowRebootPassThru
- Allows the 3010 return code (requires restart) to be passed back to the parent process (e.g. SCCM) if detected from an installation. If 3010 is passed back to SCCM, a reboot prompt will be triggered.
- .PARAMETER TerminalServerMode
- Changes to "user install mode" and back to "user execute mode" for installing/uninstalling applications for Remote Destkop Session Hosts/Citrix servers.
- .PARAMETER DisableLogging
- Disables logging to file for the script. Default is: $false.
- .EXAMPLE
- powershell.exe -Command "& { & '.\Deploy-Application.ps1' -DeployMode 'Silent'; Exit $LastExitCode }"
- .EXAMPLE
- powershell.exe -Command "& { & '.\Deploy-Application.ps1' -AllowRebootPassThru; Exit $LastExitCode }"
- .EXAMPLE
- powershell.exe -Command "& { & '.\Deploy-Application.ps1' -DeploymentType 'Uninstall'; Exit $LastExitCode }"
- .EXAMPLE
- Deploy-Application.exe -DeploymentType "Install" -DeployMode "Silent"
- .NOTES
- Toolkit Exit Code Ranges:
- 60000 - 68999: Reserved for built-in exit codes in Deploy-Application.ps1, Deploy-Application.exe, and AppDeployToolkitMain.ps1
- 69000 - 69999: Recommended for user customized exit codes in Deploy-Application.ps1
- 70000 - 79999: Recommended for user customized exit codes in AppDeployToolkitExtensions.ps1
- .LINK
- http://psappdeploytoolkit.com
- #>
- [CmdletBinding()]
- Param (
- [Parameter(Mandatory=$false)]
- [ValidateSet('Install','Uninstall')]
- [string]$DeploymentType = 'Install',
- [Parameter(Mandatory=$false)]
- [ValidateSet('Interactive','Silent','NonInteractive')]
- [string]$DeployMode = 'Interactive',
- [Parameter(Mandatory=$false)]
- [switch]$AllowRebootPassThru = $false,
- [Parameter(Mandatory=$false)]
- [switch]$TerminalServerMode = $false,
- [Parameter(Mandatory=$false)]
- [switch]$DisableLogging = $false
- )
- Try {
- ## Set the script execution policy for this process
- Try { Set-ExecutionPolicy -ExecutionPolicy 'ByPass' -Scope 'Process' -Force -ErrorAction 'Stop' } Catch {}
- ##*===============================================
- ##* VARIABLE DECLARATION
- ##*===============================================
- ## Variables: Application
- [string]$appVendor = 'SAP'
- [string]$appName = 'Business Explorer'
- [string]$appVersion = '7.60'
- [string]$appArch = ''
- [string]$appLang = 'EN'
- [string]$appRevision = '01'
- [string]$appScriptVersion = '1.0.0'
- [string]$appScriptDate = '22/04/2020'
- [string]$appScriptAuthor = 'Brian Gonzalez'
- ##*===============================================
- ## Variables: Install Titles (Only set here to override defaults set by the toolkit)
- [string]$installName = ''
- [string]$installTitle = ''
- ##* Do not modify section below
- #region DoNotModify
- ## Variables: Exit Code
- [int32]$mainExitCode = 0
- ## Variables: Script
- [string]$deployAppScriptFriendlyName = 'Deploy Application'
- [version]$deployAppScriptVersion = [version]'3.8.0'
- [string]$deployAppScriptDate = '23/09/2019'
- [hashtable]$deployAppScriptParameters = $psBoundParameters
- ## Variables: Environment
- If (Test-Path -LiteralPath 'variable:HostInvocation') { $InvocationInfo = $HostInvocation } Else { $InvocationInfo = $MyInvocation }
- [string]$scriptDirectory = Split-Path -Path $InvocationInfo.MyCommand.Definition -Parent
- ## Dot source the required App Deploy Toolkit Functions
- Try {
- [string]$moduleAppDeployToolkitMain = "$scriptDirectory\AppDeployToolkit\AppDeployToolkitMain.ps1"
- If (-not (Test-Path -LiteralPath $moduleAppDeployToolkitMain -PathType 'Leaf')) { Throw "Module does not exist at the specified location [$moduleAppDeployToolkitMain]." }
- If ($DisableLogging) { . $moduleAppDeployToolkitMain -DisableLogging } Else { . $moduleAppDeployToolkitMain }
- }
- Catch {
- If ($mainExitCode -eq 0){ [int32]$mainExitCode = 60008 }
- Write-Error -Message "Module [$moduleAppDeployToolkitMain] failed to load: `n$($_.Exception.Message)`n `n$($_.InvocationInfo.PositionMessage)" -ErrorAction 'Continue'
- ## Exit the script, returning the exit code to SCCM
- If (Test-Path -LiteralPath 'variable:HostInvocation') { $script:ExitCode = $mainExitCode; Exit } Else { Exit $mainExitCode }
- }
- #endregion
- ##* Do not modify section above
- ##*===============================================
- ##* END VARIABLE DECLARATION
- ##*===============================================
- If ($deploymentType -ine 'Uninstall') {
- ##*===============================================
- ##* PRE-INSTALLATION
- ##*===============================================
- [string]$installPhase = 'Pre-Installation'
- ## Show Welcome Message, close Internet Explorer if required, allow up to 3 deferrals, verify there is enough disk space to complete the install, and persist the prompt
- Show-InstallationWelcome -CloseApps 'saplogon'
- ## Show Progress Message (with the default message)
- Show-InstallationProgress
- ## <Perform Pre-Installation tasks here>
- ##*===============================================
- ##* INSTALLATION
- ##*===============================================
- [string]$installPhase = 'Installation'
- ## Handle Zero-Config MSI Installations
- If ($useDefaultMsi) {
- [hashtable]$ExecuteDefaultMSISplat = @{ Action = 'Install'; Path = $defaultMsiFile }; If ($defaultMstFile) { $ExecuteDefaultMSISplat.Add('Transform', $defaultMstFile) }
- Execute-MSI @ExecuteDefaultMSISplat; If ($defaultMspFiles) { $defaultMspFiles | ForEach-Object { Execute-MSI -Action 'Patch' -Path $_ } }
- }
- ## <Perform Installation tasks here>
- if (Test-Path "$envProgramFilesX86\SAP\FrontEnd\SAPgui\saplogon.exe")
- {
- # Check if installed version is an older version
- if ( (Get-ItemProperty "$envProgramFilesX86\SAP\FrontEnd\SAPgui\saplogon.exe").VersionInfo.FileVersion -lt 7600.1.5.1157 )
- {
- Show-InstallationProgress -StatusMessage 'Running update "AKEU_SAPGUI760CommonAndBI_20190715_1926.exe" (~15 mins)...'
- Execute-Process -Path "AKEU_SAPGUI760CommonAndBI_20190715_1926.exe" -Parameters '/Silent' -IgnoreExitCodes 129
- }
- } else {
- # Nothing is installed so run installer
- Show-InstallationProgress -StatusMessage 'Installing "AKEU_SAPGUI760CommonAndBI_20190715_1926.exe" (~15 mins)...'
- Execute-Process -Path "AKEU_SAPGUI760CommonAndBI_20190715_1926.exe" -Parameters '/Silent' -IgnoreExitCodes 129
- }
- # Run updates
- Show-InstallationProgress -StatusMessage 'Installing "gui760_05_1-80003144.exe" (~5 mins)...'
- Execute-Process -Path "gui760_05_1-80003144.exe" -Parameters '/Silent'
- Show-InstallationProgress -StatusMessage 'Installing "BIADDON760SP04_0-70004093.EXE" (~5 mins)...'
- Execute-Process -Path "BIADDON760SP04_0-70004093.EXE" -Parameters '/Silent'
- Show-InstallationProgress -StatusMessage 'Applying registry customizations...'
- [scriptblock]$HKCURegistrySettings = {
- # 01_regAppearance_good.reg
- Set-RegistryKey -Key 'HKCU\Software\SAP\General' -Name 'Language' -Value 'EN' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General' -Name 'OfficeMenuType' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance' -Name 'SelectedTheme' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance' -Name 'Theme' -Value 'Tradeshow' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance' -Name 'HuePaletteBuffer' -Value '9b9a8ffcfcedf4f3e3eae9d7e0dfd0d8d6c7cecdc0cbcbbdc1c0b2b7b6a8adac9fa09f958e8e847f7e7572726a6867605b5a544f4f493f3f3b65808e839daa8da8b795b1c1' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance' -Name 'SignatureDefaultColor' -Value 'SAP Signature Default' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance' -Name 'SignatureSystemDependentColorsActive' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance' -Name 'High Contrast Theme' -Value 0 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance' -Name 'ShowShadowBorder' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance' -Name 'CorbuIcon' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance\Customer Colors\SAP Gold0' -Name 'Hue' -Value 30 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance\Customer Colors\SAP Greeno' -Name 'Hue' -Value 128 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance\Customer Colors\SAP Purple0' -Name 'Hue' -Value 268 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance\Systems\D01' -Name 'ThemeName' -Value 'SAP Gold' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance\Systems\EBD' -Name 'ThemeName' -Value 'SAP Gold0' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance\Systems\EBP' -Name 'ThemeName' -Value 'SAP Greeno' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance\Systems\EBQ' -Name 'ThemeName' -Value 'SAP Purple0' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance\Systems\EED' -Name 'ThemeName' -Value 'SAP Gold' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance\Systems\EEP' -Name 'ThemeName' -Value 'SAP Green' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance\Systems\EEQ' -Name 'ThemeName' -Value 'SAP Purple' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance\Systems\KA3' -Name 'ThemeName' -Value 'SAP Signature Default' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance\Systems\KAP' -Name 'ThemeName' -Value 'SAP Green' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\General\Appearance\Systems\KAQ' -Name 'ThemeName' -Value 'SAP Purple' -Type 'String' -SID $UserProfile.SID
- # 02_regLogonOptions.reg
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Options' -Name 'UseSAPLogonLanguageAsDefault' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Options' -Name 'MessageServerTimeout' -Value 10 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Options' -Name 'ConfirmDelete' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Options' -Name 'NoEditFunctionality' -Value 0 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Options' -Name 'SapguiNTCmdOpts' -Value '' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Options' -Name 'HideToTrayBar' -Value 0 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Options' -Name 'AllowCachingServerConfigFiles' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Options' -Name 'LandscapeCacheExpiryPeriod' -Value 0 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings' -Name 'LastSelectedNodeType' -Value '1' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings' -Name 'SplitterPosition' -Value '0' -Type 'String' -SID $UserProfile.SID
- # 03_regLogonPadPositions.reg
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'ColumnWidth1' -Value '254' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'ColumnWidth2' -Value '55' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'ColumnWidth3' -Value '55' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'ColumnWidth4' -Value '200' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'ColumnWidth5' -Value '135' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'ColumnWidth6' -Value '134' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'ColumnWidth7' -Value '150' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'ColumnOrder1' -Value 0 -Type 'Dword' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'ColumnOrder2' -Value 2 -Type 'Dword' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'ColumnOrder3' -Value 5 -Type 'Dword' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'ColumnOrder4' -Value 4 -Type 'Dword' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'ColumnOrder5' -Value 1 -Type 'Dword' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'ColumnOrder6' -Value 3 -Type 'Dword' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'ColumnOrder7' -Value 6 -Type 'Dword' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'Left' -Value '50' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'Top' -Value '50' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'Right' -Value '624' -Type 'String' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPLogon\Settings\Connections' -Name 'Bottom' -Value '640' -Type 'String' -SID $UserProfile.SID
- # 04_regCustomize.reg
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Administration' -Name 'ShowAdditionalTitleInfo' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Customize' -Name 'ShowCmdLine' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Customize' -Name 'Edit.InsertMode' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Customize' -Name 'StatusShowMode' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Customize' -Name 'Statusbar.Layout' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Customize' -Name 'QuickCP' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Customize' -Name 'BubbleDelay' -Value 0 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Customize' -Name 'BubbleOnTab' -Value 0 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Customize' -Name 'BeepError' -Value 0 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Customize' -Name 'PopupSuccess' -Value 0 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Customize' -Name 'PopupWarning' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Customize' -Name 'PopupError' -Value 0 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Customize' -Name 'Edit.CaretWidth' -Value 2 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\Customize' -Name 'Edit.BlockCursor' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\LocalData' -Name 'MaxCacheSize' -Value 10485760 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\LocalData' -Name 'MaxCacheFileSize' -Value 2097152 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\LocalData' -Name 'ShowMode' -Value 1 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\LocalData' -Name 'Expiration' -Value 3 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\LocalData' -Name 'FileSize' -Value 10 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\LocalData' -Name 'NoEntries' -Value 999 -Type 'DWord' -SID $UserProfile.SID
- Set-RegistryKey -Key 'HKCU\Software\SAP\SAPGUI Front\SAP Frontend Server\LocalData' -Name 'FieldLenHistoryOn' -Value 59 -Type 'DWord' -SID $UserProfile.SID
- }
- Invoke-HKCURegistrySettingsForAllUsers -RegistrySettings $HKCURegistrySettings
- ##*===============================================
- ##* POST-INSTALLATION
- ##*===============================================
- [string]$installPhase = 'Post-Installation'
- ## <Perform Post-Installation tasks here>
- ## Display a message at the end of the install
- If (-not $useDefaultMsi) { Show-InstallationPrompt -Message 'SAP installation is complete.' -ButtonRightText 'OK' -Icon Information -NoWait }
- }
- ElseIf ($deploymentType -ieq 'Uninstall')
- {
- ##*===============================================
- ##* PRE-UNINSTALLATION
- ##*===============================================
- [string]$installPhase = 'Pre-Uninstallation'
- ## Show Welcome Message, close Internet Explorer with a 60 second countdown before automatically closing
- Show-InstallationWelcome -CloseApps 'iexplore' -CloseAppsCountdown 60
- ## Show Progress Message (with the default message)
- Show-InstallationProgress
- ## <Perform Pre-Uninstallation tasks here>
- ##*===============================================
- ##* UNINSTALLATION
- ##*===============================================
- [string]$installPhase = 'Uninstallation'
- ## Handle Zero-Config MSI Uninstallations
- If ($useDefaultMsi) {
- [hashtable]$ExecuteDefaultMSISplat = @{ Action = 'Uninstall'; Path = $defaultMsiFile }; If ($defaultMstFile) { $ExecuteDefaultMSISplat.Add('Transform', $defaultMstFile) }
- Execute-MSI @ExecuteDefaultMSISplat
- }
- # <Perform Uninstallation tasks here>
- Execute-Process -Path "$envProgramFilesX86\SAP\SAPsetup\setup\NwSapSetup.exe" -Arguments '/uninstall /product="PdfPrintGui+SCRIPTED+SCE+SAPDTS+KW+GUIISHMED+JNet+CALSYNC+SAPGUI" /TitleComponent:"SAPGUI" /IgnoreMissingProducts /silent'
- ##*===============================================
- ##* POST-UNINSTALLATION
- ##*===============================================
- [string]$installPhase = 'Post-Uninstallation'
- ## <Perform Post-Uninstallation tasks here>
- }
- ##*===============================================
- ##* END SCRIPT BODY
- ##*===============================================
- ## Call the Exit-Script function to perform final cleanup operations
- Exit-Script -ExitCode $mainExitCode
- }
- Catch {
- [int32]$mainExitCode = 60001
- [string]$mainErrorMessage = "$(Resolve-Error)"
- Write-Log -Message $mainErrorMessage -Severity 3 -Source $deployAppScriptFriendlyName
- Show-DialogBox -Text $mainErrorMessage -Icon 'Stop'
- Exit-Script -ExitCode $mainExitCode
- }
Add Comment
Please, Sign In to add comment