简而言之,我正在寻找每个 Visual Studio 2012 Express 版本的 InstallDir 键的可执行名称和注册表路径。
它们是(减去 RC 标签)
- 适用于 Windows 8 的 Visual Studio Express 2012
- 适用于 Web 的 Microsoft Visual Studio Express 2012
- Visual Studio 团队基础服务器速成版 2012
注册表路径将位于 HKLM 配置单元中,类似于:
{HKLM}\软件\微软\????\11.0
如果可以使用以前版本的 VS Express,则每个版本的可执行文件名称可能不同。
为了完整起见,这里是从 2002 年到 2012 年的每个以前版本的 Visual Studio .Net 的、edition number
和。version
solution version
HKLM relative registry path
public class VSType
{
public VSType(){}
public VSType(string edition, string version, string solutionVersion, string hklmRegistryPath) {/*...*/}
public static VSType VS2002 = new VSType("2002", "7.0", "7.00", "SOFTWARE\\Microsoft\\VisualStudio\\7.0");
public static VSType VS2003 = new VSType("2003", "7.10", "8.00", "SOFTWARE\\Microsoft\\VisualStudio\\7.1");
public static VSType VS2005 = new VSType("2005", "8.0", "9.00", "SOFTWARE\\Microsoft\\VisualStudio\\8.0");
public static VSType VS2008 = new VSType("2008", "9.0", "10.00", "SOFTWARE\\Microsoft\\VisualStudio\\9.0");
public static VSType VS2010 = new VSType("2010", "10.0", "11.00", "SOFTWARE\\Microsoft\\VisualStudio\\10.0");
public static VSType VS2012 = new VSType("2012", "11.0", "12.00", "SOFTWARE\\Microsoft\\VisualStudio\\11.0");
}
public class VSExpressType : VSType
{
public VSExpressType(VSType vsType, string name, string exeName, string hklmRegistryPath) {/*...*/}
// 2005 ***********************************************************************
public static VSExpressType VSExpress2005CSharp = new VSExpressType(VS2005,
"Microsoft Visual C# 2005 Express Edition",
"VCSExpress.exe",
"SOFTWARE\\Microsoft\\VCSExpress\\8.0");
public static VSExpressType VSExpress2005VB = new VSExpressType(VS2005,
"Microsoft Visual Basic 2005 Express Edition",
"vbexpress.exe",
"SOFTWARE\\Microsoft\\VBExpress\\8.0");
public static VSExpressType VSExpress2005Web = new VSExpressType(VS2005,
"Microsoft Visual Web Developer 2005 Express Edition",
"VWDExpress.exe",
"SOFTWARE\\Microsoft\\VWDExpress\\8.0");
// 2008 ***********************************************************************
public static VSExpressType VSExpress2008CSharp = new VSExpressType(VS2008,
"Microsoft Visual C# 2008 Express Edition",
"VCSExpress.exe",
"SOFTWARE\\Microsoft\\VCSExpress\\9.0");
public static VSExpressType VSExpress2008VB = new VSExpressType(VS2008,
"Microsoft Visual Basic 2008 Express Edition",
"vbexpress.exe",
"SOFTWARE\\Microsoft\\VBExpress\\9.0");
public static VSExpressType VSExpress2008Web = new VSExpressType(VS2008,
"Microsoft Visual Web Developer 2008 Express Edition",
"VWDExpress.exe",
"SOFTWARE\\Microsoft\\VWDExpress\\9.0");
// 2010 ***********************************************************************
public static VSExpressType VSExpress2010CSharp = new VSExpressType(VS2010,
"Microsoft Visual C# 2010 Express Edition",
"VCSExpress.exe",
"SOFTWARE\\Microsoft\\VCSExpress\\10.0");
public static VSExpressType VSExpress2010VB = new VSExpressType(VS2010,
"Microsoft Visual Basic 2010 Express Edition",
"vbexpress.exe",
"SOFTWARE\\Microsoft\\VBExpress\\10.0");
public static VSExpressType VSExpress2010Web = new VSExpressType(VS2010,
"Microsoft Visual Web Developer 2010 Express Edition",
"VWDExpress.exe",
"SOFTWARE\\Microsoft\\VWDExpress\\10.0");
// 2012 ***********************************************************************
public static VSExpressType VSExpress2012WIn8 = new VSExpressType(VS2012,
"Visual Studio Express 2012 for Windows 8",
"EXENAME",
"SOFTWARE\\Microsoft\\REGISTRYPATH");
public static VSExpressType VSExpress2012Web = new VSExpressType(VS2012,
"Microsoft Visual Studio Express 2012 for Web",
"EXENAME",
"SOFTWARE\\Microsoft\\REGISTRYPATH");
public static VSExpressType VSExpressTFS2012 = new VSExpressType(VS2012,
"Visual Studio Team Foundation Server Express 2012",
"EXENAME",
"SOFTWARE\\Microsoft\\REGISTRYPATH");
}