Comments (5)
Please share your Deploy-Application.ps1 script so I can see what's going on.
from psappdeploytoolkit.
Not sure what you expect to find as I already put the command line in question in the OT. but here's the full ps1
<#
.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 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
Deploy-Application.ps1
.EXAMPLE
Deploy-Application.ps1 -DeployMode 'Silent'
.EXAMPLE
Deploy-Application.ps1 -AllowRebootPassThru -AllowDefer
.EXAMPLE
Deploy-Application.ps1 -DeploymentType Uninstall
.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.codeplex.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 = 'Microsoft'
[string]$appName = 'Internet Explorer'
[string]$appVersion = '11'
[string]$appArch = 'x64'
[string]$appLang = 'EN'
[string]$appRevision = '01'
[string]$appScriptVersion = '1.0.0'
[string]$appScriptDate = '27/05/2015'
[string]$appScriptAuthor = ''
##*===============================================
##* Do not modify section below
#region DoNotModify
## Variables: Exit Code
[int32]$mainExitCode = 0
## Variables: Script
[string]$deployAppScriptFriendlyName = 'Deploy Application'
[version]$deployAppScriptVersion = [version]'3.6.1'
[string]$deployAppScriptDate = '03/26/2015'
[hashtable]$deployAppScriptParameters = $psBoundParameters
## Variables: Environment
[string]$scriptDirectory = Split-Path -Path $MyInvocation.MyCommand.Definition -Parent
## Dot source the required App Deploy Toolkit Functions
Try {
[string]$moduleAppDeployToolkitMain = "$scriptDirectory\AppDeployToolkit\AppDeployToolkitMain.ps1"
If (-not (Test-Path -Path $moduleAppDeployToolkitMain -PathType Leaf)) { Throw "Module does not exist at the specified location [$moduleAppDeployToolkitMain]." }
If ($DisableLogging) { . $moduleAppDeployToolkitMain -DisableLogging } Else { . $moduleAppDeployToolkitMain }
}
Catch {
[int32]$mainExitCode = 60008
Write-Error -Message "Module [$moduleAppDeployToolkitMain] failed to load: `n$($_.Exception.Message)`n `n$($_.InvocationInfo.PositionMessage)" -ErrorAction 'Continue'
Exit $mainExitCode
}
#endregion
##* Do not modify section above
##*===============================================
##* END VARIABLE DECLARATION
##*===============================================
If ($deploymentType -ine 'Uninstall') {
##*===============================================
##* PRE-INSTALLATION
##*===============================================
[string]$installPhase = 'Pre-Installation'
## <Perform Pre-Installation tasks here>
Install-MSUpdates -Directory $dirSupportFiles
## 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 'iexplore' -CloseAppsCountdown 3600 -PersistPrompt
##*===============================================
##* INSTALLATION
##*===============================================
[string]$installPhase = 'Installation'
## Handle Zero-Config MSI Installations
##If ($useDefaultMsi) { Execute-MSI -Action 'Install' -Path $defaultMsiFile }
## <Perform Installation tasks here>
Execute-MSI -action 'Install' -path 'IE11-Setup-Full.msi'
##*===============================================
##* POST-INSTALLATION
##*===============================================
[string]$installPhase = 'Post-Installation'
## Enable Enterprise mode for IE11
set-Registrykey -key 'HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\EnterpriseMode' -name 'Enable' -value '' -ContinueonError $true
}
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 10
## <Perform Pre-Uninstallation tasks here>
##*===============================================
##* UNINSTALLATION
##*===============================================
[string]$installPhase = 'Uninstallation'
## Handle Zero-Config MSI Uninstallations
If ($useDefaultMsi) { Execute-MSI -Action 'Uninstall' -Path $defaultMsiFile }
# <Perform Uninstallation tasks here>
Execute-MSI -Action 'Uninstall' -Path '{EFFD9AD1-3969-46FC-AD83-0F4669EBF5C3}'
##*===============================================
##* 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
}
from psappdeploytoolkit.
I fixed it in the post above, but when posting code, three back ticks before and after your code displays the code in a code block.
I wanted to see what your Execute-MSI command line looked like when using the -PassThru option. It looks like you reverted the line and it does not have that option on there currently.
However, your original post mentioned that you used this line:
Execute-MSI -action 'Install' -path 'IE11-Setup-Full.msi' -PassTru
When using the -PassThru options, you need to store the results of the execution being passed back into some variable like so:
$ExecuteMSIResult = Execute-MSI -action 'Install' -path 'IE11-Setup-Full.msi' -PassTru
I am really confused about how that TRANSFORMS="True" is getting into the command line. It's like TRANSFORMS is being set to some boolean value when it should actually be the name of some MST file.
from psappdeploytoolkit.
You're right, my mistake. As we are in different timezones I did not wait around for an answer and just left the option out afterwards. I did not know I had to catch the return exit code in a variable though. The documentation did not say so and there was no example (yet). So my assumption was the toolkit would just watch that parameter/flag and when used take the exit code of the msi installation back into the main script as the main exit code while otherwise it would handle the exit code as usual.
I'll try it that way asap and let you know. as I did not use the -passthru parameter as it is supposed to be used that could be the reason those "transform" properties showed up in the commandline also.. I'll have to see.
thanks!
from psappdeploytoolkit.
I added a new example to Execute-MSI. Please let me know if your issue has been resolved.
from psappdeploytoolkit.
Related Issues (20)
- [Bug] Remove-File doesn't like single quotes. HOT 4
- Show-InstallationWelcome[Feature] HOT 1
- [Feature] Remove-EXEApplications HOT 1
- [Feature] Allow Get-InstalledApplication to also retrieve user context applications HOT 5
- [Bug] Show-InstallationPrompt via MCM/SCCM is not displayed for interactive installations HOT 42
- [Bug] Get-FileVersion -ProductVersion sometimes has trailing whitespace
- [Bug] RoboCopy Error 16 in CopyFile when started from UNC Path HOT 3
- Reference/documentation as pdf
- [Feature] Add and Remove Registry Key Values from Type MultiString without affecting existing ones
- [Bug] v3.10.1 Deploy-Application.exe triggers Defender ASR for vulnerable signed drivers HOT 1
- [Feature] Add AppDeployToolkitLogo.png in customization documentation HOT 1
- [Bug] Function Write-log does not work if log filename has Square Brackets HOT 7
- [Bug] No execute-ProcessasUser by Active Setup with *.cmd as Systemaccount HOT 1
- [Bug] Deploy-Application.exe crashing on several devices
- [Bug] Function code examples do not work correctly with Get-Help HOT 1
- [Bug] Logs created during user context execution are not allowed to be altered by other users HOT 1
- Execution failed HOT 3
- [Documentation] Copy-File documentation needs more info HOT 1
- [Feature] Pauze after deffer period HOT 2
- [Bug] Activesetup not applying for current logged on user HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from psappdeploytoolkit.