diff --git a/app/src/main/java/com/droiddeck/launcher/session/WinComponents.kt b/app/src/main/java/com/droiddeck/launcher/session/WinComponents.kt
index cbe6b7b9c..a21de38a4 100644
--- a/app/src/main/java/com/droiddeck/launcher/session/WinComponents.kt
+++ b/app/src/main/java/com/droiddeck/launcher/session/WinComponents.kt
@@ -68,10 +68,10 @@ object WinComponents {
/**
* Catalog entries every Proton here already ships, which an install would only shadow: Wine
* Gecko and Mono, the Chinese/Japanese/Korean fonts (Malgun, MS Gothic, YaHei, SimSun are in
- * share/fonts of Proton Experimental, GE-Proton and proton-cachyos alike) and Wine's own
- * PowerShell wrapper.
+ * share/fonts of Proton Experimental, GE-Proton and proton-cachyos alike), Wine's own
+ * PowerShell wrapper and the Vulkan loader (vulkan-1.dll, 32- and 64-bit, in all three).
*/
- private val PROTON_PROVIDES = setOf("gecko", "mono", "cjkfonts", "powershell")
+ private val PROTON_PROVIDES = setOf("gecko", "mono", "cjkfonts", "powershell", "VulkanRT")
/** The keys the catalog nests under "environment" on a few .NET entries. */
private val NESTED_KEYS = setOf("url", "file_name", "file_checksum", "file_size")
@@ -118,7 +118,10 @@ object WinComponents {
(step.action == "install_msi" || listOf(step.str("file_name"), step.str("url").substringBefore('?'))
.any { it.endsWith(".msi", ignoreCase = true) || it.endsWith(".exe", ignoreCase = true) })
- private fun protonProvides(name: String): Boolean = name in PROTON_PROVIDES || name.startsWith("mono-")
+ /** Catalog entries nothing here can use: the IE8 security update patches a browser no prefix has. */
+ private val POINTLESS = setOf("ie8_kb2936068")
+
+ private fun protonProvides(name: String): Boolean = name in PROTON_PROVIDES || name in POINTLESS || name.startsWith("mono-")
fun hasSnapshot(c: Component): Boolean = c.snapshot.startsWith("https://github.com/") && c.snapshot.endsWith(".snapshot.json")
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1d81dbcc3..29f00e457 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -333,10 +333,10 @@
Installed for this game (%1$d)
All components (%1$d)
Need a Windows installer (%1$d)
- These are their own setup programs (codec packs, browsers, old runtimes) with no package inside to take apart. DroidDeck cannot run a Windows setup program yet; it is coming next.
+ These are their own setup programs with no package inside to take apart, and no recording of what they install yet. Most are old runtimes the Mono inside Proton already stands in for; recordings are added as they are made.
Show
Hide
- Runs its own setup program (coming)
+ Runs its own setup program (no recording yet)
Not supported here yet
Loading the components…
Could not install: %1$s
diff --git a/app/src/test/java/com/droiddeck/launcher/session/WinComponentsSupportTest.kt b/app/src/test/java/com/droiddeck/launcher/session/WinComponentsSupportTest.kt
index e64350cc3..945d7a40e 100644
--- a/app/src/test/java/com/droiddeck/launcher/session/WinComponentsSupportTest.kt
+++ b/app/src/test/java/com/droiddeck/launcher/session/WinComponentsSupportTest.kt
@@ -94,5 +94,7 @@ class WinComponentsSupportTest {
assertEquals(Support.UNSUPPORTED, support(component("mono-10.4.1", step("install_msi", "url" to "$base/mono.msi"))))
assertEquals(Support.UNSUPPORTED, support(component("cjkfonts", step("install_fonts", "url" to "temp/SourceHanSans.ttc"))))
assertEquals(Support.UNSUPPORTED, support(component("powershell", step("copy_file", "file_name" to "profile.ps1", "dest" to "win64"))))
+ assertEquals(Support.UNSUPPORTED, support(component("VulkanRT", step("install_exe", "url" to "$base/VulkanRT.exe"))))
+ assertEquals(Support.UNSUPPORTED, support(component("ie8_kb2936068", step("install_exe", "url" to "$base/ie8_kb2936068.exe"))))
}
}