Skip to content

Commit

Permalink
Use %ProgramW6432% path for 32-bit apps (#75)
Browse files Browse the repository at this point in the history
Context: https://docs.microsoft.com/en-us/windows/win32/winprog64/wow64-implementation-details#environment-variables

Use the `%ProgramW6432%` environment variable (if available) so that
both **Prefer 32-bit**=false and **Prefer 32-bit**=true apps can get
the path.  Otherwise `Environment.SpecialFolder.ProgramFiles` returns
`"C:\Program Files (x86)"` for 32-bit apps on 64-bit OS, which is not
where the Android SDK is installed, and thus path lookup fails.
  • Loading branch information
Sergey Shakhnazarov authored and jonpryor committed Aug 27, 2019
1 parent 294f447 commit 9f4ed4b
Showing 1 changed file with 3 additions and 1 deletion.
Expand Up @@ -93,7 +93,9 @@ protected override IEnumerable<string> GetAllAvailableAndroidSdks ()
Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.LocalApplicationData), "Xamarin", "MonoAndroid", "android-sdk-windows"),
Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.ProgramFilesX86), "Android", "android-sdk"),
Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.ProgramFilesX86), "Android", "android-sdk-windows"),
Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.ProgramFiles), "Android", "android-sdk"),
!string.IsNullOrEmpty (Environment.GetEnvironmentVariable ("ProgramW6432"))
? Path.Combine (Environment.GetEnvironmentVariable ("ProgramW6432"), "Android", "android-sdk")
: Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.ProgramFiles), "Android", "android-sdk"),
Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.LocalApplicationData), "Android", "android-sdk"),
Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.CommonApplicationData), "Android", "android-sdk"),
@"C:\android-sdk-windows"
Expand Down

0 comments on commit 9f4ed4b

Please sign in to comment.