需求
碰到一个需求,要获取电脑上安装软件的安装路径或者卸载路径,
在网上找了一圈,基本都是通过注册表查找计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\ 这个项,然后根据应用名,后加后缀“.exe”来取得这个exe文件的路径,但是这就有一个问题,有部分软件无法通过这个来找到,比如说超图(SuperMap),程序已经在电脑上装上了,可是在对应的注册表项里面找不到。
思路
这时我就想到,通过卸载项来找到文件的安装路径。\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ 因为大部分软件都是可卸载的,所以一定能在这里找到。
果然,在这一堆乱码的项中,找到了我们需要的项,并且也有安装路径和安装源文件的路径。
方法
public static string GetSoftWarePath(string Name)
{
string softName = Name.ToLower();
<