我们最近为我们的客户遇到了一些地狱问题,所以我想知道是否安装了.dll和.ocx的SxS装置是一个好主意。我阅读了它并成功部署了我们的应用程序,至少部分依赖关系是通过清单来满足的,但是它仍然是推荐的部署方式,还是从过去几年中流行起来,现在逐渐被抛弃?
答案 0 :(得分:4)
我不明白为什么它会成为一种时尚。 VB6的关注点是,从来没有工具更新直接支持它,虽然VB6 SP6改进了支持,XP SP2提供了更完整的实现。
我们一直在这里使用它,虽然我们发现某些第三方控件没有正确编写但无法使用它。很多vbAccelerator的东西似乎都是以这种方式“破坏”的。
这是一种罕见的情况,我们现在不使用免注册COM进行部署,即使我们将其全部包装在MSI包中也是如此。与其他产品的糟糕安装程序(很多DLL Hell的来源)隔离是一个很大的优点,Windows在系统组件方面做得更好,这有助于批次本身。
诀窍是找到好的工具支持。我从来没有耐心通过SDK工具应用微软的粗略支持,但我认为其他人有。这种东西至少有一种商业产品。我们使用自己开发的内部工具。
风尚?我们认为竞争优势。它确实可以更容易地在VB6中生产便携式软件!与我们从德国源代码中看到的一些运行时库加载和黑客工具包不同,您不必在程序中添加大量的fiddley编码。只是简单的旧VB6程序工作正常。
它支持的另一个功能是按用户部署,可以轻松创建为没有提升权限的用户安装的MSI包。我们主要不是生产隐形软件,但客户有时会面临组织内部的高墙,这使他们能够安装我们提供的产品并继续他们的工作。由于我们没有触及注册表或受保护的文件系统区域,因此来自管理类型的负面反馈几乎为零。 Windows 7增强了这一点:
Authoring a single package for Per-User or Per-Machine Installation context in Windows 7
虽然您没有获得单包功能,但同样的技术适用于Vista。构建隔离的应用程序使得该过程更加容易。
当然,SxS意味着远远超过免注册COM和隔离,但在VB6术语中,这可能就是你所说的。 DotNet使用它,操作系统使用它。我不确定为什么它会成为一种“时尚”。也许很多人因为对工具的挫败感,从VB6转向别的东西,或者因为现在的经济竞争非常激烈而对这个问题保持沉默。
答案 1 :(得分:0)
我过去曾尝试使用过SxS,但在应用程序运行的某些百分比的Windows XP计算机上遇到问题后停止使用它。