aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning/common/windows/opcua_unifiedautomation.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'coin/provisioning/common/windows/opcua_unifiedautomation.ps1')
-rw-r--r--coin/provisioning/common/windows/opcua_unifiedautomation.ps179
1 files changed, 55 insertions, 24 deletions
diff --git a/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1
index cdc54c2b..70fcaae0 100644
--- a/coin/provisioning/common/windows/opcua_unifiedautomation.ps1
+++ b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1
@@ -33,27 +33,58 @@
. "$PSScriptRoot\helpers.ps1"
-$zip = Get-DownloadLocation "uasdkcpp.zip"
-$sha1 = "C73278B4C10DF0E3D60ABAA159ABA9185095124C"
-$installLocation = "C:\Utils\uacpp"
-
-Write-Host "UACPPSDK: Downloading Unified Automation CPP installer..."
-$internalUrl = "http://ci-files01-hki.intra.qt.io/input/opcua_uacpp/uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.6.3-406.zip"
-# No public download link exists
-$externalUrl = $internalUrl
-
-Download $externalUrl $internalUrl $zip
-Verify-Checksum $zip $sha1
-
-Write-Host "UACPPSDK: Installing $zip..."
-Extract-7Zip $zip (Get-DefaultDownloadLocation)
-Remove-Item -Path $zip
-
-$executable = (Get-DefaultDownloadLocation) + "uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.6.3-406.exe"
-$arguments = "/S /D=$installLocation"
-Run-Executable $executable $arguments
-Write-Host "UACPPSDK: Installer done."
-Remove-Item $executable
-
-Write-Host "Set environment variable for COIN to locate SDK"
-Set-EnvironmentVariable "CI_UACPP_msvc2015_x86_PREFIX" "$installLocation"
+function DownloadAndInstallUA
+{
+ Param (
+ [string] $InstallerFileName = $(BadParam("no download URL specified")),
+ [string] $sha1 = $(BadParam("No SHA1 for download specified")),
+ [string] $Destination = $(BadParam("No location to install specified"))
+ )
+ Write-Host "UACPPSDK: DownloadAndInstallUA $InstallerFileName"
+ $zip = Get-DownloadLocation "uasdkcpp.zip"
+
+ Write-Host "UACPPSDK: Downloading Unified Automation CPP installer..."
+ $internalUrl = "http://ci-files01-hki.intra.qt.io/input/opcua_uacpp/$InstallerFileName.zip"
+ # No public download link exists
+ $externalUrl = $internalUrl
+
+ Download $externalUrl $internalUrl $zip
+ Verify-Checksum $zip $sha1
+
+ Write-Host "UACPPSDK: Extracting $zip..."
+ Extract-7Zip $zip (Get-DefaultDownloadLocation)
+ Remove-Item -Path $zip
+
+ $executable = (Get-DefaultDownloadLocation) + "$InstallerFileName.exe"
+ # We cannot call the installer as the x86 and x64 versions of the installer are not
+ # allowed to be installed in parallel (they check for the same registry value and
+ # delete each other). Extracting does not have a side-effect for Qt
+ #$arguments = "/S /D=$installLocation"
+ #Run-Executable $executable $arguments
+ #Write-Host "UACPPSDK: Installer done."
+ #Remove-Item $executable
+
+ Extract-7Zip $executable $Destination
+ Remove-Item $executable
+}
+
+#x86 version
+$installerName86 = "uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.6.3-406"
+$downloadSha86 = "C73278B4C10DF0E3D60ABAA159ABA9185095124C"
+$installLocation86 = "C:\Utils\uacpp_x86"
+
+DownloadAndInstallUA $installerName86 $downloadSha86 $installLocation86
+Set-EnvironmentVariable "CI_UACPP_msvc2015_x86_PREFIX" "$installLocation86"
+# For UA msvc2015 is binary compatible with msvc2017
+Set-EnvironmentVariable "CI_UACPP_msvc2017_x86_PREFIX" "$installLocation86"
+
+
+#x64 version
+$installerName64 = "uasdkcppbundle-bin-EVAL-win64-x86_64-vs2015-v1.6.3-406"
+$downloadSha64 = "1384e6882644f9163e9840aee962cdb9ca3398c8"
+$installLocation64 = "C:\Utils\uacpp_x64"
+
+DownloadAndInstallUA $installerName64 $downloadSha64 $installLocation64
+Set-EnvironmentVariable "CI_UACPP_msvc2015_x64_PREFIX" "$installLocation64"
+# For UA msvc2015 is binary compatible with msvc2017
+Set-EnvironmentVariable "CI_UACPP_msvc2017_x64_PREFIX" "$installLocation64"