小弟我的MFC应用程序里面,怎么检测一个程序是否安装成功?详细请进。多谢

我的MFC应用程序里面,如何检测一个程序是否安装成功?详细请进。。谢谢
我现在做的软件中,弹出文件对话框,可以让用户选择要安装哪个软件,到哪个目录下。
我初始化一个 SHELLEXECUTEINFO,参数里面放上用户所选安装包的绝对路径。
然后调用ShellExecuteEx()来进行安装这个软件。
然后WaitForSingleObject(ShExecInfo.hProcess,INFINITE); //等待进程执行结束
软件安装这个进程结束后,我调用下面的函数来获取执行进程的返回结果:
  if ( !GetExitCodeProcess(ShExecInfo.hProcess, &dwResult) )
  {
  bRet = FALSE;
  dwErrCode = GetLastError();
  break;
  }

但是,问题是,我上面的代码只能知道安装进程的返回结果,而不能确切的知道客户要安装的软件的返回值,因此不能判断用户所选的软件到底是安装成功、还是中途点击取消未安装。

我该怎么知道软件确切的安装结果呢?
请教大家、谢谢。

------解决方案--------------------
既然你知道安装路径
就去遍历一个那个路径
看看有没有文件被安装
如果用户中途取消这里应该没有东西才对
------解决方案--------------------
查注册表
------解决方案--------------------
看是否在注册表注册过
------解决方案--------------------
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
下面保存所有安装的程序