Skip to content

Commit 9fba2f3

Browse files
authored
Windows: Detect arm64 correctly (#370)
1 parent 289b92f commit 9fba2f3

File tree

1 file changed

+10
-21
lines changed

1 file changed

+10
-21
lines changed

src/dotnet-core-uninstall/Windows/RegistryQuery.cs

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -165,29 +165,18 @@ private static BundleArch GetBundleArch(string displayName, string bundleCachePa
165165
archString = cachePathMatch.Groups[Regexes.ArchGroupName].Value;
166166
}
167167

168-
if (string.IsNullOrEmpty(archString))
169-
{
170-
archString = displayName.Contains(x64String) ?
171-
x64String :
172-
displayName.Contains(x86String) ? x86String : string.Empty;
173-
174-
archString = archString switch
175-
{
176-
string a when a.Contains(x64String) => x64String,
177-
string b when b.Contains(x86String) => x86String,
178-
string b when b.Contains(arm64String) => arm64String,
179-
_ => string.Empty
180-
};
181-
}
168+
archString ??= displayName.Contains(x64String) ? x64String :
169+
displayName.Contains(x86String) ? x86String :
170+
displayName.Contains(arm64String) ? arm64String : null;
182171

183-
switch (archString)
172+
return archString switch
184173
{
185-
case x64String: return BundleArch.X64;
186-
case x86String: return BundleArch.X86;
187-
case arm64String: return BundleArch.Arm64;
188-
case "": return BundleArch.X64 | BundleArch.X86;
189-
default: throw new ArgumentException();
190-
}
174+
string a when a.Contains(x64String) => BundleArch.X64,
175+
string b when b.Contains(x86String) => BundleArch.X86,
176+
string c when c.Contains(arm64String) => BundleArch.Arm64,
177+
_ => BundleArch.X64 | BundleArch.X86
178+
};
179+
191180
}
192181

193182
public IEnumerable<BundleTypePrintInfo> GetSupportedBundleTypes()

0 commit comments

Comments
 (0)