diff options
| author | David Pinedo <david@lunarg.com> | 2016-06-03 12:08:12 -0600 |
|---|---|---|
| committer | David Pinedo <david@lunarg.com> | 2016-06-03 12:08:12 -0600 |
| commit | 0a714b8073c14dbf01dc6fd4a3929c40a4ae63a0 (patch) | |
| tree | 295fa98225c43046c849bc5151e8d97dd369568b /windowsRuntimeInstaller | |
| parent | ab78fa872290a295b42a092ab931ad7a41b0fdfa (diff) | |
| download | usermoji-0a714b8073c14dbf01dc6fd4a3929c40a4ae63a0.tar.xz | |
winrtinstaller: fixes and diagnostics for powershell config script failure
Diffstat (limited to 'windowsRuntimeInstaller')
| -rw-r--r-- | windowsRuntimeInstaller/ConfigLayersAndVulkanDLL.ps1 | 202 | ||||
| -rw-r--r-- | windowsRuntimeInstaller/Diagnostic1.ps1 | 183 | ||||
| -rw-r--r-- | windowsRuntimeInstaller/InstallerRT.nsi | 89 |
3 files changed, 350 insertions, 124 deletions
diff --git a/windowsRuntimeInstaller/ConfigLayersAndVulkanDLL.ps1 b/windowsRuntimeInstaller/ConfigLayersAndVulkanDLL.ps1 index 3b782409..891984b3 100644 --- a/windowsRuntimeInstaller/ConfigLayersAndVulkanDLL.ps1 +++ b/windowsRuntimeInstaller/ConfigLayersAndVulkanDLL.ps1 @@ -39,21 +39,18 @@ Param( [int]$ossize
)
-# Clear any pre-existing errors
+# Clear any pre-existing errors and set default return value
$Error.Clear();
+$script:scriptReturnValue=0
# Start logging
-$log=$Env:Temp+"\VulkanRT"
-New-Item -ItemType Directory -Force -Path $log | Out-Null
-$logascii=$log+"\ConfigLayersAndVulkanDLL.log"
-
-# Temp to be used for debugging failure to install issue
-#$logascii2=$Env:Temp+"\ConfigLayersAndVulkanDLL_debug.log"
-
-$log=$log+"\ConfigLayersAndVulkanDLL16.log"
-
+$logascii=$Env:Temp+"\ConfigLayersAndVulkanDLL.log"
+$log=$Env:Temp+"\ConfigLayersAndVulkanDLL16.log"
start-transcript -path $log
+# Ignore errors related to log file
+$Error.Clear();
+
Write-Host "ConfigLayersAndVulkanDLL.ps1 called with inputs of : $majorabi $ossize"
$startTime=Get-Date
Write-Host "Start time : $startTime"
@@ -72,6 +69,16 @@ function notNumeric ($x) { }
}
+function Get-CurrentLineNumber {
+ $MyInvocation.ScriptLineNumber
+}
+
+function setScriptReturnValue($rvalue) {
+ if ($script:scriptReturnValue -eq 0) {
+ $script:scriptReturnValue = $rvalue
+ }
+}
+
# The name of the versioned vulkan dll file is one of the following:
#
# vulkan-<majorabi>-<major>-<minor>-<patch>-<buildno>-<prerelease>-<prebuildno>
@@ -209,7 +216,7 @@ function UpdateVulkanSysFolder([string]$dir, [int]$writeSdkName) if (notNumeric($major)) {
Write-Warning "Ignoring $_ - bad major"
- # Not a real d, so just clear it for now.
+ # Not a real error, so just clear it for now.
$Error.Clear();
# NOTE: Inside a ForEach-Object block, the 'return' call behaves like a 'continue' for a For loop
@@ -266,6 +273,7 @@ function UpdateVulkanSysFolder([string]$dir, [int]$writeSdkName) $script:VulkanDllList+="$major=$minor=$patch=$buildno=$prebuildno=$prerelease= $_ @$majorOrig@$minorOrig@$patchOrig@$buildnoOrig@$prereleaseOrig@$prebuildnoOrig@"
if (!$?) {
Write-Error "Error: UpdateVulkanSysFolder adding DLL $_ to list"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
}
@@ -278,6 +286,7 @@ function UpdateVulkanSysFolder([string]$dir, [int]$writeSdkName) [array]::sort($script:VulkanDllList)
if (!$?) {
Write-Error "Error: UpdateVulkanSysFolder sorting DLL list"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
# Put the name of the most recent vulkan-*.dll in $mrVulkanDLL.
@@ -288,6 +297,7 @@ function UpdateVulkanSysFolder([string]$dir, [int]$writeSdkName) Copy-Item $mrVulkanDll $vulkandll -force
if (!$?) {
Write-Error "Error: UpdateVulkanSysFolder encountered error during copy $mrVulkanDll $vulkandll"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
# Copy the most recent version of vulkaninfo-<abimajor>-*.exe to vulkaninfo.exe.
@@ -298,6 +308,7 @@ function UpdateVulkanSysFolder([string]$dir, [int]$writeSdkName) Copy-Item $mrVulkaninfo vulkaninfo.exe -force
if (!$?) {
Write-Error "Error: UpdateVulkanSysFolder encountered error during copy $mrVulkaninfo vulkaninfo.exe"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
# Create the name used in the registry for the SDK associated with $mrVulkanDll.
@@ -319,6 +330,7 @@ function UpdateVulkanSysFolder([string]$dir, [int]$writeSdkName) Write-Host "sdkname = $sdktempname"
if (!$?) {
Write-Error "Error: UpdateVulkanSysFolder encountered error generating SDK name"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
}
@@ -326,6 +338,7 @@ function UpdateVulkanSysFolder([string]$dir, [int]$writeSdkName) Pop-Location
if (!$?) {
Write-Error "Error: UpdateVulkanSysFolder popping location"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
# Only update the overall script-scope SDK name if we're told to
@@ -343,6 +356,7 @@ if ($ossize -eq 64) { UpdateVulkanSysFolder $winfolder\SYSWOW64 0
if (!$?) {
Write-Error "Error: Calling UpdateVulkanSysFolder for 64-bit OS"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
}
@@ -351,6 +365,7 @@ Write-Host "Calling UpdateVulkanSysFolder $winfolder\SYSTEM32 1" UpdateVulkanSysFolder $winfolder\SYSTEM32 1
if (!$?) {
Write-Error "Error: Calling UpdateVulkanSysFolder for all OS"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
# Create an array of vulkan sdk install dirs
@@ -358,34 +373,42 @@ if (!$?) { Write-Host "Creating array of of Vulkan SDK Install dirs"
$mrVulkanDllInstallDir=""
$VulkanSdkDirs=@()
-Get-ChildItem -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall |
- ForEach-Object {
- $regkey=$_ -replace ".*\\",""
- if ($_ -match "\\VulkanSDK") {
- # Get the install path from UninstallString
- $tmp=Get-ItemProperty -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$regkey -Name UninstallString
- if (!$?) {
- Write-Error "Error: Get-ItemProperty failed for Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$regkey"
- }
- $tmp=$tmp -replace "\\Uninstall.exe.*",""
- $tmp=$tmp -replace ".*=.",""
- Write-Host "Adding $tmp to VulkanSDKDirs"
- $VulkanSdkDirs+=$tmp
- if ($regkey -eq $script:sdkname) {
- # Save away the sdk install dir for the the most recent vulkandll
- Write-Host "Setting mrVulkanDllInstallDir to $tmp"
- $mrVulkanDllInstallDir=$tmp
- }
- }
+$installSDKRegs = @(Get-ChildItem -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall)
+if ($installSDKRegs -ne $null) {
+ ForEach ($curSDKReg in $installSDKRegs) {
+ if ($curSDKReg -ne $null) {
+ $regkey=$curSDKReg -replace ".*\\",""
+ if ($regkey -match "VulkanSDK") {
+ # Get the install path from UninstallString
+ $tmp=Get-ItemProperty -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$regkey -Name UninstallString
+ if (!$? -or $tmp -eq $null) {
+ Write-Warning "Error: Get-ItemProperty failed for Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$regkey"
+ $Error.Clear();
+ continue;
+ }
+ $tmp=$tmp -replace "\\Uninstall.exe.*",""
+ $tmp=$tmp -replace ".*=.",""
+ Write-Host "Adding $tmp to VulkanSDKDirs"
+ $VulkanSdkDirs+=$tmp
+ if ($regkey -eq $script:sdkname) {
+ # Save away the sdk install dir for the the most recent vulkandll
+ Write-Host "Setting mrVulkanDllInstallDir to $tmp"
+ $mrVulkanDllInstallDir=$tmp
+ }
+ }
+ }
}
+}
if (!$?) {
Write-Error "Error: Failed creating array of of Vulkan SDK Install dirs"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
# Search list of sdk install dirs for an sdk compatible with $script:sdkname.
# We go backwards through VulkanDllList to generate SDK names, because we want the most recent SDK.
-if ($mrVulkanDllInstallDir -eq "") {
+
+if ($mrVulkanDllInstallDir -eq "" -and $script:VulkanDllList.Length -gt 0) {
Write-Host "Searching VulkanDllList"
ForEach ($idx in ($script:VulkanDllList.Length-1)..0) {
$tmp=$script:VulkanDllList[$idx]
@@ -404,8 +427,8 @@ if ($mrVulkanDllInstallDir -eq "") { }
Write-Host "Comparing $regEntry"
$rval=Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$regEntry -ErrorAction SilentlyContinue
- if (!$?) {
- Write-Warning "Ignoring $regEntry because Get-ItemProperty failed to find corresponding SDK registry entry"
+ if (!$? -or $rval -eq $null) {
+ Write-Warning "Ignoring $regEntry - corresponding SDK registry entry does not exist"
$Error.Clear();
continue
}
@@ -426,7 +449,8 @@ if ($mrVulkanDllInstallDir -eq "") { }
}
if (!$?) {
- Write-Error "Error: Failed searching VulkanDLLList"
+ Write-Warning "Failed searching VulkanDLLList"
+ $Error.Clear();
}
}
@@ -446,45 +470,53 @@ $VulkanSdkDirs+="$windrive\VulkanSDK\0.9.3" # layers were installed that are not from an SDK, we don't mess with them.
Write-Host "Removing old layer registry values from HKLM\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
-Get-Item -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers | Select-Object -ExpandProperty Property |
- ForEach-Object {
- $regval=$_
- ForEach ($sdkdir in $VulkanSdkDirs) {
- if ($regval -like "$sdkdir\*.json") {
- Remove-ItemProperty -ErrorAction SilentlyContinue -Path HKLM:\SOFTWARE\Khronos\Vulkan\ExplicitLayers -name $regval
- if (!$?) {
- Write-Error "Error: Remove-ItemProperty failed for -Path HKLM:\SOFTWARE\Khronos\Vulkan\ExplicitLayers -name $regval"
- } else {
- Write-Host "Removed registry value $regval"
+$regkeys = @(Get-Item -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers | Select-Object -ExpandProperty Property)
+if ($regkeys -ne $null) {
+ ForEach ($regval in $regkeys) {
+ if ($regval -ne $null) {
+ ForEach ($sdkdir in $VulkanSdkDirs) {
+ if ($regval -like "$sdkdir\*.json") {
+ Remove-ItemProperty -ErrorAction SilentlyContinue -Path HKLM:\SOFTWARE\Khronos\Vulkan\ExplicitLayers -name $regval
+ if (!$?) {
+ Write-Error "Error: Remove-ItemProperty failed for -Path HKLM:\SOFTWARE\Khronos\Vulkan\ExplicitLayers -name $regval"
+ } else {
+ Write-Host "Removed registry value $regval"
+ }
}
- }
- }
- }
+ }
+ }
+ }
+}
if (!$?) {
Write-Error "Error: Failed Removing old layer registry values from HKLM\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
# Remove 32-bit layer registry value if we're targeting a 64-bit OS
if ($ossize -eq 64) {
- Get-Item -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers | Select-Object -ExpandProperty Property |
- ForEach-Object {
- $regval=$_
- ForEach ($sdkdir in $VulkanSdkDirs) {
- if ($regval -like "$sdkdir\*.json") {
- Remove-ItemProperty -ErrorAction SilentlyContinue -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers -name $regval
- if (!$?) {
- Write-Error "Error: Remove-ItemProperty failed for -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers -name $regval"
- } else {
- Write-Host "Removed WOW6432Node registry value $regval"
+ $regkeys = @(Get-Item -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers | Select-Object -ExpandProperty Property)
+ if ($regkeys -ne $null) {
+ ForEach ($regval in $regkeys) {
+ if ($regval -ne $null) {
+ ForEach ($sdkdir in $VulkanSdkDirs) {
+ if ($regval -like "$sdkdir\*.json") {
+ Remove-ItemProperty -ErrorAction SilentlyContinue -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers -name $regval
+ if (!$?) {
+ Write-Error "Error: Remove-ItemProperty failed for -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers -name $regval"
+ } else {
+ Write-Host "Removed WOW6432Node registry value $regval"
+ }
}
}
- }
+ }
}
+ }
- if (!$?) {
- Write-Error "Error: Failed Removing old layer registry values from HKLM\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers"
- }
+ if (!$?) {
+ Write-Error "Error: Failed Removing old layer registry values from HKLM\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers"
+ setScriptReturnValue(Get-CurrentLineNumber)
+ }
}
@@ -499,6 +531,7 @@ if ($mrVulkanDllInstallDir -ne "") { New-Item -Force -ErrorAction SilentlyContinue -Path HKLM:\SOFTWARE\Khronos\Vulkan\ExplicitLayers | out-null
if (!$?) {
Write-Error "Error: Failed creating HKLM\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
}
if ($ossize -eq 64) {
@@ -507,6 +540,7 @@ if ($mrVulkanDllInstallDir -ne "") { New-Item -Force -ErrorAction SilentlyContinue -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers | out-null
if (!$?) {
Write-Error "Error: Failed creating HKLM\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
}
}
@@ -520,10 +554,12 @@ if ($mrVulkanDllInstallDir -ne "") { New-ItemProperty -Path HKLM:\SOFTWARE\Khronos\Vulkan\ExplicitLayers -Name $mrVulkanDllInstallDir\Bin\$_ -PropertyType DWord -Value 0 | out-null
if (!$?) {
Write-Error "Error: Failed creating $mrVulkanDllInstallDir\Bin\$_"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
}
if (!$?) {
Write-Error "Error: Failed Get-ChildItem $mrVulkanDllInstallDir\Bin | ForEach-Object "
+ setScriptReturnValue(Get-CurrentLineNumber)
}
# Create registry values for the WOW6432Node registry location for 32-bit items on a 64-bit OS
@@ -533,10 +569,12 @@ if ($mrVulkanDllInstallDir -ne "") { New-ItemProperty -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers -Name $mrVulkanDllInstallDir\Bin32\$_ -PropertyType DWord -Value 0 | out-null
if (!$?) {
Write-Error "Error: Failed creating $mrVulkanDllInstallDir\Bin32\$_"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
}
if (!$?) {
Write-Error "Error: Failed Get-ChildItem $mrVulkanDllInstallDir\Bin32 | ForEach-Object "
+ setScriptReturnValue(Get-CurrentLineNumber)
}
} else {
# Create registry values in normal registry location for 32-bit items on a 32-bit OS
@@ -546,14 +584,19 @@ if ($mrVulkanDllInstallDir -ne "") { New-ItemProperty -Path HKLM:\SOFTWARE\Khronos\Vulkan\ExplicitLayers -Name $mrVulkanDllInstallDir\Bin32\$_ -PropertyType DWord -Value 0 | out-null
if (!$?) {
Write-Error "Error: Failed creating $mrVulkanDllInstallDir\Bin\$_"
+ setScriptReturnValue(Get-CurrentLineNumber)
}
}
if (!$?) {
Write-Error "Error: Failed Get-ChildItem $mrVulkanDllInstallDir\Bin32 | ForEach-Object "
+ setScriptReturnValue(Get-CurrentLineNumber)
}
}
}
+# Debug - for testing handling of script failure in installer
+#setScriptReturnValue(Get-CurrentLineNumber)
+
# Final log output
Write-Host "ConfigLayersAndVulkanDLL.ps1 completed"
$endTime=Get-Date
@@ -564,19 +607,16 @@ Stop-Transcript # Convert logfile to ascii
Get-Content $log | Out-File -encoding ascii -filepath $logascii
-# Temp to be used for debugging failure to install issue (as VulkanRT folder might get removed)
-#Get-Content $log | Out-File -encoding ascii -filepath $logascii2
-
-
# Remove the unicode log as we no longer need it.
Remove-Item $log
+exit $script:scriptReturnValue
# SIG # Begin signature block
# MIIccAYJKoZIhvcNAQcCoIIcYTCCHF0CAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
-# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUFNNSYRu98top6sj+5PNNXfdh
-# aN+gghefMIIFKDCCBBCgAwIBAgIQA7RxzU1//sKaOyCyyw9fVDANBgkqhkiG9w0B
+# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUWzO9uMOZloqpSF0mSPfjnVcK
+# X2ygghefMIIFKDCCBBCgAwIBAgIQA7RxzU1//sKaOyCyyw9fVDANBgkqhkiG9w0B
# AQsFADByMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYD
# VQQLExB3d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFz
# c3VyZWQgSUQgQ29kZSBTaWduaW5nIENBMB4XDTE2MDQwODAwMDAwMFoXDTE3MDgx
@@ -707,22 +747,22 @@ Remove-Item $log # aWdpQ2VydCBTSEEyIEFzc3VyZWQgSUQgQ29kZSBTaWduaW5nIENBAhADtHHNTX/+
# wpo7ILLLD19UMAkGBSsOAwIaBQCgeDAYBgorBgEEAYI3AgEMMQowCKACgAChAoAA
# MBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgor
-# BgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBS1dRcwLYpAdOGb79bA8lUPXs2weTAN
-# BgkqhkiG9w0BAQEFAASCAQDaFv54IUAa3PRmDo4gr25cTzNNVRBVQn29+lBWRhL6
-# Z4xafc4dV2NuhsySyM/7CviTF/T32E9GfMUPjsje1L02FuP+xydJ/KHFba2Qe5Tm
-# rqQIQTDsdYBx4imOecLbzF8mcfMjbBTLz3YTWDShTIhTR+WqVMbzvASfJ/jUj6bP
-# wxiuHho0Gus669fK9xNrUr0Yo9Jaw82KLCsJFE/NgEV3eoNWi3ufZF4Owq+HWqLj
-# ZfzKTOb+A7oLHEfr2bX3lrwm5O/dcb4gb6dUP2m1zY6B9hPPO5lwtCVFdOShU+a4
-# Xq+MQ6RvjjXx/wRyBgF9e24k56EXce5hS9KSM/r4HJcFoYICDzCCAgsGCSqGSIb3
+# BgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBTl9vUhNixlC4qK2N6ftsmXNxTB5DAN
+# BgkqhkiG9w0BAQEFAASCAQBmoK4vUOuN1W2tbF6prfT9lK/x424kuyT2GmMuBg1K
+# 2QLmoPVPFokJllqckm2snV2PrVZ2jQf1HqZfoQ9k9tJQ9Iysobsdi+Xk35m9Jhnb
+# qoDBI7HI8NVzgczSgcOGMtV1SkSHMxnobVPnqNVyD1nK6OCSIFe8lKVggiNHokxv
+# bpPOWW1oPO9eayYSoysEqwygODgV5Jr0wSVLDuoAKlnbYH4Hjvtf0JWJncm/l6ZM
+# yWIXaBUWNV6Dl2ZTeCXIlBrNxC3nfLn6uBkbox0xvcYk6tvksy7fQsSFFWYiqR26
+# 9sW4wJmqvlKO1PKNwdiGnY2fvJzffot8NPEKxbb7l2ySoYICDzCCAgsGCSqGSIb3
# DQEJBjGCAfwwggH4AgEBMHYwYjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lD
# ZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGln
# aUNlcnQgQXNzdXJlZCBJRCBDQS0xAhADAZoCOv9YsWvW1ermF/BmMAkGBSsOAwIa
# BQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0x
-# NjA2MDExNjMwNTFaMCMGCSqGSIb3DQEJBDEWBBQTfVtazojkMGVHBXKiXef3VObs
-# mTANBgkqhkiG9w0BAQEFAASCAQCXNZHaksqQrHFmc96ks9qPT2mR35sHOOIOVCZn
-# kFPyFEjzoZmMQAhcQqHdEvgEoIr5DZ6yuLTvtu8bEN3gS2iSXD542PatUBy/DsCc
-# uFn4QFVewop/g6hPgy3VMwFWhd1t3YJ1HZtppE9N68Eth8bFODeMmc6Ogrv7oCts
-# YwjBdccKXgrdAN/2cBIZCa8+FEj+sdO0ZKToVlRivETPnI8Y/XFrrgF3+cOkDg4e
-# ZU11g/Ww9RYLdZiqIRe06pChRmHNrY5AZA9W4UgKyCQESWd8e0lLR/6uGCZulWL6
-# U3LKVUyUUP/eAHLO9iGsm3pA9L27gcnyl41UPVIqQ7VhSvrO
+# NjA2MDMxODA1NTFaMCMGCSqGSIb3DQEJBDEWBBQ8siiyF+3YjaCU9cWVOMiV0i6H
+# WjANBgkqhkiG9w0BAQEFAASCAQCcC1//Fo3cFfFAFDvhOtpcuzFn6vsIm6eGjcAD
+# l/sUEeAS69BbPrapFDxwGjMbeFWSQK0KhzbxEs5DN/5eRrj1xX9SnhunszqPCzJ7
+# 66XJvuncyzKxQvOGGMLPbGkVHsximVT0IX+pPEZS25gTLBk8e30R6w9ChgykAxbz
+# Gyi4gg8HNvk20aTydXelUA8hRYdb2dn/RLTamZjxAdmhRUyPuClgh4ZvOohILwAn
+# Egh5cdu417ircbhFIJhujK/yr2C4uJEmb+JDST96luQBKQtlg7e3OnTBYddc3YoZ
+# S5dTEsAn3PlDvkcuxg79fgK+Wf/EMOGaEv3bJaeReFcRp1l8
# SIG # End signature block
diff --git a/windowsRuntimeInstaller/Diagnostic1.ps1 b/windowsRuntimeInstaller/Diagnostic1.ps1 new file mode 100644 index 00000000..90cf4db7 --- /dev/null +++ b/windowsRuntimeInstaller/Diagnostic1.ps1 @@ -0,0 +1,183 @@ +# Copyright (c) 2015-2016 The Khronos Group Inc.
+# Copyright (c) 2015-2016 Valve Corporation
+# Copyright (c) 2015-2016 LunarG, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Author: David Pinedo <david@LunarG.com>
+#
+
+
+# This Powershell script is run by the Vulkan Runtime Installer when it
+# encounters a problem when running the ConfigLayersAndVulkanDLL.ps1 script.
+# It is run to help diagnose whether the installer is capabable of running
+# Powershell scripts on the target system.
+
+
+$outfile=$Env:Temp+"\VulkanRTinstall\Diagnostic1.log"
+Write-Output "Diagnostic1" | Out-File -encoding ascii -filepath $outfile
+
+# SIG # Begin signature block
+# MIIccAYJKoZIhvcNAQcCoIIcYTCCHF0CAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB
+# gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR
+# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUXZIII3ISc6TV7crVquI9urb2
+# FNqgghefMIIFKDCCBBCgAwIBAgIQA7RxzU1//sKaOyCyyw9fVDANBgkqhkiG9w0B
+# AQsFADByMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYD
+# VQQLExB3d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFz
+# c3VyZWQgSUQgQ29kZSBTaWduaW5nIENBMB4XDTE2MDQwODAwMDAwMFoXDTE3MDgx
+# MDEyMDAwMFowZTELMAkGA1UEBhMCVVMxETAPBgNVBAgTCENvbG9yYWRvMRUwEwYD
+# VQQHEwxGb3J0IENvbGxpbnMxFTATBgNVBAoTDEx1bmFyRywgSW5jLjEVMBMGA1UE
+# AxMMTHVuYXJHLCBJbmMuMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
+# 9g6eKks1n/j5xBMG0viQaVqoxYjNIt2sLiDhBa1JMfPVvQsclZwsJl2FHhnQEg1/
+# YLeNUqSukbgTNXTGjkvNoh/PbjjBzlxZbPwRKO8tbHMRKZJjcVkOWLLReUGHkxJ3
+# i4hD6zH0K9DKMubb0ohmaA28ALsl8d4igz78uGyqa3jNXbiyNLJhd467u2nCySdV
+# PFdXCMklePhW9VLm8VXSRDlBcx6tsaTpJr8lRZsq13xO7lwifQw1w2QRQzlnezUY
+# PVnXIz+54Nu0U6JKPaTlxgbk9SlcP4f77UJuieGQGCWh3uCcASYQgUMjisetLyFU
+# WZuPYpSbNWVksMaiIlSIuwIDAQABo4IBxTCCAcEwHwYDVR0jBBgwFoAUWsS5eyoK
+# o6XqcQPAYPkt9mV1DlgwHQYDVR0OBBYEFBP4/a3JE2uXZpm3r1yknye/WxPWMA4G
+# A1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzB3BgNVHR8EcDBuMDWg
+# M6Axhi9odHRwOi8vY3JsMy5kaWdpY2VydC5jb20vc2hhMi1hc3N1cmVkLWNzLWcx
+# LmNybDA1oDOgMYYvaHR0cDovL2NybDQuZGlnaWNlcnQuY29tL3NoYTItYXNzdXJl
+# ZC1jcy1nMS5jcmwwTAYDVR0gBEUwQzA3BglghkgBhv1sAwEwKjAoBggrBgEFBQcC
+# ARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAIBgZngQwBBAEwgYQGCCsG
+# AQUFBwEBBHgwdjAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29t
+# ME4GCCsGAQUFBzAChkJodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNl
+# cnRTSEEyQXNzdXJlZElEQ29kZVNpZ25pbmdDQS5jcnQwDAYDVR0TAQH/BAIwADAN
+# BgkqhkiG9w0BAQsFAAOCAQEAscucuwAp0HisTjMWJii1ZX5H7+GAc048OJctdrTS
+# VlUc7kJgEirXQb1TQbSevvt1wE6s3xJWUapWnYvvgEPOq036WFA+NRVoWU5eIUkG
+# MsYGXH5ASHVBH+5/13wFLC1nXTxxrQ6B19uFFr5ZpsaP93EdD5pLqRxKrqLc9Stc
+# /faupcVkclisgXOEDsCzvgGhhaFCc/RSeXOOAZg2EsJNbaydg/xyvZqPDG17NboL
+# rgrzN5r6FoCk535HuGvcpjbr60nlwwzuxwqzXuMhGUTOs5O5cPpJQt6+iXBrlBgh
+# 4jPNL+ZvFfJLDq3CUdnSh3S13GJruyTWzF2AxTeRAnw2fzCCBTAwggQYoAMCAQIC
+# EAQJGBtf1btmdVNDtW+VUAgwDQYJKoZIhvcNAQELBQAwZTELMAkGA1UEBhMCVVMx
+# FTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNv
+# bTEkMCIGA1UEAxMbRGlnaUNlcnQgQXNzdXJlZCBJRCBSb290IENBMB4XDTEzMTAy
+# MjEyMDAwMFoXDTI4MTAyMjEyMDAwMFowcjELMAkGA1UEBhMCVVMxFTATBgNVBAoT
+# DERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTExMC8GA1UE
+# AxMoRGlnaUNlcnQgU0hBMiBBc3N1cmVkIElEIENvZGUgU2lnbmluZyBDQTCCASIw
+# DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPjTsxx/DhGvZ3cH0wsxSRnP0PtF
+# mbE620T1f+Wondsy13Hqdp0FLreP+pJDwKX5idQ3Gde2qvCchqXYJawOeSg6funR
+# Z9PG+yknx9N7I5TkkSOWkHeC+aGEI2YSVDNQdLEoJrskacLCUvIUZ4qJRdQtoaPp
+# iCwgla4cSocI3wz14k1gGL6qxLKucDFmM3E+rHCiq85/6XzLkqHlOzEcz+ryCuRX
+# u0q16XTmK/5sy350OTYNkO/ktU6kqepqCquE86xnTrXE94zRICUj6whkPlKWwfIP
+# EvTFjg/BougsUfdzvL2FsWKDc0GCB+Q4i2pzINAPZHM8np+mM6n9Gd8lk9ECAwEA
+# AaOCAc0wggHJMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMBMG
+# A1UdJQQMMAoGCCsGAQUFBwMDMHkGCCsGAQUFBwEBBG0wazAkBggrBgEFBQcwAYYY
+# aHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEMGCCsGAQUFBzAChjdodHRwOi8vY2Fj
+# ZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0EuY3J0MIGB
+# BgNVHR8EejB4MDqgOKA2hjRodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vRGlnaUNl
+# cnRBc3N1cmVkSURSb290Q0EuY3JsMDqgOKA2hjRodHRwOi8vY3JsMy5kaWdpY2Vy
+# dC5jb20vRGlnaUNlcnRBc3N1cmVkSURSb290Q0EuY3JsME8GA1UdIARIMEYwOAYK
+# YIZIAYb9bAACBDAqMCgGCCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5j
+# b20vQ1BTMAoGCGCGSAGG/WwDMB0GA1UdDgQWBBRaxLl7KgqjpepxA8Bg+S32ZXUO
+# WDAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYunpyGd823IDzANBgkqhkiG9w0BAQsF
+# AAOCAQEAPuwNWiSz8yLRFcgsfCUpdqgdXRwtOhrE7zBh134LYP3DPQ/Er4v97yrf
+# IFU3sOH20ZJ1D1G0bqWOWuJeJIFOEKTuP3GOYw4TS63XX0R58zYUBor3nEZOXP+Q
+# sRsHDpEV+7qvtVHCjSSuJMbHJyqhKSgaOnEoAjwukaPAJRHinBRHoXpoaK+bp1wg
+# XNlxsQyPu6j4xRJon89Ay0BEpRPw5mQMJQhCMrI2iiQC/i9yfhzXSUWW6Fkd6fp0
+# ZGuy62ZD2rOwjNXpDd32ASDOmTFjPQgaGLOBm0/GkxAG/AeB+ova+YJJ92JuoVP6
+# EpQYhS6SkepobEQysmah5xikmmRR7zCCBmowggVSoAMCAQICEAMBmgI6/1ixa9bV
+# 6uYX8GYwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERp
+# Z2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8GA1UEAxMY
+# RGlnaUNlcnQgQXNzdXJlZCBJRCBDQS0xMB4XDTE0MTAyMjAwMDAwMFoXDTI0MTAy
+# MjAwMDAwMFowRzELMAkGA1UEBhMCVVMxETAPBgNVBAoTCERpZ2lDZXJ0MSUwIwYD
+# VQQDExxEaWdpQ2VydCBUaW1lc3RhbXAgUmVzcG9uZGVyMIIBIjANBgkqhkiG9w0B
+# AQEFAAOCAQ8AMIIBCgKCAQEAo2Rd/Hyz4II14OD2xirmSXU7zG7gU6mfH2RZ5nxr
+# f2uMnVX4kuOe1VpjWwJJUNmDzm9m7t3LhelfpfnUh3SIRDsZyeX1kZ/GFDmsJOqo
+# SyyRicxeKPRktlC39RKzc5YKZ6O+YZ+u8/0SeHUOplsU/UUjjoZEVX0YhgWMVYd5
+# SEb3yg6Np95OX+Koti1ZAmGIYXIYaLm4fO7m5zQvMXeBMB+7NgGN7yfj95rwTDFk
+# jePr+hmHqH7P7IwMNlt6wXq4eMfJBi5GEMiN6ARg27xzdPpO2P6qQPGyznBGg+na
+# QKFZOtkVCVeZVjCT88lhzNAIzGvsYkKRrALA76TwiRGPdwIDAQABo4IDNTCCAzEw
+# DgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYB
+# BQUHAwgwggG/BgNVHSAEggG2MIIBsjCCAaEGCWCGSAGG/WwHATCCAZIwKAYIKwYB
+# BQUHAgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwggFkBggrBgEFBQcC
+# AjCCAVYeggFSAEEAbgB5ACAAdQBzAGUAIABvAGYAIAB0AGgAaQBzACAAQwBlAHIA
+# dABpAGYAaQBjAGEAdABlACAAYwBvAG4AcwB0AGkAdAB1AHQAZQBzACAAYQBjAGMA
+# ZQBwAHQAYQBuAGMAZQAgAG8AZgAgAHQAaABlACAARABpAGcAaQBDAGUAcgB0ACAA
+# QwBQAC8AQwBQAFMAIABhAG4AZAAgAHQAaABlACAAUgBlAGwAeQBpAG4AZwAgAFAA
+# YQByAHQAeQAgAEEAZwByAGUAZQBtAGUAbgB0ACAAdwBoAGkAYwBoACAAbABpAG0A
+# aQB0ACAAbABpAGEAYgBpAGwAaQB0AHkAIABhAG4AZAAgAGEAcgBlACAAaQBuAGMA
+# bwByAHAAbwByAGEAdABlAGQAIABoAGUAcgBlAGkAbgAgAGIAeQAgAHIAZQBmAGUA
+# cgBlAG4AYwBlAC4wCwYJYIZIAYb9bAMVMB8GA1UdIwQYMBaAFBUAEisTmLKZB+0e
+# 36K+Vw0rZwLNMB0GA1UdDgQWBBRhWk0ktkkynUoqeRqDS/QeicHKfTB9BgNVHR8E
+# djB0MDigNqA0hjJodHRwOi8vY3JsMy5kaWdpY2VydC5jb20vRGlnaUNlcnRBc3N1
+# cmVkSURDQS0xLmNybDA4oDagNIYyaHR0cDovL2NybDQuZGlnaWNlcnQuY29tL0Rp
+# Z2lDZXJ0QXNzdXJlZElEQ0EtMS5jcmwwdwYIKwYBBQUHAQEEazBpMCQGCCsGAQUF
+# BzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQQYIKwYBBQUHMAKGNWh0dHA6
+# Ly9jYWNlcnRzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRENBLTEuY3J0
+# MA0GCSqGSIb3DQEBBQUAA4IBAQCdJX4bM02yJoFcm4bOIyAPgIfliP//sdRqLDHt
+# OhcZcRfNqRu8WhY5AJ3jbITkWkD73gYBjDf6m7GdJH7+IKRXrVu3mrBgJuppVyFd
+# NC8fcbCDlBkFazWQEKB7l8f2P+fiEUGmvWLZ8Cc9OB0obzpSCfDscGLTYkuw4HOm
+# ksDTjjHYL+NtFxMG7uQDthSr849Dp3GdId0UyhVdkkHa+Q+B0Zl0DSbEDn8btfWg
+# 8cZ3BigV6diT5VUW8LsKqxzbXEgnZsijiwoc5ZXarsQuWaBh3drzbaJh6YoLbewS
+# GL33VVRAA5Ira8JRwgpIr7DUbuD0FAo6G+OPPcqvao173NhEMIIGzTCCBbWgAwIB
+# AgIQBv35A5YDreoACus/J7u6GzANBgkqhkiG9w0BAQUFADBlMQswCQYDVQQGEwJV
+# UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu
+# Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwHhcNMDYx
+# MTEwMDAwMDAwWhcNMjExMTEwMDAwMDAwWjBiMQswCQYDVQQGEwJVUzEVMBMGA1UE
+# ChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEwHwYD
+# VQQDExhEaWdpQ2VydCBBc3N1cmVkIElEIENBLTEwggEiMA0GCSqGSIb3DQEBAQUA
+# A4IBDwAwggEKAoIBAQDogi2Z+crCQpWlgHNAcNKeVlRcqcTSQQaPyTP8TUWRXIGf
+# 7Syc+BZZ3561JBXCmLm0d0ncicQK2q/LXmvtrbBxMevPOkAMRk2T7It6NggDqww0
+# /hhJgv7HxzFIgHweog+SDlDJxofrNj/YMMP/pvf7os1vcyP+rFYFkPAyIRaJxnCI
+# +QWXfaPHQ90C6Ds97bFBo+0/vtuVSMTuHrPyvAwrmdDGXRJCgeGDboJzPyZLFJCu
+# WWYKxI2+0s4Grq2Eb0iEm09AufFM8q+Y+/bOQF1c9qjxL6/siSLyaxhlscFzrdfx
+# 2M8eCnRcQrhofrfVdwonVnwPYqQ/MhRglf0HBKIJAgMBAAGjggN6MIIDdjAOBgNV
+# HQ8BAf8EBAMCAYYwOwYDVR0lBDQwMgYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEF
+# BQcDAwYIKwYBBQUHAwQGCCsGAQUFBwMIMIIB0gYDVR0gBIIByTCCAcUwggG0Bgpg
+# hkgBhv1sAAEEMIIBpDA6BggrBgEFBQcCARYuaHR0cDovL3d3dy5kaWdpY2VydC5j
+# b20vc3NsLWNwcy1yZXBvc2l0b3J5Lmh0bTCCAWQGCCsGAQUFBwICMIIBVh6CAVIA
+# QQBuAHkAIAB1AHMAZQAgAG8AZgAgAHQAaABpAHMAIABDAGUAcgB0AGkAZgBpAGMA
+# YQB0AGUAIABjAG8AbgBzAHQAaQB0AHUAdABlAHMAIABhAGMAYwBlAHAAdABhAG4A
+# YwBlACAAbwBmACAAdABoAGUAIABEAGkAZwBpAEMAZQByAHQAIABDAFAALwBDAFAA
+# UwAgAGEAbgBkACAAdABoAGUAIABSAGUAbAB5AGkAbgBnACAAUABhAHIAdAB5ACAA
+# QQBnAHIAZQBlAG0AZQBuAHQAIAB3AGgAaQBjAGgAIABsAGkAbQBpAHQAIABsAGkA
+# YQBiAGkAbABpAHQAeQAgAGEAbgBkACAAYQByAGUAIABpAG4AYwBvAHIAcABvAHIA
+# YQB0AGUAZAAgAGgAZQByAGUAaQBuACAAYgB5ACAAcgBlAGYAZQByAGUAbgBjAGUA
+# LjALBglghkgBhv1sAxUwEgYDVR0TAQH/BAgwBgEB/wIBADB5BggrBgEFBQcBAQRt
+# MGswJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBDBggrBgEF
+# BQcwAoY3aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJl
+# ZElEUm9vdENBLmNydDCBgQYDVR0fBHoweDA6oDigNoY0aHR0cDovL2NybDMuZGln
+# aWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNybDA6oDigNoY0aHR0
+# cDovL2NybDQuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0QXNzdXJlZElEUm9vdENBLmNy
+# bDAdBgNVHQ4EFgQUFQASKxOYspkH7R7for5XDStnAs0wHwYDVR0jBBgwFoAUReui
+# r/SSy4IxLVGLp6chnfNtyA8wDQYJKoZIhvcNAQEFBQADggEBAEZQPsm3KCSnOB22
+# WymvUs9S6TFHq1Zce9UNC0Gz7+x1H3Q48rJcYaKclcNQ5IK5I9G6OoZyrTh4rHVd
+# Fxc0ckeFlFbR67s2hHfMJKXzBBlVqefj56tizfuLLZDCwNK1lL1eT7EF0g49GqkU
+# W6aGMWKoqDPkmzmnxPXOHXh2lCVz5Cqrz5x2S+1fwksW5EtwTACJHvzFebxMElf+
+# X+EevAJdqP77BzhPDcZdkbkPZ0XN1oPt55INjbFpjE/7WeAjD9KqrgB87pxCDs+R
+# 1ye3Fu4Pw718CqDuLAhVhSK46xgaTfwqIa1JMYNHlXdx3LEbS0scEJx3FMGdTy9a
+# lQgpECYxggQ7MIIENwIBATCBhjByMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGln
+# aUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhE
+# aWdpQ2VydCBTSEEyIEFzc3VyZWQgSUQgQ29kZSBTaWduaW5nIENBAhADtHHNTX/+
+# wpo7ILLLD19UMAkGBSsOAwIaBQCgeDAYBgorBgEEAYI3AgEMMQowCKACgAChAoAA
+# MBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgor
+# BgEEAYI3AgEVMCMGCSqGSIb3DQEJBDEWBBQYqTK+5RS95764dNPZ2T3z0jT+UDAN
+# BgkqhkiG9w0BAQEFAASCAQBxPm4AI4omYJmPEnd/OaN+l/cm2ub2D432zRg8Nr0m
+# 90TANmuNHLv9du3G4eKSqmKlAu9cVbhfqnioaiwC05bSO02gaH8q1bFBVANkD/e5
+# igGzGvYxP+Vqfa8xv8kiN0aNOOsznMrpCA8pcncPtNhiblyG0ipecLtCzTZoiDcA
+# +dHLd54E9NcYqm/SZuHHD5Fk2jqwIDAAFHokU2eNZWGxB9Gx+ey3G4DekQEqkUDR
+# LmEdq0OZeZULqeQQnGQ8grx0PmwxRTDBI7RkA/UGQTW4ibFfJfgdYjdQVWqguEtL
+# 5dPmqZyOdF8AapUwGnDpzqPmZy+WPYetrOHHwf2y1v1hoYICDzCCAgsGCSqGSIb3
+# DQEJBjGCAfwwggH4AgEBMHYwYjELMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lD
+# ZXJ0IEluYzEZMBcGA1UECxMQd3d3LmRpZ2ljZXJ0LmNvbTEhMB8GA1UEAxMYRGln
+# aUNlcnQgQXNzdXJlZCBJRCBDQS0xAhADAZoCOv9YsWvW1ermF/BmMAkGBSsOAwIa
+# BQCgXTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0x
+# NjA2MDMxODA2MzlaMCMGCSqGSIb3DQEJBDEWBBRxXYss0beJT3njEEWEltXbgfi9
+# 4zANBgkqhkiG9w0BAQEFAASCAQB1oq4vjrzr+8WHyhrhGzfMoTyYW6vGVBu6hVfB
+# hsC0Wm1n6oebLNzGNmpaatmYtsV4syIDSdlQfIb9SkHJ173uTIUCWPS1jY1lqUF8
+# sXEYqgh74X5aDfTArA7geKdSBplnKg3oo+/8fF8NFE3wY8nQ5JXAWs8AgeQYeT5H
+# KsOsWxCGlzN/3WvW3UfABUPzPMTUNdPpUh6WO/9L7HcN2uBg0CVemtpc3Da2IXyx
+# +rKQkzeoCHAaUlEhvhUSQTvY4Sq0Wn2NKEWfHJrP7pFQvQ3xissPLnJu+HWPepKM
+# 2W2kPrQBRL0MvZhtgrEx7Gmydf2GoU2UlMjll69spQ3yA2GG
+# SIG # End signature block
diff --git a/windowsRuntimeInstaller/InstallerRT.nsi b/windowsRuntimeInstaller/InstallerRT.nsi index 680a14a3..077beaea 100644 --- a/windowsRuntimeInstaller/InstallerRT.nsi +++ b/windowsRuntimeInstaller/InstallerRT.nsi @@ -86,10 +86,6 @@ Var IDir # Install count Var IC -# Error code from powershell script -Var PsErr - - ############################################# # StrRep - string replace @@ -238,10 +234,6 @@ Section # Turn on logging LogSet on - # Remove contents of temp dir - SetOutPath "$TEMP\VulkanRT" - RmDir /R "$TEMP\VulkanRT" - # If running on a 64-bit OS machine, disable registry re-direct since we're running as a 32-bit executable. ${If} ${RunningX64} @@ -251,15 +243,16 @@ Section ${Endif} # Create our temp directory, with minimal permissions - SetOutPath "$TEMP\VulkanRT" - AccessControl::DisableFileInheritance $TEMP\VulkanRT - AccessControl::SetFileOwner $TEMP\VulkanRT "Administrators" - AccessControl::ClearOnFile $TEMP\VulkanRT "Administrators" "FullAccess" - AccessControl::SetOnFile $TEMP\VulkanRT "SYSTEM" "FullAccess" - AccessControl::GrantOnFile $TEMP\VulkanRT "Everyone" "ListDirectory" - AccessControl::GrantOnFile $TEMP\VulkanRT "Everyone" "GenericExecute" - AccessControl::GrantOnFile $TEMP\VulkanRT "Everyone" "GenericRead" - AccessControl::GrantOnFile $TEMP\VulkanRT "Everyone" "ReadAttributes" + RmDir /R "$TEMP\VulkanRTinstall" + SetOutPath "$TEMP\VulkanRTinstall" + AccessControl::DisableFileInheritance $TEMP\VulkanRTinstall + AccessControl::SetFileOwner $TEMP\VulkanRTinstall "Administrators" + AccessControl::ClearOnFile $TEMP\VulkanRTinstall "Administrators" "FullAccess" + AccessControl::SetOnFile $TEMP\VulkanRTinstall "SYSTEM" "FullAccess" + AccessControl::GrantOnFile $TEMP\VulkanRTinstall "Everyone" "ListDirectory" + AccessControl::GrantOnFile $TEMP\VulkanRTinstall "Everyone" "GenericExecute" + AccessControl::GrantOnFile $TEMP\VulkanRTinstall "Everyone" "GenericRead" + AccessControl::GrantOnFile $TEMP\VulkanRTinstall "Everyone" "ReadAttributes" StrCpy $1 10 Call CheckForError @@ -418,12 +411,18 @@ Section # Run the ConfigLayersAndVulkanDLL.ps1 script to copy the most recent version of # vulkan-<abimajor>-*.dll to vulkan-<abimajor>.dll, and to set up layer registry # entries to use layers from the corresponding SDK - nsExec::ExecToStack 'powershell -NoLogo -NonInteractive -WindowStyle Hidden -inputformat none -ExecutionPolicy RemoteSigned -File ConfigLayersAndVulkanDLL.ps1 ${VERSION_ABI_MAJOR} 64' - pop $PsErr - ${If} $PsErr != 0 + nsExec::ExecToStack 'powershell -NoProfile -NoLogo -NonInteractive -WindowStyle Hidden -inputformat none -ExecutionPolicy RemoteSigned -Command .\ConfigLayersAndVulkanDLL.ps1 ${VERSION_ABI_MAJOR} 64 ; exit $$LASTEXITCODE' + pop $0 + Rename "$TEMP\ConfigLayersAndVulkanDLL.log" "$TEMP\VulkanRTinstall\ConfigLayersAndVulkanDLL.log" + ${If} $0 != 0 + # PS Script failed, see if we can run a simple ps command and a simple ps script + nsExec::ExecToStack 'powershell -NoProfile -NoLogo -NonInteractive -WindowStyle Hidden -inputformat none -Command Write-Output Diagnostic0 | Out-File -encoding ascii -filePath "$TEMP\VulkanRTinstall\Diagnostic0.log"' + File Diagnostic1.ps1 + nsExec::ExecToStack 'powershell -NoProfile -NoLogo -NonInteractive -WindowStyle Hidden -inputformat none -ExecutionPolicy RemoteSigned -Command .\Diagnostic1.ps1' + Delete Diagnostic1.ps1 SetErrors ${EndIf} - StrCpy $1 45 + IntOp $1 10000 + $0 Call CheckForError # Else, running on a 32-bit OS machine @@ -446,12 +445,18 @@ Section # Run the ConfigLayersAndVulkanDLL.ps1 script to copy the most recent version of # vulkan-<abimajor>-*.dll to vulkan-<abimajor>.dll, and to set up layer registry # entries to use layers from the corresponding SDK - nsExec::ExecToStack 'powershell -NoLogo -NonInteractive -WindowStyle Hidden -inputformat none -ExecutionPolicy RemoteSigned -File ConfigLayersAndVulkanDLL.ps1 ${VERSION_ABI_MAJOR} 32' - pop $PsErr - ${If} $PsErr != 0 + nsExec::ExecToStack 'powershell -NoProfile -NoLogo -NonInteractive -WindowStyle Hidden -inputformat none -ExecutionPolicy RemoteSigned -Command .\ConfigLayersAndVulkanDLL.ps1 ${VERSION_ABI_MAJOR} 32 ; exit $$LASTEXITCODE' + pop $0 + Rename "$TEMP\ConfigLayersAndVulkanDLL.log" "$TEMP\VulkanRTinstall\ConfigLayersAndVulkanDLL.log" + ${If} $0 != 0 + # PS Script failed, see if we can run a simple ps command and a simple ps script + nsExec::ExecToStack 'powershell -NoProfile -NoLogo -NonInteractive -WindowStyle Hidden -inputformat none -Command Write-Output Diagnostic0 | Out-File -encoding ascii -filePath "$TEMP\VulkanRTinstall\Diagnostic0.log"' + File Diagnostic1.ps1 + nsExec::ExecToStack 'powershell -NoProfile -NoLogo -NonInteractive -WindowStyle Hidden -inputformat none -ExecutionPolicy RemoteSigned -Command .\Diagnostic1.ps1' + Delete Diagnostic1.ps1 SetErrors ${EndIf} - StrCpy $1 60 + IntOp $1 20000 + $0 Call CheckForError ${Endif} @@ -462,7 +467,7 @@ Section # Finish logging and move log file to TEMP dir LogSet off - Rename "$INSTDIR\install.log" "$TEMP\VulkanRT\Install.log" + Rename "$INSTDIR\install.log" "$TEMP\VulkanRTinstall\Install.log" SectionEnd @@ -470,12 +475,10 @@ SectionEnd !ifdef UNINSTALLER Section "uninstall" - # Remove contents of temp dir - SetOutPath "$TEMP\VulkanRT" - RmDir /R "$TEMP\VulkanRT" - # Turn on logging - StrCpy $INSTDIR $TEMP\VulkanRT + RmDir /R "$TEMP\VulkanRTuninstall" + SetOutPath "$TEMP\VulkanRTuninstall" + StrCpy $INSTDIR $TEMP\VulkanRTuninstall LogSet on # If running on a 64-bit OS machine, disable registry re-direct since we're running as a 32-bit executable. @@ -553,7 +556,8 @@ Section "uninstall" # Copy the most recent version of vulkan-<abimajor>-*.dll to vulkan-<abimajor>.dll # Copy the most recent version of vulkaninfo-<abimajor>-*.exe to vulkaninfo.exe # Set up layer registry entries to use layers from the corresponding SDK - nsExec::ExecToStack 'powershell -NoLogo -NonInteractive -WindowStyle Hidden -inputformat none -ExecutionPolicy RemoteSigned -File "$IDir\ConfigLayersAndVulkanDLL.ps1" ${VERSION_ABI_MAJOR} 64' + nsExec::ExecToStack 'powershell -NoProfile -NoLogo -NonInteractive -WindowStyle Hidden -inputformat none -ExecutionPolicy RemoteSigned -File "$IDir\ConfigLayersAndVulkanDLL.ps1" ${VERSION_ABI_MAJOR} 64' + Rename "$TEMP\ConfigLayersAndVulkanDLL.log" "$TEMP\VulkanRTuninstall\ConfigLayersAndVulkanDLL.log" # Else, running on a 32-bit OS machine ${Else} @@ -570,7 +574,8 @@ Section "uninstall" # Copy the most recent version of vulkan-<abimajor>-*.dll to vulkan-<abimajor>.dll # Copy the most recent version of vulkaninfo-<abimajor>-*.exe to vulkaninfo.exe # Set up layer registry entries to use layers from the corresponding SDK - nsExec::ExecToStack 'powershell -NoLogo -NonInteractive -WindowStyle Hidden -inputformat none -ExecutionPolicy RemoteSigned -File "$IDir\ConfigLayersAndVulkanDLL.ps1" ${VERSION_ABI_MAJOR} 32' + nsExec::ExecToStack 'powershell -NoProfile -NoLogo -NonInteractive -WindowStyle Hidden -inputformat none -ExecutionPolicy RemoteSigned -File "$IDir\ConfigLayersAndVulkanDLL.ps1" ${VERSION_ABI_MAJOR} 32' + Rename "$TEMP\ConfigLayersAndVulkanDLL.log" "$TEMP\VulkanRTuninstall\ConfigLayersAndVulkanDLL.log" ${EndIf} @@ -621,7 +626,7 @@ Section "uninstall" StrCpy $1 80 Call un.CheckForError - # Finish logging and move log file to TEMP dir + # Finish logging LogSet off Rename "$INSTDIR\install.log" "$INSTDIR\Uninstall.log" @@ -667,19 +672,18 @@ Function CheckForError # Finish logging and move log file to TEMP dir LogSet off - Rename "$INSTDIR\install.log" "$TEMP\VulkanRT\install.log" + Rename "$INSTDIR\install.log" "$TEMP\VulkanRTinstall\install.log" # Copy the uninstaller to a temp folder of our own creation so we can completely # delete the old contents. - SetOutPath "$TEMP\VulkanRT" - CopyFiles "$INSTDIR\Uninstall${PRODUCTNAME}.exe" "$TEMP\VulkanRT" + SetOutPath "$TEMP\VulkanRTinstall" + CopyFiles "$INSTDIR\Uninstall${PRODUCTNAME}.exe" "$TEMP\VulkanRTinstall" - # No uninstall using the version in the temporary folder. - ExecWait '"$TEMP\VulkanRT\Uninstall${PRODUCTNAME}.exe" /S _?=$INSTDIR' + # Do uninstall using the version in the temporary folder. + ExecWait '"$TEMP\VulkanRTinstall\Uninstall${PRODUCTNAME}.exe" /S _?=$INSTDIR' # Delete the copy of the uninstaller we ran - Delete /REBOOTOK "$TEMP\VulkanRT\Uninstall${PRODUCTNAME}.exe" - RmDir /R /REBOOTOK "$TEMP\VulkanRT" + Delete /REBOOTOK "$TEMP\VulkanRTinstall\Uninstall${PRODUCTNAME}.exe" # Set an error message to output SetErrorLevel $1 @@ -700,8 +704,7 @@ Function un.CheckForError # Finish logging and move log file to TEMP dir LogSet off - Delete "$TEMP\VulkanRT\Uninstall.log" - Rename "$INSTDIR\install.log" "$TEMP\VulkanRT\Uninstall.log" + Delete "$TEMP\VulkanRTuninstall\Uninstall.log" Quit ${EndIf} |
