2013-11-03 47 views
1

我是一个软件部署的完整新手。我没有基础设施来试验服务器和网络,所以我也不知道软件是如何部署到企业中的。如何准备部署的程序?

假设我创建了一个非常简单的Windows .exe程序。 (你打开它,它会显示一个“Hello World”消息框,以及一个“关闭”按钮)。该程序没有外部依赖性,因此完全是“便携式”。

现在让我们假设我的程序是由各种不同的公司通缉。他们都希望在我们的所有Windows机器上部署我的程序。每家公司都有一些机制可以将软件自动部署到他们的所有客户端机器,但这种机制在每种情况下可能都不相同。 (作为一个完整的新手,我并不知道存在哪些类型的“机制”。)

我应该怎么做准备我的程序以便于部署? 另外,任何人都可以请描述最常见的部署“机制”是什么?谢谢!

回答

1

我曾为ISV(12年)和企业IT部门(5年)工作过,因此我了解您的问题的性质。

至少需要创建一个支持静默(非交互式)安装,升级和卸载的安装程序。您可以使用各种工具在技术上做到这一点,但您的客户会更喜欢您创建一个MSI。他们更喜欢这样做,因为Windows安装程序(.MSI)提供了一致的命令行,日志记录,事务安装(故障时回滚更改),元数据丰富(可观察;无黑盒)并且可转换(最终用户可以修改MSI使用洋葱皮方法来完成诸如更改快捷方式的名称或位置或存在,使用特定用户名/密码安装服务等等)。

因此,只要您正在创建正确创作的MSI,您可以在某种程度上忽略部署方法,因为您是从中抽象出来的。诀窍是了解您的应用程序的部署需求(在您的示例中很容易)以及如何在Windows Installer中实现这些需求(学习曲线有点陡峭)。

我个人使用InstallShield和Windows Installer XML(WiX)。我还编写了一个名为IsWiX的工具(CodePlex上的开源代码),它提供了一个像WiX之上的创作体验一样的InstallShield。您所描述的场景可以使用InstallShield LE(限制版)轻松实现,该版本对Visual Studio客户免费。更复杂的场景需要更多的知识和先进的工具。

+0

很好的回复 - 谢谢。我会用它作为研究你提到的更详细的事情的起点。我同意创建MSI是从部署过程中抽象出来的,但大致了解如何跨网络安装MSI将会非常有用。是否需要某种中央服务器,是否需要运行特定的操作系统?大多数企业是否已经有了接受微星的必要设置?再次感谢。 – DarkOwl

+0

自Windows 95和NT 4.0以来的任何操作系统都可以处理MSI。有很多工具可以处理分配,并且可以有一个或多个服务器,具体取决于企业的规模。谷歌“SCCM”。请接受这个答案。 –

+0

我很乐意。再次感谢! – DarkOwl

相关问题