Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 安装MSI软件包后,如何检索[TARGETDIR]或[USER INPUT DIR when install time]?_C++_Windows Installer - Fatal编程技术网

C++ 安装MSI软件包后,如何检索[TARGETDIR]或[USER INPUT DIR when install time]?

C++ 安装MSI软件包后,如何检索[TARGETDIR]或[USER INPUT DIR when install time]?,c++,windows-installer,C++,Windows Installer,我现在正在搜索如何获取已安装的targetdir msi包(产品) 有时用户在安装时输入目标目录。我想要这条路径 但我在注册表中找不到目标目录 我试过这样 MSOpenPackage。。。C:\Windows\Installer\*.msi MsiGetTargetPath。。。(h,T("TARGETDIR),T及S); 所有枚举组件和MsiGetComponentPath返回特定文件。但我无法选择哪个是TARGET-DIR路径 全部。。。没用 我想提供帮助。MSI必须在安装过程中将ARPIN

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

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

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

我试过这样

MSOpenPackage。。。C:\Windows\Installer\*.msi

MsiGetTargetPath。。。(h,T("TARGETDIR),T及S);

所有枚举组件和MsiGetComponentPath返回特定文件。但我无法选择哪个是TARGET-DIR路径

全部。。。没用


我想提供帮助。

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

并不是所有的设置都会这么做


这将作为卸载注册表项中的InstallLocation结束

谢谢,但基本上我收集了INSTALLPROPERTY\u INSTALLLOCATION。有些软件不写这些信息。所以我找不到T.TWell这就是我说的,对,如果他们不这么做,他们也不会这么做。简而言之,你不可能在所有的软件中都得到它们,所以如果它们没有,你就没有运气了。这没关系,因为你甚至不知道有一个targetdir。安装到GAC和通用文件中的产品在任何“targetdir”中都不会有任何内容。您试图解决的问题是什么?鉴于并非所有设置都记录了targetDir或没有主应用程序目录,为什么查找targetDir会有所帮助。