判断以及获取visual studio安装路径

来源:互联网 发布:学编程买什么笔记本 编辑:程序博客网 时间:2024/06/10 00:10

最近发现用vs处理xml文件还挺方便的哦,关键是快捷键已经用的很熟,除了没有相同字符串高亮这个notepad++特有的功能外,其他都已经很完善了,语法检查不错,所以,在工具里就想用vs作为默认xml文本编辑器。

 

研究了很久的注册表项,才发现判断vs是否安装并不是那么容易,起码并不是那么简单的。

1.vs的注册项在HKEY_CURRENT_USER/SOFTWARE/MICROSOFT/VISUALSTUDIO/ 下,如果同时安装了vs8,vs9,那么该项下降有两个项:8.0 , 9.0;

  注意:不要从HKEY_LOCAL_MACHINE中找,你会发现一大堆版本,vs3—vs9都有。

2.vs的安装位置,这个也不是那么的靠谱,只能找到一个最后写入注册表的位置。在安装vs的时候会注册一个

HKEY_LOCAL_MACHILE/SOFTWARE/MICROSOFT/CURRENTVERSION/APP PATHS/DEVENV.EXE,默认值就是vs的安装位置,但是如果你先安装了vs8,在安装了vs9,那么该项就被改写成vs9的安装目录了。

3.也许你会说平常打开vs solution没问题啊,windows找到合适的vs打开的,其实,还有一个东西,就是在c:/program files/common files/microsoft shared/msenv/vslauncher.exe,这个学名叫visual studio version selector,专门用来获取正确的vs的版本。它应该维护了visual studio的版本及位置信息,但是遗憾的是,vslauncher并没有把相关信息存储在注册表里--这可真是头疼啊....

 

...

 

以上的思路貌似没什么错,但是其实是错了,各位看官发现了吗...

 

从一开始我就错了,导致后面的推理越来越复杂。第一步当我在看到HKEY_LOCAL_MACHINE/SOFTWARE/MICROSOFT/VISUALSTUDIO/中那么多的版本时,我就片面的认为这个项里的信息并不实用,所以都没有检验就直接忽略了,但其实在那里面确实存在着关键的信息。虽然那里面确实存在着诸多的版本,但是没有安装的并没有什么值,而在已经安装的项下,会看到InstallDir--也就是该版本的安装目录,这样,就ok了。

 

操纵注册表,自己一个个写注册表函数是要死人的,我曾多次写过,但是多次忘记,那些函数的设计实在是很不人性化啊。但是不要紧,我们有bcg,使用其中的CBCGPRegistry类,能够轻松操作注册表,当然像codeproject上也有很多免费的类库,总之,千万别自己写,真要写就写个全面的,也发布到网上去,以后可以复用的,否则就没意思了,因为你不久就会忘记的:~(

 

 

总结一下:1.先从HKEY_CURRENT_USER下获取用户确实安装的版本数,比如有8.0,9.0两个版本,然后让用户选择一个作为默认版本,接着从HKEY_LOCAL_MACHINE里找到对应的版本号并获取其地址,然后将其写入工具的注册表里。

 

原创粉丝点击