diff options
-rw-r--r-- | main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MsNetTargetRuntime.cs | 8 | ||||
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs | 8 |
2 files changed, 11 insertions, 5 deletions
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MsNetTargetRuntime.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MsNetTargetRuntime.cs index db4c67e054..66d959d473 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MsNetTargetRuntime.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/MsNetTargetRuntime.cs @@ -44,8 +44,12 @@ namespace MonoDevelop.Core.Assemblies { winDir = Path.GetFullPath (Environment.SystemDirectory + "\\.."); rootDir = winDir + "\\Microsoft.NET\\Framework"; - newFxDir = Environment.GetFolderPath (Environment.SpecialFolder.ProgramFilesX86); - newFxDir = newFxDir + "\\Reference Assemblies\\Microsoft\\Framework"; + + // ProgramFilesX86 is broken on 32-bit WinXP + string programFilesX86 = Environment.GetFolderPath ( + IntPtr.Size == 8? Environment.SpecialFolder.ProgramFilesX86 : Environment.SpecialFolder.ProgramFiles); + + newFxDir = programFilesX86 + "\\Reference Assemblies\\Microsoft\\Framework"; this.running = running; execHandler = new MsNetExecutionHandler (); } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs index 3af97d75cb..4b261e3b45 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.OptionPanels/MonoRuntimePanel.cs @@ -116,9 +116,11 @@ namespace MonoDevelop.Ide.Gui.OptionPanels //set a platform-dependent default folder for the dialog if possible if (Platform.IsWindows) { - string folder = Environment.GetFolderPath (Environment.SpecialFolder.ProgramFilesX86); - if (!string.IsNullOrEmpty (folder) && System.IO.Directory.Exists (folder)) - dlg.CurrentFolder = folder; + // ProgramFilesX86 is broken on 32-bit WinXP + string programFilesX86 = Environment.GetFolderPath ( + IntPtr.Size == 8? Environment.SpecialFolder.ProgramFilesX86 : Environment.SpecialFolder.ProgramFiles); + if (!string.IsNullOrEmpty (programFilesX86) && System.IO.Directory.Exists (programFilesX86)) + dlg.CurrentFolder = programFilesX86; } else { if (System.IO.Directory.Exists ("/usr")) dlg.CurrentFolder = "/usr"; |