使用安装包从客户端计算机部署网络共享上的文件?

时间:2011-03-11 16:57:49

标签: deployment wix client-server

我们有一个大型应用程序,已经开发超过15年,并安装在200多个客户端位置。该应用程序当前包含一个Access数据库和一组位于网络共享上的可执行文件和报告文件。在每台客户端计算机上运行Setup.EXE文件(dll安装在客户端上),然后客户端计算机直接从网络共享运行可执行文件。在升级过程中,新的可执行文件和报告文件将被复制到网络共享中,并且每个客户端都会立即获得更新。

我们当前的安装程序非常陈旧,除此之外,它还没有处理x64,因此我们正在迁移到新的部署工具。同时我们将客户端Access数据库迁移到SQL Server。我很难找到一个部署工具来完成我们需要的工作。具体来说,我们需要安装/升级文件来执行以下操作:

  1. 必须能够从网络上的客户端计算机运行,并将新的可执行文件和报告文件复制到网络共享。这个份额可能是一个Linux盒子或一个愚蠢的存储设备。
  2. 在运行安装之前接受密码
  3. 允许用户选择网络共享作为复制可执行文件的位置
  4. 必须向运行包的客户端计算机添加任何内容(添加/删除程序,注册表等)
  5. 连接到SQL Server数据库并运行脚本
  6. 安装/升级必须包含在单个独立的.msi或.exe文件中。 (不依赖于Windows XP附带的dll或框架)
  7. 该文件必须能够在一个简单的步骤中运行。最终用户在没有我们的支持且没有IT参与的情况下运行升级。
  8. 看起来最接近我需要的是WiX,但问题是每当从客户端运行.msi文件时,客户端机器认为正在安装程序,因此它允许客户端机器< em> uninstall 该产品,这是不可接受的。

    如果今天写的产品肯定会以不同的方式构建,但它目前就是这样,我们无法改变它。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

WiX只是一种基于Windows Installer技术构建的工具集。它使许多事情变得更容易和简单,并且隐藏了许多Windows Installer奇怪的功能......但是,它仍然受到其安装的Windows Installer的限制。

您的要求列表让我认为Windows Installer不是正确的技术选择。我假设您将花费更多时间在解决方法上,而不是功能代码......但我没有其他安装技术的经验,所以我会将这些建议留给其他人。