Install-EXEFile.ps1
function Install-EXEFile { Param( [parameter(mandatory=$true,ValueFromPipeline=$true,ValueFromPipelinebyPropertyName=$true)] [ValidateNotNullorEmpty()] [string]$exeFile, [ValidateNotNullorEmpty()] [parameter(mandatory=$true)] [string]$targetDir ) if (!(Test-Path -Path $exeFile)){ throw ('Path to the EXE File {0} is invalid. Please supply a valid EXE file' -f ($exeFile)) } $arguments = @( '/silent' '/verysilent' '/sp-' '/suppressmsgboxes' ) if ($targetDir){ if (!(Test-Path -Path $targetDir)){ throw ('Path to the Installation Directory {0} is invalid. Please supply a valid installation directory' -f ($targetDir)) } #$arguments += "INSTALLDIR=`"$targetDir`"" } Write-Verbose -Message ('Installing {0}.....' -f $exeFile) $process = Start-Process -FilePath $exeFile -ArgumentList $arguments -Wait -PassThru if ($process.ExitCode -eq 0){ Write-Verbose -Message ('{0} has been successfully installed' -f $exeFile) } else { if ($process.ExitCode -eq 1603) { Write-Verbose -Message ('installer exit code {0} for file {1}' -f $process.ExitCode, ($exeFile)) Write-Verbose -Message 'Most likely the app is already installed.' } else { Write-Verbose -Message ('installer exit code {0} for file {1}' -f $process.ExitCode, ($exeFile)) } } } # SIG # Begin signature block # MIINIQYJKoZIhvcNAQcCoIINEjCCDQ4CAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR # AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUu35XEhXpkzsU6jifmxC9J6p6 # 17+gggpWMIIE9TCCA92gAwIBAgIQDds7KUp1C2lNg1S+Cw9FaDANBgkqhkiG9w0B # AQsFADB/MQswCQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRp # b24xHzAdBgNVBAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxMDAuBgNVBAMTJ1N5 # bWFudGVjIENsYXNzIDMgU0hBMjU2IENvZGUgU2lnbmluZyBDQTAeFw0xNTEyMDIw # MDAwMDBaFw0xODAxMzAyMzU5NTlaMIGHMQswCQYDVQQGEwJVUzETMBEGA1UECBMK # Q2FsaWZvcm5pYTESMBAGA1UEBxMJUml2ZXJzaWRlMRcwFQYDVQQKFA5DaHJvbnRl # Y2ggSW5jLjEdMBsGA1UECxQUU29mdHdhcmUgRGV2ZWxvcG1lbnQxFzAVBgNVBAMU # DkNocm9udGVjaCBJbmMuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA # pukh0glcvSNZ3FVOdbx60qhY1kNa89fdPNEBhQ/BOvYQN+FcwEoWoDp4HmclDUtT # pncKvsXZySbPMtZQOUGpI2D1lRnCQQCTWqJQ2UWBDJKfhk3O/46AI8SjwC0H60DJ # SA7I1K9oVpyGp595iQ66hsnaLUmNq4/CtLrUeyhBALtlbwrWJJgnTizJT9+N8FWR # r3aqTW1rjpN6ydDI5WopzrcJQDY3OX7Gkn5bud1QbY5mERoQ6t5JHun1u2MbkXBu # R5G24JMcXkdJrTQoKHolWXknU8yjnglqtZ+WcdVnUmoOs301dASJ2Ij384HoZe7P # E6CoPoWKxs93w7NEFP8PzQIDAQABo4IBYjCCAV4wCQYDVR0TBAIwADAOBgNVHQ8B # Af8EBAMCB4AwKwYDVR0fBCQwIjAgoB6gHIYaaHR0cDovL3N2LnN5bWNiLmNvbS9z # di5jcmwwZgYDVR0gBF8wXTBbBgtghkgBhvhFAQcXAzBMMCMGCCsGAQUFBwIBFhdo # dHRwczovL2Quc3ltY2IuY29tL2NwczAlBggrBgEFBQcCAjAZDBdodHRwczovL2Qu # c3ltY2IuY29tL3JwYTATBgNVHSUEDDAKBggrBgEFBQcDAzBXBggrBgEFBQcBAQRL # MEkwHwYIKwYBBQUHMAGGE2h0dHA6Ly9zdi5zeW1jZC5jb20wJgYIKwYBBQUHMAKG # Gmh0dHA6Ly9zdi5zeW1jYi5jb20vc3YuY3J0MB8GA1UdIwQYMBaAFJY7U/B5M5ev # fYPvLivMyreGHnJmMB0GA1UdDgQWBBQjUbqnPTPQ1a1EWJmpTZfzT/yEETANBgkq # hkiG9w0BAQsFAAOCAQEAjY6yJ1LtbzLiESH9MAQC/7EtLpayedozPxvy80psOmo8 # IVl3CC1L0AQH0Fa7qSNL313kTBzC9i/488XZz6cg4x1Ek94D82E9UL2e/Ur0CHeO # c9znbS9oKK6FoYjy/JFmr3UUI6LmVwJ1IK95MlRtHhf3e19rVdQDlA33z6Nk33hy # CU6kgrgxSmNKwsjY/YW1WPZpBXELK8aIxRyTepVYTQetCoLyDhTd8MuZYUzFIDCg # FTInQKHPf8JNMND/iItFadGbkUelmM1j1Q/x1n3it1245A/J3K4UzfE2Xslv41JU # l3dg6leOodoKUfwWzYm+H+Sx/rezb6IdgN7LpM0tBDCCBVkwggRBoAMCAQICED14 # 1/l2SWCyYX308B7KhiowDQYJKoZIhvcNAQELBQAwgcoxCzAJBgNVBAYTAlVTMRcw # FQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0GA1UECxMWVmVyaVNpZ24gVHJ1c3Qg # TmV0d29yazE6MDgGA1UECxMxKGMpIDIwMDYgVmVyaVNpZ24sIEluYy4gLSBGb3Ig # YXV0aG9yaXplZCB1c2Ugb25seTFFMEMGA1UEAxM8VmVyaVNpZ24gQ2xhc3MgMyBQ # dWJsaWMgUHJpbWFyeSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc1MB4XDTEz # MTIxMDAwMDAwMFoXDTIzMTIwOTIzNTk1OVowfzELMAkGA1UEBhMCVVMxHTAbBgNV # BAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVz # dCBOZXR3b3JrMTAwLgYDVQQDEydTeW1hbnRlYyBDbGFzcyAzIFNIQTI1NiBDb2Rl # IFNpZ25pbmcgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCXgx4A # Fq8ssdIIxNdok1FgHnH24ke021hNI2JqtL9aG1H3ow0Yd2i72DarLyFQ2p7z518n # TgvCl8gJcJOp2lwNTqQNkaC07BTOkXJULs6j20TpUhs/QTzKSuSqwOg5q1PMIdDM # z3+b5sLMWGqCFe49Ns8cxZcHJI7xe74xLT1u3LWZQp9LYZVfHHDuF33bi+VhiXjH # aBuvEXgamK7EVUdT2bMy1qEORkDFl5KK0VOnmVuFNVfT6pNiYSAKxzB3JBFNYoO2 # untogjHuZcrf+dWNsjXcjCtvanJcYISc8gyUXsBWUgBIzNP4pX3eL9cT5DiohNVG # uBOGwhud6lo43ZvbAgMBAAGjggGDMIIBfzAvBggrBgEFBQcBAQQjMCEwHwYIKwYB # BQUHMAGGE2h0dHA6Ly9zMi5zeW1jYi5jb20wEgYDVR0TAQH/BAgwBgEB/wIBADBs # BgNVHSAEZTBjMGEGC2CGSAGG+EUBBxcDMFIwJgYIKwYBBQUHAgEWGmh0dHA6Ly93 # d3cuc3ltYXV0aC5jb20vY3BzMCgGCCsGAQUFBwICMBwaGmh0dHA6Ly93d3cuc3lt # YXV0aC5jb20vcnBhMDAGA1UdHwQpMCcwJaAjoCGGH2h0dHA6Ly9zMS5zeW1jYi5j # b20vcGNhMy1nNS5jcmwwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMDMA4G # A1UdDwEB/wQEAwIBBjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRU3ltYW50ZWNQ # S0ktMS01NjcwHQYDVR0OBBYEFJY7U/B5M5evfYPvLivMyreGHnJmMB8GA1UdIwQY # MBaAFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqGSIb3DQEBCwUAA4IBAQAThRoe # aak396C9pK9+HWFT/p2MXgymdR54FyPd/ewaA1U5+3GVx2Vap44w0kRaYdtwb9oh # BcIuc7pJ8dGT/l3JzV4D4ImeP3Qe1/c4i6nWz7s1LzNYqJJW0chNO4LmeYQW/Ciw # sUfzHaI+7ofZpn+kVqU/rYQuKd58vKiqoz0EAeq6k6IOUCIpF0yH5DoRX9akJYmb # BWsvtMkBTCd7C6wZBSKgYBU/2sn7TUyP+3Jnd/0nlMe6NQ6ISf6N/SivShK9DbOX # Bd5EDBX6NisD3MFQAfGhEV0U5eK9J0tUviuEXg+mw3QFCu+Xw4kisR93873NQ9Tx # TKk/tYuEr2Ty0BQhMYICNTCCAjECAQEwgZMwfzELMAkGA1UEBhMCVVMxHTAbBgNV # BAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVz # dCBOZXR3b3JrMTAwLgYDVQQDEydTeW1hbnRlYyBDbGFzcyAzIFNIQTI1NiBDb2Rl # IFNpZ25pbmcgQ0ECEA3bOylKdQtpTYNUvgsPRWgwCQYFKw4DAhoFAKB4MBgGCisG # AQQBgjcCAQwxCjAIoAKAAKECgAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw # HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJKoZIhvcNAQkEMRYEFBbt # r8DBAO+LBYyTSeMs1UEObWs/MA0GCSqGSIb3DQEBAQUABIIBAAYKxfiifgr0ClRS # bnULKidtWfvlm7VFmm5sM/WAeJDdLKTM66FkZ6DUaYztf6jtFBXjMNH8ySSkxoWb # qHBuEPqS1WNb6MwvQS8b2F4/ejkZyx9g7LXdTL4O5UxvYGRNXrJsUkNV58bfAhT8 # u1TNpx+SfWgGbxCSSmgHmbJ/LQz2cwAEVN8HNaceaFzI7qu6R8XmLTa3ayqXjrhK # ZQ7yR46Ts4fasch6R+6PACtgK6IBGhGkkfSAi62q6CkI5v098S3dVQaFrVO+vDnI # oYhy81yTXSxTf78oywwRHrp/XuIdiQK5rt/MQi05fsP2L8vOQ55THIzm+8vGYecV # 10DEWbI= # SIG # End signature block |