我是一个关于软件部署的完整新手。我没有基础设施来试验服务器和网络,所以我真的不知道如何在企业中部署软件。
假设我创建了一个非常简单的Windows .exe程序。 (您打开它,它会显示一个“Hello World”消息框,以及一个“关闭”按钮)。该程序没有外部依赖性,因此完全“可移植”。
现在让我们假设我的程序被各种不同的公司所需。他们每个人都希望在我们所有的Windows机器上部署我的程序。每个公司都有一些机制可以将软件自动部署到所有客户端机器上,但这种机制在每种情况下都可能不同。 (作为一个完整的新手,我真的不知道存在什么类型的'机制'。)
如何准备我的程序以便轻松部署? 另外,有人可以描述最常见的部署“机制”是什么吗?谢谢!
答案 0 :(得分:1)
我曾在ISV(12年)和企业IT部门工作(5年),因此我了解您的问题的性质。
至少,您需要创建一个支持静默(非交互式)安装,升级和卸载的安装程序。您可以使用各种工具从技术上做到这一点,但您的客户更愿意创建MSI。他们更喜欢这个,因为Windows Installer(.MSI)提供了一个标准化的机制,具有一致的命令行,日志记录,事务安装(故障时的回滚更改),丰富的元数据(可观察;没有黑盒子)并且可以转换(最终用户可以修改MSI使用洋葱皮方法来做更改名称或位置或存在快捷方式,使用特定用户名/密码安装服务等等。
因此,只要您创建了正确创作的MSI,就可以在某种程度上忽略部署方法,因为您从中抽象出来。诀窍是了解应用程序的部署要求(在您的示例中很简单)以及如何在Windows Installer中实现这些要求(这是一个有点陡峭的学习曲线)。
我个人使用InstallShield和Windows Installer XML(WiX)。我还编写了一个名为IsWiX的工具(CodePlex上的开源代码),它提供了一个类似于WiX之类的创作体验的InstallShield。使用InstallShield LE(限制版)可以轻松实现您描述的场景,Visual Studio客户可以免费使用。更复杂的场景需要更多的知识和高级工具。