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).
- .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 in to 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.
- To access the help section,
- .EXAMPLE
- Deploy-Application.ps1
- .EXAMPLE
- Deploy-Application.ps1 -DeploymentMode "Silent"
- .EXAMPLE
- Deploy-Application.ps1 -AllowRebootPassThru -AllowDefer
- .EXAMPLE
- Deploy-Application.ps1 -Uninstall
- .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.
- Interactive = Default mode
- Silent = No dialogs
- NonInteractive = Very silent, i.e. no blocking apps. Noninteractive mode is automatically set if an SCCM task sequence or session 0 is detected.
- .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 on Remote Destkop Session Host/Citrix servers
- .NOTES
- .LINK
- Http://psappdeploytoolkit.codeplex.com
- "#>
- Param (
- [ValidateSet("Install","Uninstall")]
- [string] $DeploymentType = "Install",
- [ValidateSet("Interactive","Silent","NonInteractive")]
- [string] $DeployMode = "Interactive",
- [switch] $AllowRebootPassThru = $false,
- [switch] $TerminalServerMode = $false
- )
- #*===============================================
- #* VARIABLE DECLARATION
- Try {
- #*===============================================
- #*===============================================
- # Variables: Application
- $appVendor = "Adobe"
- $appName = "Flash Player"
- $appVersion = "14.0.0.145"
- $appArch = ""
- $appLang = "EN"
- $appRevision = "01"
- $appScriptVersion = "1.0.0"
- $appScriptDate = "07/15/2014"
- $appScriptAuthor = "Chris Thomas"
- #*===============================================
- # Variables: Script - Do not modify this section
- $deployAppScriptFriendlyName = "Deploy Application"
- $deployAppScriptVersion = [version]"3.1.4"
- $deployAppScriptDate = "06/10/2014"
- $deployAppScriptParameters = $psBoundParameters
- # Variables: Environment
- $scriptDirectory = Split-Path -Parent $MyInvocation.MyCommand.Definition
- # Dot source the App Deploy Toolkit Functions
- ."$scriptDirectory\AppDeployToolkit\AppDeployToolkitMain.ps1"
- #*===============================================
- #* END VARIABLE DECLARATION
- #*===============================================
- #*===============================================
- #* PRE-INSTALLATION
- If ($deploymentType -ne "uninstall") { $installPhase = "Pre-Installation"
- #*===============================================
- # Perform pre-installation tasks here
- # Prompt the user to close the following applications if they are running:
- Show-InstallationWelcome -CloseApps "iexplore,firefox" -AllowDefer -DeferTimes 3
- # Show Progress Message (with the default message)
- Show-InstallationProgress
- # Remove any previous versions of Adobe Flash Player
- Remove-MSIApplications "Adobe Flash Player"
- #*===============================================
- #* INSTALLATION
- $installPhase = "Installation"
- #*===============================================
- # Perform installation tasks here
- # Install Adobe Flash Player Active X MSI
- Execute-MSI -Action Install -Path "$dirFiles\install_flash_player_14_active_x.msi" -Transform "$dirFiles\install_flash_player_14_active_x.mst"
- # Install Adobe Flash Player Plugin MSI
- Execute-MSI -Action Install -Path "$dirFiles\install_flash_player_14_plugin.msi" -Transform "$dirFiles\install_flash_player_14_plugin.mst"
- #*===============================================
- #* POST-INSTALLATION
- $installPhase = "Post-Installation"
- #*===============================================
- # Perform post-installation tasks here
- # Copy MMS.CFG to disable AutoUpdate
- Copy-File -Path "$dirSupportFiles\mms.cfg" -Destination "$envWinDir\system32\Macromed\Flash\"
- If ($DeployMode -ne "Silent") {
- # Inform the user that the installation has completed
- Show-InstallationPrompt -Message "$installTitle has completed installation. `n `n If you encounter any issues with this software please enter a ticket or call Help Desk at x4357." -Icon "Information" -ButtonMiddleText "OK" -NoWait
- }
- #*===============================================
- #* UNINSTALLATION
- } ElseIf ($deploymentType -eq "uninstall") { $installPhase = "Uninstallation"
- #*===============================================
- # Perform uninstallation tasks here
- # Prompt the user to close the following applications if they are running:
- Show-InstallationWelcome -CloseApps "iexplore,firefox" -AllowDefer -DeferTimes 3
- # Show Progress Message (with a message to indicate the application is being uninstalled)
- Show-InstallationProgress -StatusMessage "Uninstalling Application $installTitle. Please Wait..."
- # Perform uninstallation tasks here
- Execute-MSI -Action Uninstall -Path "{C4B95D2E-BDE6-412D-AF7B-EC43A298C55B}"
- Execute-MSI -Action Uninstall -Path "{3FC9A6DE-C105-4576-8F63-656FFB1BF8EB}"
- #*===============================================
- #* END SCRIPT BODY
- } } Catch { $exceptionMessage = "$($_.Exception.Message) `($($_.ScriptStackTrace)`)"; Write-Log "$exceptionMessage"; Show-DialogBox -Text $exceptionMessage -Icon "Stop"; Exit-Script -ExitCode 1 } # Catch any errors in this script
- Exit-Script -ExitCode 0 # Otherwise call the Exit-Script function to perform final cleanup operations
- #*===============================================
Add Comment
Please, Sign In to add comment