使用 C/C++ 检查 Windows 中的软件安装和安装目录

Check For A Software Installation & Install Directory In Windows with C/C++

本文关键字:安装 软件 C++ 检查 Windows 使用      更新时间:2023-10-16

我正在使用C++为Windows上的现有应用程序编写补丁。其动机是编辑软件的配置文件,使其按照用户的要求工作。

然而,在打补丁之前检查软件是否已安装是很重要的。此外,如果软件已安装,则知道它安装在哪个目录中很重要,这样我就可以打开该目录中的文件并对其进行编辑。

一种方法是检查文件是否存在于"C:\Program Files…etc."中

现在,当用户在安装过程中修改了该软件的安装目录时,或者如果它是64位的Windows操作系统,则会将其存储在"C:\Program Files(x86)"中,问题就会出现。

所以,在默认安装目录中检查文件的存在几乎没有任何意义。

我听说一些开发人员这样做的另一种方式是通过检查Windows注册表来了解软件是否安装,以及如果存在,它安装在哪个目录中。

此外,我不知道如何使用C++查找注册表。我也不知道要检查哪个注册表项或值才能获得软件的安装路径。

请告诉我,你是否知道以上两种方法的替代方案。如果没有任何好的替代方案,我只想知道如何使用注册表来实现这个目标。

编辑:我正在修补的软件是Dev C++和Code::Blocks编译器。

谢谢!

很难回答这个问题,因为您没有提到更改安装目录的场景。如果你可以更改安装目录,为什么不试试这样的C:\Program Files(x86)\your_folder_name?这样,您的安装目录就不会被其他用户更改。