如何在安装MSI软件包后检索[TARGETDIR]或[安装时间的用户输入DIR]?

时间:2014-09-30 08:17:09

标签: c++ windows-installer

我正在搜索如何获取已安装的targetdir msi软件包(产品)。

有时用户在安装时输入目标目录。我想要这个目录路径。

但我在注册表中找不到目标目录。

我尝试过这些。

MsiOpenPackage ... C:\ Windows \ Installer \ * .msi

MsiGetTargetPath ...(h,_T(" TARGETDIR"),T和& S);

所有枚举组件和 MsiGetComponentPath 都会返回特定文件。但我不能选择哪一个是TARGET-DIR路径。

所有......没有用。

我想帮忙。

1 个答案:

答案 0 :(得分:0)

MSI必须在安装过程中将ARPINSTALLLOCATION属性设置为主应用程序目录(如TARGETDIR)(显然在选择之后)。这就是使API工作的原因,特别是MsiGetProductInfo({ProductCode},... INSTALLPROPERTY_INSTALLLOCATION ...)

并非所有设置都需要这样做。

这最终将作为卸载注册表项中的InstallLocation。