use*_*309 5 .net windows-installer wix
我有一个共享的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 Installer 中最糟糕的事情。我的一篇旧博客文章的链接总结了其中的大部分内容。您的情况与此处描述的情况略有不同,但结果是预期的。
我认为你应该两害相权取其轻。
| 归档时间: |
|
| 查看次数: |
1750 次 |
| 最近记录: |