Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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
如何在WIX安装程序中设置卸载(InstallLocation)注册表项值_Wix_Installation - Fatal编程技术网

如何在WIX安装程序中设置卸载(InstallLocation)注册表项值

如何在WIX安装程序中设置卸载(InstallLocation)注册表项值,wix,installation,Wix,Installation,我正在为我们的实验室编写一个实用程序,用于根据NAS上的安装程序集合(msi文件)检查本地计算机上已安装的软件。通过一点网络搜索,从代码中确定基于Windows的计算机上安装了哪些软件包的首选方法似乎是迭代HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall键。我感兴趣的安装程序是有名称空间的(由我创建),因此选择我感兴趣的注册表项很容易,但我注意到我使用wix创建的安装程序没有像大多数其他安装程序那样设置InstallLocation

我正在为我们的实验室编写一个实用程序,用于根据NAS上的安装程序集合(msi文件)检查本地计算机上已安装的软件。通过一点网络搜索,从代码中确定基于Windows的计算机上安装了哪些软件包的首选方法似乎是迭代
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall
键。我感兴趣的安装程序是有名称空间的(由我创建),因此选择我感兴趣的注册表项很容易,但我注意到我使用wix创建的安装程序没有像大多数其他安装程序那样设置InstallLocation键


由于我没有在wix安装程序中专门设置这些密钥中的任何一个(在卸载\XYZ部分中),因此我假设存在一些用于填充现有密钥的安装程序属性。有人知道wix安装程序填写InstallLocation的正确方法吗?目前我正在使用WIX 3.8。

如果您正在创建MSI文件,可以在这里查看:


如果他们属于其他公司,你就没什么办法了

如果您正在创建MSI文件,可以在此处查看:


如果他们属于其他公司,你就没什么办法了

我看过那篇文章,并尝试添加所讨论的set属性,但没有获得InstallLocation注册表项集。我想我误解了本文的意图,因为它在文本中从未真正提到这个特定的注册表项。在看到你的帖子后,我确实找到了另一个关于这个的参考,所以也许我用错了。我将尝试一些方法并向您报告。看起来我的set调用使用了错误的值。谢谢你的指点。你能描述一下你为此做了什么吗?因为我也在尝试做同样的事情,而且我是一个WIX新手!WiX源代码就在那个链接上,它非常明确,很难知道还有什么要说的。括号之间的文本需要是你要定位的目录元素的ID。许多示例都使用了
INSTALLFOLDER
。我看过那篇文章,并试图添加前面讨论的set属性,但没有设置InstallLocation注册表项。我想我误解了本文的意图,因为它在文本中从未真正提到这个特定的注册表项。在看到你的帖子后,我确实找到了另一个关于这个的参考,所以也许我用错了。我将尝试一些方法并向您报告。看起来我的set调用使用了错误的值。谢谢你的指点。你能描述一下你为此做了什么吗?因为我也在尝试做同样的事情,而且我是一个WIX新手!WiX源代码就在那个链接上,它非常明确,很难知道还有什么要说的。括号之间的文本需要是你要定位的目录元素的ID。许多示例使用
INSTALLFOLDER