我的wix安装程序有一个自定义操作,该操作仅在升级期间运行,并调用exe来编辑缓存的msi中的一些条件。此自定义操作在"删除现有产品"之前运行。安装程序在除2012 R2之外的所有Windows环境中成功运行且没有错误。
在 Windows Server 2012 R2 上,安装程序在该特定自定义操作失败并抛出错误110.我尝试以管理员身份运行安装程序,但仍然失败。我不知道这次失败背后的原因。非常感谢任何帮助。
答案 0 :(得分:1)
如果安装的产品坏了,那么标准解决方案是使用修补程序(msp)修复它,或者使用固定的MSI重新安装/重新缓存产品。通过“修复它”,我显然意味着纠正导致升级在这些条件下失败的一切。
否则问题就是该程序,并确切地找出它失败的原因和原因。我们不知道你是否正在调用MsiOpenDabase,无论你是使用C#P / Invoke还是等等。它需要跟踪功能来说明什么是有效的,什么不是,因为问题最终是关于代码在特定操作系统版本上失败的原因。
MsiOpenDatabase和110有很多结果,例如:
答案 1 :(得分:0)
必须编辑缓存的MSI是非常不寻常的。这基本上意味着你搞砸了并运送产品而没有经过彻底的测试。在运行升级之前,我会发布一个独立的实用工具,让客户进入快乐状态。
如果您真的希望它是1步,我会为MSI构建一个setup.exe,并在启动主MSI之前将清理器连接到该端口。