winrtinstaller: don't delete non-SDK layer registry values during install
authorDavid Pinedo <david@lunarg.com>
Thu, 7 Apr 2016 21:54:59 +0000 (15:54 -0600)
committerDavid Pinedo <david@lunarg.com>
Thu, 7 Apr 2016 21:57:41 +0000 (15:57 -0600)
windowsRuntimeInstaller/ConfigLayersAndVulkanDLL.ps1

index 7d4a2eb..e5a693c 100644 (file)
@@ -352,22 +352,22 @@ if ($mrVulkanDllInstallDir -eq "") {
 $VulkanSdkDirs+="C:\VulkanSDK\0.9.3"\r
 $VulkanSdkDirs+="$windrive\VulkanSDK\0.9.3"\r
 \r
-# Remove layer registry entries associated with all installed Vulkan SDKs.\r
+# Remove layer registry values associated with all installed Vulkan SDKs.\r
 # Note that we remove only those entries created by Vulkan SDKs. If other\r
 # layers were installed that are not from an SDK, we don't mess with them.\r
 \r
-echo "Removing old layer registry entries from HKLM\SOFTWARE\Khronos\Vulkan\ExplicitLayers" >>$log\r
+echo "Removing old layer registry values from HKLM\SOFTWARE\Khronos\Vulkan\ExplicitLayers" >>$log\r
 Get-Item -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers | Select-Object -ExpandProperty Property |\r
    ForEach-Object {\r
        $regval=$_\r
        ForEach ($sdkdir in $VulkanSdkDirs) {\r
           if ($regval -like "$sdkdir\*.json") {\r
               Remove-ItemProperty -ErrorAction SilentlyContinue -Path HKLM:\SOFTWARE\Khronos\Vulkan\ExplicitLayers -name $regval\r
-              echo "Removed registry entry $regval" >>$log\r
+              echo "Removed registry value $regval" >>$log\r
           }\r
        }\r
    }\r
-# Remove 32-bit layer registry entries if we're targeting a 64-bit OS\r
+# Remove 32-bit layer registry value if we're targeting a 64-bit OS\r
 if ($ossize -eq 64) {\r
    Get-Item -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers | Select-Object -ExpandProperty Property |\r
       ForEach-Object {\r
@@ -375,43 +375,54 @@ if ($ossize -eq 64) {
           ForEach ($sdkdir in $VulkanSdkDirs) {\r
              if ($regval -like "$sdkdir\*.json") {\r
                  Remove-ItemProperty -ErrorAction SilentlyContinue -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers -name $regval\r
-                 echo "Removed WOW6432Node registry entry $regval" >>$log\r
+                 echo "Removed WOW6432Node registry value $regval" >>$log\r
              }\r
           }\r
       }\r
 }\r
 \r
 \r
-# Create layer registry entries associated with Vulkan SDK from which $mrVulkanDll is from\r
+# Create layer registry values associated with Vulkan SDK from which $mrVulkanDll is from\r
 \r
-echo "Creating new layer registry entries in HKLM\SOFTWARE\Khronos\Vulkan\ExplicitLayers" >>$log\r
+echo "Creating new layer registry values" >>$log\r
 if ($mrVulkanDllInstallDir -ne "") {\r
+\r
+    # Create registry keys if they don't exist\r
+    if (-not (Test-Path -Path HKLM:\SOFTWARE\Khronos\Vulkan\ExplicitLayers)) {\r
+        echo "Creating new registry key HKLM\SOFTWARE\Khronos\Vulkan\ExplicitLayers" >>$log\r
+        New-Item -Force -ErrorAction SilentlyContinue -Path HKLM:\SOFTWARE\Khronos\Vulkan\ExplicitLayers | out-null\r
+    }\r
+    if ($ossize -eq 64) {\r
+        if (-not (Test-Path -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers)) {\r
+            echo "Creating new registry key HKLM\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers" >>$log\r
+            New-Item -Force -ErrorAction SilentlyContinue -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers | out-null\r
+       }\r
+    }\r
+\r
+\r
     if ($ossize -eq 64) {\r
     \r
-        # Create registry entires in normal registry location for 64-bit items on a 64-bit OS\r
-        New-Item -Force -ErrorAction SilentlyContinue -Path HKLM:\SOFTWARE\Khronos\Vulkan\ExplicitLayers | out-null\r
+        # Create registry values in normal registry location for 64-bit items on a 64-bit OS\r
         Get-ChildItem $mrVulkanDllInstallDir\Bin -Filter VkLayer*json |\r
            ForEach-Object {\r
+               echo "Creating registry value $mrVulkanDllInstallDir\Bin\$_" >>$log\r
                New-ItemProperty -Path HKLM:\SOFTWARE\Khronos\Vulkan\ExplicitLayers -Name $mrVulkanDllInstallDir\Bin\$_ -PropertyType DWord -Value 0 | out-null\r
-              echo "Created registry entry for $mrVulkanDllInstallDir\Bin\$_" >>$log\r
            }\r
 \r
-        # Create registry entires for the WOW6432Node registry location for 32-bit items on a 64-bit OS\r
-        New-Item -Force -ErrorAction SilentlyContinue -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers | out-null\r
+        # Create registry values for the WOW6432Node registry location for 32-bit items on a 64-bit OS\r
         Get-ChildItem $mrVulkanDllInstallDir\Bin32 -Filter VkLayer*json |\r
            ForEach-Object {\r
+               echo "Creating WOW6432Node registry value $mrVulkanDllInstallDir\Bin32\$_" >>$log\r
                New-ItemProperty -Path HKLM:\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers -Name $mrVulkanDllInstallDir\Bin32\$_ -PropertyType DWord -Value 0 | out-null\r
-              echo "Created WOW6432Node registry entry for $mrVulkanDllInstallDir\Bin32\$_" >>$log\r
            }\r
            \r
     } else {\r
     \r
-        # Create registry entires in normal registry location for 32-bit items on a 32-bit OS\r
-        New-Item -Force -ErrorAction SilentlyContinue -Path HKLM:\SOFTWARE\Khronos\Vulkan\ExplicitLayers | out-null\r
+        # Create registry values in normal registry location for 32-bit items on a 32-bit OS\r
         Get-ChildItem $mrVulkanDllInstallDir\Bin32 -Filter VkLayer*json |\r
            ForEach-Object {\r
+               echo "Creating registry value $mrVulkanDllInstallDir\Bin\$_" >>$log\r
                New-ItemProperty -Path HKLM:\SOFTWARE\Khronos\Vulkan\ExplicitLayers -Name $mrVulkanDllInstallDir\Bin32\$_ -PropertyType DWord -Value 0 | out-null\r
-               echo "Created registry entry for $mrVulkanDllInstallDir\Bin\$_" >>$log\r
            }\r
     \r
     }\r
@@ -430,8 +441,8 @@ remove-item $log
 # SIG # Begin signature block\r
 # MIIcZgYJKoZIhvcNAQcCoIIcVzCCHFMCAQExCzAJBgUrDgMCGgUAMGkGCisGAQQB\r
 # gjcCAQSgWzBZMDQGCisGAQQBgjcCAR4wJgIDAQAABBAfzDtgWUsITrck0sYpfvNR\r
-# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUYfsT5QLkaMHYYJPT/dcA2uOb\r
-# QZKggheVMIIFHjCCBAagAwIBAgIQDmYEpPtQ2iBY4vC2AGq6uzANBgkqhkiG9w0B\r
+# AgEAAgEAAgEAAgEAAgEAMCEwCQYFKw4DAhoFAAQUQ4I+TKoMwtXHArekRd5/bX04\r
+# sreggheVMIIFHjCCBAagAwIBAgIQDmYEpPtQ2iBY4vC2AGq6uzANBgkqhkiG9w0B\r
 # AQsFADByMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYD\r
 # VQQLExB3d3cuZGlnaWNlcnQuY29tMTEwLwYDVQQDEyhEaWdpQ2VydCBTSEEyIEFz\r
 # c3VyZWQgSUQgQ29kZSBTaWduaW5nIENBMB4XDTE1MDQzMDAwMDAwMFoXDTE2MDcw\r
@@ -562,22 +573,22 @@ remove-item $log
 # QTIgQXNzdXJlZCBJRCBDb2RlIFNpZ25pbmcgQ0ECEA5mBKT7UNogWOLwtgBqursw\r
 # CQYFKw4DAhoFAKB4MBgGCisGAQQBgjcCAQwxCjAIoAKAAKECgAAwGQYJKoZIhvcN\r
 # AQkDMQwGCisGAQQBgjcCAQQwHAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUw\r
-# IwYJKoZIhvcNAQkEMRYEFGpjhRSfXBNd4ZHr5Mknz86XvFU5MA0GCSqGSIb3DQEB\r
-# AQUABIIBAB/ZDshNP3Naz8QNijbSEqh/p+N/HALczpsBTNICUVrsmNtMVsrNkkWt\r
-# B2gu751OsoIOKIsZoD468btUs6kZ2Rde3df4I2v1wfHdRdX/PfBj3GagkmXe7VyO\r
-# E0AJWW0rjXn/0YZvC3g2EvYHpt1woEjqyvHlPYwrG9oxGqzzDPiOBKLNvAJc76Wi\r
-# SPdkVnPaUN/0wvNHNtDbDOypHJeoGzdsIP+PgEPu+2vwmCmji15bPVwpRrKCdoFB\r
-# 7SvZ8UoS2NzLDDX3JIkk7hnGq7iZg+Eaox4I5crVAs8bds5NxIegFC+PjhbQZ6Xa\r
-# nP5zqo+WCMnNmbgXcx24LXZR5aNyyDOhggIPMIICCwYJKoZIhvcNAQkGMYIB/DCC\r
+# IwYJKoZIhvcNAQkEMRYEFAoOC46C6ArmxtlmLsUTidSbkN3rMA0GCSqGSIb3DQEB\r
+# AQUABIIBADXG8YUKEPQHyMUpBvGWwb5VeZ8oWPyiSSE649GXu5tHDn+N2lhDPngR\r
+# Cksh4FpF56hP4RgTzH/Nmxf2D4kZUzPCrs2Il1S+U0ZoFpoAwrN8dbnvw2Wvf7ns\r
+# LZHXKG9eIaMYx6r/nn+VV8qvL/25fZ8oNyIFCYy4FYRLmla5g1+Vmtg6anHj89c+\r
+# EMSIwR8BR5UlAagfhfKJQHYMz4xkdqMrR6ZDsMHvYjbOg3MILrrdgomH2R5JKAHK\r
+# IaD3EqM+Tgu8LH1MMt/hIf4RS/lgqT12qM88J64dyhquaM1BUzw5dnwb+h3aAF2O\r
+# ZJ4IhONECJbJf8wVT8rTUA+6uUm/Y6ihggIPMIICCwYJKoZIhvcNAQkGMYIB/DCC\r
 # AfgCAQEwdjBiMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkw\r
 # FwYDVQQLExB3d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBBc3N1\r
 # cmVkIElEIENBLTECEAMBmgI6/1ixa9bV6uYX8GYwCQYFKw4DAhoFAKBdMBgGCSqG\r
-# SIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE2MDQwNzE3Mjc1\r
-# NFowIwYJKoZIhvcNAQkEMRYEFBmn9lMkceYjM9LlCQ8aXz1CphDdMA0GCSqGSIb3\r
-# DQEBAQUABIIBAErb1GuAanOQcr24KSvVGpHsgZyHVyyYdhWzfMRSGyMYtrZ6uRG/\r
-# jFNyjQ9M/fkNlonvGVbZ+vpcH8XstRz71UYIGFIrCJ4nV0xVze9M8jV44cFWsowr\r
-# 1DT9aVildZ68yRDljKGdIEuyCjcx8Ycsv+7Fim8zme3JxDu0HjoqKTXUSWoAB9mE\r
-# FovggdyylzljZGYpO8Ggb5JV16FtN095vdxCZdGimXuY1RgjOjGPC46g3UXniFT+\r
-# 5o5ib8NSRJVSoCW8e0plsZwkzcesQ6v+4uwGhx/Zr84tKeoaypfiLCwb0flOBt1K\r
-# +IyweYliht9H5AHZOtBIzVgc2XTNXNZOKfI=\r
+# SIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE2MDQwNzIxNTM0\r
+# OFowIwYJKoZIhvcNAQkEMRYEFERKj5qmhGjIIeKV/myZFhJ/EUO7MA0GCSqGSIb3\r
+# DQEBAQUABIIBAJYQytkxzpn/UVwVJ0tsompGzVKSEgjuqAiI2jA0LiQwWM9iBHpG\r
+# 8ijDH6Dh+Fqa1JSsynyFixF26SuHeDoY/LX14HhRPDEkBa70qt9h9gc/73f9AzUy\r
+# eSbxwRhlF/UAyk0E3fbK1of431HxfvcdhnvCIDW8orfiG5v7gS0Mub4C70TlMXTp\r
+# b6XT1orYqnih9j4EVCYWZwv+EsOADRHW7o1RvIC2gI2dzmAkMSEjehk3we6u8KXI\r
+# xkggPOXy5O8TFgFdjvKU6XaoTTCklKWFIQIRG9r5m//Qj3jwzwN/03gLPphi6zze\r
+# 8fAJmClDyH+kHivSSfFnFUB7elvajTvasQE=\r
 # SIG # End signature block\r