1

我是一个关于软件部署的新手。我没有试验服务器和网络的基础设施,所以我真的不知道软件是如何在企业中部署的。

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

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

我应该做些什么来准备我的程序以便于部署?另外,谁能描述一下最常见的部署“机制”是什么?谢谢!

4

1 回答 1

1

我曾在 ISV(12 年)和企业 IT 部门(5 年)工作过,所以我理解您问题的性质。

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

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

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

于 2013-11-03T14:18:16.247 回答