如何使用C#查找带有Registry的软件的安装位置

时间:2014-11-25 07:26:11

标签: c# find location registry

我是注册表项的初学者,和 我想找出使用​​C#的具有更高版本的AutoCAD软件的安装位置。
可以在计算机上安装多个AutoCAD(AutoCAD 2012,AutoCAD 2014等),我想单独获得更高版本。(结果将是AutoCAD 2014(acad.exe)的路径)

还必须在上一个结果中找到的路径上找到acCoreConsole.exe文件isExist ..

我无法浏览Registry的位置。

HKEY_LOCAL_MACHINE\Software\Autodesk\AutoCAD\R18.2\ACAD-D001:409\AcadLocation

我试过这段代码:

Registry.LocalMachine.OpenSubKey("Software\\Autodesk\\AutoCAD", false).GetSubKeyNames();

但这会导致其他地方:

HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Autodesk\\ADSKAssetLibrary

我不知道如何获取acad.exe的位置。我使用的是64位计算机。 任何帮助都会很有感激。请做必要的, 谢谢,

1 个答案:

答案 0 :(得分:0)

您的应用程序最有可能运行32位,因为您似乎被自动导向到WoW6432Node,这是32位应用程序的默认目录。

试试这段代码:

RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64).OpenSubKey(@"your path here", false);

我很确定你在64位机器上运行32位应用程序,我之前也遇到过这个问题

编辑:忘了追加命令的最后一部分,但你可以追加它我猜