如何使用 C# 查找具有注册表的软件的安装位置

本文关键字:软件 安装 位置 注册表 何使用 查找 | 更新日期: 2023-09-27 18:31:54

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

并且还必须找出acCoreConsole.exe文件存在于先前结果中找到的路径上。

我无法浏览注册表的位置。

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位机器。任何帮助将不胜感激,请做需要的,谢谢

如何使用 C# 查找具有注册表的软件的安装位置

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

试试这个代码:

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

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

编辑:忘记附加命令的最后一部分,但我想你可以附加它