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
故障排除幻影Windows安装依赖项_Windows_Wix_Windows Installer_Installation - Fatal编程技术网

故障排除幻影Windows安装依赖项

故障排除幻影Windows安装依赖项,windows,wix,windows-installer,installation,Windows,Wix,Windows Installer,Installation,我遇到了一个问题,显然是一台PC(运行Windows 10 Enterprise)的问题,我正在开发的WiX安装程序无法正确卸载 安装程序是一个捆绑包,包括我们自己的两个MSI,SQL Server Express 2019和.NET Framework 4.7.2(在本例中,后者没有安装,因为它已经存在)。捆绑包安装正确,但卸载时无法删除我们的两个MSI,并在日志中报告以下情况: Will not uninstall package: XYZ, found dependents: 1 Foun

我遇到了一个问题,显然是一台PC(运行Windows 10 Enterprise)的问题,我正在开发的WiX安装程序无法正确卸载

安装程序是一个捆绑包,包括我们自己的两个MSI,SQL Server Express 2019和.NET Framework 4.7.2(在本例中,后者没有安装,因为它已经存在)。捆绑包安装正确,但卸载时无法删除我们的两个MSI,并在日志中报告以下情况:

Will not uninstall package: XYZ, found dependents: 1
Found dependent: {0aab0314-39c3-435d-8fc7-747b0db56cc4}, name: Unknown
安装后立即查看注册表(HKEY_CLASSES_ROOT\Installer\Dependencies),有三个条目(不包括SQL Server)——一个用于我们的捆绑包,一个用于我们的两个MSI。捆绑包有一个依赖项—自身—两个MSI各自有两个依赖项—捆绑包和神秘GUID(0aab0314-…)。神秘GUID在多个安装-卸载周期中保持不变

我从上到下搜索了注册表,没有找到对该GUID的任何其他引用;我还尝试在C:\ProgramData\Package缓存中查找,但也没有在那里找到它。我已经使用dark.exe来反编译包和两个MSI,然后用于搜索所有400多个文件,但没有用。我只能使用Microsoft的cleanup tool()在这台机器上成功地完全卸载我们的软件,我不知道如何完全解决这个问题


有什么想法可能导致这个或其他地方,我可以搜索尝试解决它?不幸的是,我对MSI和WiX的了解很少,而且几乎完全是在这个特定项目的过程中获得的。

现在无法了解这一点,但有一个链接:。这可能是您开发包的PC?尝试使用上面链接中的VBScript生成产品代码列表,并查看是否与报告的GUID匹配。可能不会,但试试看。捆绑包本身有guid(不仅仅是msi),我在这方面还不是很精通。稍后将查看,或者Chris Painter可能完全知道这一点。您不必通过搜索来在注册表中找到GUID。通常情况下,它们被包装或压缩在那里。打包和压缩的guid:,。如果所讨论的系统是您开发包的地方,请确保在虚拟机上进行测试。开发系统经常由于开发“灾难”和实验而处于“肮脏状态”——这一点您无疑是知道的。有可能这些问题不是“真实的”,因为它们不会在野外发生,而只会在那个盒子上发生。专注于测试现实世界中的使用情况并寻找问题。要测试的多种模式:
新安装
修复
修改
卸载
主要升级
次要升级
。更多涉及的模式:
补丁
回滚
自我修复
。感谢您在@SteinÅsmul发表的所有有用评论-这发生在一台(相对)干净的机器上,我们仅用于测试部署。但是,在尝试对问题进行故障排除的过程中,它现在已停止发生,安装程序再次完全按照预期执行。我希望这台机器最终会以某种方式进入一种奇怪的状态,我在重复的安装/卸载周期中意外地修复了它,但我们将看到:-/