You are viewing a plain text version of this content. The canonical link for it is here.
Posted to npanday-commits@incubator.apache.org by lc...@apache.org on 2011/05/03 07:48:05 UTC

svn commit: r1098950 - /incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/NPanday/Plugin/Settings/DotnetSdkLocator.cs

Author: lcorneliussen
Date: Tue May  3 07:48:05 2011
New Revision: 1098950

URL: http://svn.apache.org/viewvc?rev=1098950&view=rev
Log:
[NPANDAY-412] Find 2.0 SDK by path, if it is not specified in the registry

Modified:
    incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/NPanday/Plugin/Settings/DotnetSdkLocator.cs

Modified: incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/NPanday/Plugin/Settings/DotnetSdkLocator.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/NPanday/Plugin/Settings/DotnetSdkLocator.cs?rev=1098950&r1=1098949&r2=1098950&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/NPanday/Plugin/Settings/DotnetSdkLocator.cs (original)
+++ incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/NPanday/Plugin/Settings/DotnetSdkLocator.cs Tue May  3 07:48:05 2011
@@ -18,6 +18,8 @@
 //
 
 using Microsoft.Win32;
+using System;
+using System.IO;
 
 namespace NPanday.Plugin.Settings
 {
@@ -28,6 +30,17 @@ namespace NPanday.Plugin.Settings
         RegistryKey Microsoft_SDKs_Windows_70 = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0");
         RegistryKey Microsoft_SDKs_Windows_70a = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A");
 
+        string ProgramFilesX86(string subfolders){
+            string programFiles = Environment.GetEnvironmentVariable("PROGRAMFILES(X86)")
+                ?? Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
+            return Path.Combine(programFiles, subfolders);
+        }
+
+        string ProgramFiles(string subfolders){
+            string programFiles = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles);
+            return Path.Combine(programFiles, subfolders);
+        }
+
         public string Find1_1()
         {
             return (string)Microsoft_NETFramework.GetValue("sdkInstallRootv1.1");
@@ -37,7 +50,11 @@ namespace NPanday.Plugin.Settings
         {
             return PathUtil.FirstExisting(
                 registryFind(Microsoft_NETFramework, "sdkInstallRootv2.0"),
-                registryFind(Microsoft_SDKs_NETFramework, "v2.0", "InstallationFolder")
+                registryFind(Microsoft_SDKs_NETFramework, "v2.0", "InstallationFolder"),
+                ProgramFilesX86(@"Microsoft.NET\SDK\v2.0"),
+                ProgramFilesX86(@"Microsoft.NET\SDK\v2.0 64bit"),
+                ProgramFilesX86(@"Microsoft SDKs\Windows\v6.0A\bin"),
+                ProgramFiles(@"Microsoft SDKs\Windows\v6.0A\bin")
                 );
         }