【发布时间】:2018-06-14 05:23:32
【问题描述】:
背景:客户一直在复制一组二进制文件并将其放在特定位置,以便他们运行 NinjaTrader 指标。例如:假设客户“A”使用了First.dll、second.dll,客户“B”使用了First.dll和Third.dll(他们确实使用了不使用任何安装程序,而只是从服务器位置复制)
当前要求:我必须创建一个包含所有可能更新的 DLL 的 WIX 安装程序,但需要注意的是,它应该只安装之前版本客户已经在他的机器上的那些更新的 dll。因此,如果新的 WIX 安装程序具有 First_1000.dll、Second_1000.dll、Third_1000.dll 和 Fourth_1000.dll,那么它应该在 客户“A”和“B”上表现如下:
客户“A”:使用此安装程序,他的机器应该只有First_1000.dll 和Second_1000.dll 而不是其他的。
客户“B”:使用此安装程序,他的机器应该只有First_1000.dll 和Third_1000.dll 而不是其他的。
我尝试过的:使用 directorySearch 和 FileSearch,但我无法有条件地安装,要么安装全部要么安装没有任何。另一个问题是它不会删除以前版本的二进制文件。
我需要什么:如何调用CustomAction方法并使用返回结果来决定是否安装,这样我也可以删除以前版本的文件。
【问题讨论】:
-
这是技术上的必需品(由于安全性、许可、大小等...),还是不了解所涉及技术挑战的经理要求的“必备”功能?您所描述的不是火箭科学,但仍然有很多复杂性需要处理和修复错误,而收益似乎很少?你可以相信这是准确的:没有人会对高级部署印象深刻,但如果你把它搞砸了,你会遇到很多麻烦。需求可以简化吗?
-
不是必须的 也欢迎任何其他想法,我选择 wix 希望它有一些内置功能可以利用,但看起来不是很多。我可以只使用 wix 捆绑二进制文件从 CA 做所有事情吗?
标签: wix windows-installer