fix: wsl reg

This commit is contained in:
hstyi
2025-06-28 16:52:36 +08:00
committed by hstyi
parent ef2c57bb29
commit 4bca15dbb0

View File

@@ -5,9 +5,11 @@ import com.sun.jna.platform.win32.Advapi32Util
import com.sun.jna.platform.win32.WinReg import com.sun.jna.platform.win32.WinReg
import org.apache.commons.io.FileUtils import org.apache.commons.io.FileUtils
import org.apache.commons.lang3.StringUtils import org.apache.commons.lang3.StringUtils
import org.slf4j.LoggerFactory
object WSLSupport { object WSLSupport {
private val log = LoggerFactory.getLogger(javaClass)
val isSupported by lazy { checkSupported() } val isSupported by lazy { checkSupported() }
private fun checkSupported(): Boolean { private fun checkSupported(): Boolean {
@@ -26,7 +28,10 @@ object WSLSupport {
for (guid in guids) { for (guid in guids) {
val key = baseKeyPath + "\\" + guid val key = baseKeyPath + "\\" + guid
val distroName = Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER, key, "DistributionName") try {
if (Advapi32Util.registryKeyExists(WinReg.HKEY_CURRENT_USER, key)) {
val distroName =
Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER, key, "DistributionName")
val basePath = Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER, key, "BasePath") val basePath = Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER, key, "BasePath")
val flavor = Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER, key, "Flavor") val flavor = Advapi32Util.registryGetStringValue(WinReg.HKEY_CURRENT_USER, key, "Flavor")
if (StringUtils.isAnyBlank(distroName, guid, basePath, flavor)) continue if (StringUtils.isAnyBlank(distroName, guid, basePath, flavor)) continue
@@ -39,6 +44,12 @@ object WSLSupport {
) )
) )
} }
} catch (e: Exception) {
if (log.isWarnEnabled) {
log.warn(e.message, e)
}
}
}
return distributions return distributions
} }