@@ -176,46 +176,40 @@ private static int Main(string[] args)
176176 private static IEnumerable < string > GetVisualStudioInstallationDirs ( )
177177 {
178178 List < string > vsDirs = new List < string > ( ) ;
179- if ( Environment . Is64BitOperatingSystem )
180- {
181- vsDirs . Add ( ( string ) Registry . GetValue (
182- "HKEY_LOCAL_MACHINE\\ SOFTWARE\\ Wow6432Node\\ Microsoft\\ VisualStudio\\ 12.0\\ " ,
183- "InstallDir" ,
184- null ) ) ;
185- vsDirs . Add ( ( string ) Registry . GetValue (
186- "HKEY_LOCAL_MACHINE\\ SOFTWARE\\ Wow6432Node\\ Microsoft\\ VisualStudio\\ 14.0\\ " ,
187- "InstallDir" ,
188- null ) ) ;
189- vsDirs . Add ( ( string ) Registry . GetValue (
190- "HKEY_LOCAL_MACHINE\\ SOFTWARE\\ Wow6432Node\\ Microsoft\\ VisualStudio\\ 15.0\\ " ,
191- "InstallDir" ,
192- null ) ) ;
193- }
194- else
195- {
196- vsDirs . Add ( ( string ) Registry . GetValue (
197- "HKEY_LOCAL_MACHINE\\ SOFTWARE\\ Microsoft\\ VisualStudio\\ 12.0\\ " ,
198- "InstallDir" ,
199- null ) ) ;
200- vsDirs . Add ( ( string ) Registry . GetValue (
201- "HKEY_LOCAL_MACHINE\\ SOFTWARE\\ Microsoft\\ VisualStudio\\ 14.0\\ " ,
202- "InstallDir" ,
203- null ) ) ;
204- vsDirs . Add ( ( string ) Registry . GetValue (
205- "HKEY_LOCAL_MACHINE\\ SOFTWARE\\ Microsoft\\ VisualStudio\\ 15.0\\ " ,
206- "InstallDir" ,
207- null ) ) ;
208- }
179+
180+ var vsVers = new string [ ] { "12.0" , "14.0" , "15.0" } ;
209181
210182 // %AppData%\Microsoft\VisualStudio\14.0 & 12.0 & 15.0
211183 // %LocalAppData%\Microsoft\VisualStudio\14.0 & 12.0 & 15.0
212184 // %LocalAppData%\Microsoft\VSCommon\14.0 & 12.0 & 15.0
213185 var appDataRoot = Environment . GetFolderPath ( Environment . SpecialFolder . ApplicationData ) ;
214186 var localAppDataRoot = Environment . GetFolderPath ( Environment . SpecialFolder . LocalApplicationData ) ;
215- var vsVers = new string [ ] { "12.0" , "14.0" , "15.0" } ;
216187
217188 foreach ( var vsVer in vsVers )
218189 {
190+ if ( Environment . Is64BitOperatingSystem )
191+ {
192+ var installDir = ( string ) Registry . GetValue (
193+ string . Format ( "HKEY_LOCAL_MACHINE\\ SOFTWARE\\ Wow6432Node\\ Microsoft\\ VisualStudio\\ {0}\\ " , vsVer ) ,
194+ "InstallDir" ,
195+ null ) ;
196+ if ( ! string . IsNullOrEmpty ( installDir ) )
197+ {
198+ vsDirs . Add ( installDir ) ;
199+ }
200+ }
201+ else
202+ {
203+ var installDir = ( string ) Registry . GetValue (
204+ string . Format ( "HKEY_LOCAL_MACHINE\\ SOFTWARE\\ Microsoft\\ VisualStudio\\ {0}\\ " , vsVer ) ,
205+ "InstallDir" ,
206+ null ) ;
207+ if ( ! string . IsNullOrEmpty ( installDir ) )
208+ {
209+ vsDirs . Add ( installDir ) ;
210+ }
211+ }
212+
219213 vsDirs . Add ( Path . Combine ( appDataRoot , "Microsoft" , "VisualStudio" , vsVer ) ) ;
220214 vsDirs . Add ( Path . Combine ( localAppDataRoot , "Microsoft" , "VisualStudio" , vsVer ) ) ;
221215 vsDirs . Add ( Path . Combine ( localAppDataRoot , "Microsoft" , "VSCommon" , vsVer ) ) ;
0 commit comments