Wix 无源mst卸载

Wix 无源mst卸载,wix,windows-installer,Wix,Windows Installer,我正在使用Transform创建一个windows安装包,使其成为多实例。我的mst文件更新一些注册表项组件的产品代码和GUID。这是每台机器的安装。现在我无法卸载我的产品,如果: 我的mst文件将从其原始位置删除 TransformsSecure策略设置为1 安装程序尝试在原始位置查找mst文件,但无法执行此操作,卸载失败。 在这两种情况下,我可以做什么让我的产品卸载 一些额外的信息。 我看到我的msi和mst文件缓存在c:\Windows\Installer文件夹中。 但不知何故,安装程序并

我正在使用Transform创建一个windows安装包,使其成为多实例。我的mst文件更新一些注册表项组件的产品代码和GUID。这是每台机器的安装。现在我无法卸载我的产品,如果:

我的mst文件将从其原始位置删除 TransformsSecure策略设置为1 安装程序尝试在原始位置查找mst文件,但无法执行此操作,卸载失败。 在这两种情况下,我可以做什么让我的产品卸载

一些额外的信息。 我看到我的msi和mst文件缓存在c:\Windows\Installer文件夹中。 但不知何故,安装程序并没有试图从缓存中获取mst。
此外,如果未设置TransformsSecure策略,则一切正常。在这种情况下,我的mst文件会自动缓存在c:\Windows\Installer{358e77a7-464b-4588-b538-a79fceb0ffa8}文件夹中。

您可能需要在某个地方发布完整的详细卸载日志,如果因为1和2或1或2而无法卸载,我不清楚。因此,有一定数量的猜测,因为它对你的确切情况

但是,如果mst已从安装程序缓存中删除,则Windows将尝试在原始安装源中找到它,就像缓存的MSI文件丢失一样。但是,安全转换不允许转到原始安装源,因为它们只能从安全缓存位置检索,而不能从DVD检索,例如,如果缺少缓存位置,卸载将失败。因此,这是正常的-安全转换需要访问安全位置的mst,而不是其他位置。是的,如果转换不安全,它可以使用安装源

有时,系统帐户会失去对安装程序缓存位置的访问,这将产生相同的结果。它无法在安全位置找到mst,但转换是安全的,因此无法使用原始安装源,因此操作失败


因此日志中的详细信息可能会有所帮助。它是否在尝试获取mst时出现系统错误5?或者它是否说明了为什么它不能使用它?是否有人试图解析源代码,但由于转换是安全的,所以没有这样做

对不起,我现在无法发布日志,我的工作电脑本周末不可用。但这里有更多关于我正在做的事情的细节。我需要让我的产品卸载,即使我的msi和mst在其源位置不可用。我需要支持TransformsSecure模式,因为自Server 2008以来默认为1。也有一些客户强制这样做。如果两个条件都为真,我在卸载时遇到问题。如果其中一个为False,则没有问题。我正在使用以下命令进行安装:msiexec-id:\Temp\MyProduct.msi TRANSFORMS=d:\Temp\MyProduct.mst MSINEWINSTANCE=1使用mst的完整路径很重要,否则卸载会尝试找到d:\Temp\MyProduct.msi。我正在检查已安装产品列表中的MyProduct注册表项,并查看在c:\WIndows\Installer中生成了哪些名称来缓存MyProduct.msi和MyProduct.mst。这些缓存文件实际上就在那个文件夹中,并且与原始文件完全匹配。Transforms注册表项仅指定一项:d:\Temp\MyProduct.mst和value.mst。当我检查卸载日志时,我看到使用了缓存的msi,但从来没有提到缓存的mst。