gpt4 book ai didi

.net - WIX 将新文件添加到共享组件

转载 作者:行者123 更新时间:2023-12-04 20:26:00 24 4
gpt4 key购买 nike

我有一个共享的 dll,我们将其称为 Utility.dll,由多个产品安装。在我的 WIX 文件中,我将 Utility.dll 作为单独的组件安装。现在,Utility.dll 的 2.0 版引用了一个额外的 dll,UtilityUtility.dll,需要与它一起安装。

在我第一次尝试集成 UtilityUtility.dll 时,我创建了一个包含新 dll 的新 WIX 组件。

这会在以下场景中导致问题

1) 用户安装产品 1 { Utility.dll 1.0 }
2) 用户安装产品 2 { Utility.dll 2.0, UtilityUtility.dll 2.0 }
3) 用户卸载产品 2 { Utility.dll 2.0 }

现在,当用户使用 Utility.dll 时,它会在找不到引用的 UtilityUtility.dll 时失败

这导致我将 UtilityUtility.dll 添加到原始组件中,这会阻止 UtilityUtility.dll 在之前的场景中被删除,但它有自己的问题。

1) 用户安装产品 1 { Utility.dll 1.0 }
2) 用户安装产品 2 { Utility.dll 2.0, UtilityUtility.dll 2.0 }
3) 用户卸载产品 2 { Utility.dll 2.0, UtilityUtility.dll 2.0 }
4) 用户卸载产品 1 { UtilityUtility.dll 2.0 }

UtilityUtility.dll 是孤立的,因为它不会被产品 1 卸载删除(它最初安装时不存在于组件中)。

我这里还有其他选择吗?

谢谢

最佳答案

除非您可以更新产品 1(我认为这不是完全可能的),否则我认为您被搞砸了。恕我直言,组件规则是 Windows 安装程序最糟糕的事情。此 link to an old blog post of mine总结了大部分。您的情况与那里描述的情况略有不同,但结果是预期的。

我认为你可以选择两害相权取其轻。

关于.net - WIX 将新文件添加到共享组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/703359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com