Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can i retrieve devenv.exe path for a vspackage installation?

I'm following this tutorial http://msdn.microsoft.com/en-us/library/bb458038.aspx to create a VsPackage Setup. In the part of the creation of an installer class appears a reference to this location in the registry "SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\EnvironmentPath" where it says that contains the devenv.exe location. I explore the registry and that location doesn't exist. What is the correct location of the devenv.exe path? I'm using Visual Studio 2008

like image 203
mjsr Avatar asked Jun 08 '11 17:06

mjsr


2 Answers

I'm sharing my code. It’s working for me.

String path = GetDevenvPath("9.0"); // For VS 2008 
Or
String path = GetDevenvPath("10.0");  For VS 2010

private String GetDevenvPath(String vsVersion)
{
   String vsInstallPath = (String)Registry.GetValue(String.Format("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\{0}", vsVersion), "InstallDir", "");
   return vsInstallPath + "devenv.exe";
}
like image 189
Somnath Avatar answered Sep 29 '22 08:09

Somnath


You need to access HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\EnvironmentPath on 32bit machines and HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VS\EnvironmentPath on 64bit machines.

If you write a 32bit program that reads the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\EnvironmentPath you will be automatically redirected to Wow6432Node on 64bit machines by Windows.

like image 26
Dorin Lazăr Avatar answered Sep 29 '22 07:09

Dorin Lazăr