我有一个共享的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卸载删除(它在最初安装时不存在于组件中).
我还有其他选择吗?
谢谢