Deployment 如何准备部署计划?

Deployment 如何准备部署计划?,deployment,windows-installer,group-policy,Deployment,Windows Installer,Group Policy,关于软件部署,我是一个完全的新手。我没有实验服务器和网络的基础设施,所以我真的不知道软件是如何在企业中部署的 假设我创建了一个非常简单的Windows.exe程序。(您打开它,它会显示一个“Hello World”消息框,以及一个“close”(关闭)按钮)。该程序没有外部依赖性,因此完全“可移植” 现在让我们假设我的计划是由各种不同的公司想要的。他们每个人都希望在他们所有的Windows机器上部署我的程序。每个公司都有一些机制,通过这些机制,它可以将软件自动部署到所有客户机上,但这种机制在每种

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

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

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

我应该如何准备我的程序以便于部署?
另外,请描述一下最常见的部署“机制”是什么?谢谢

我在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客户可以免费使用。更复杂的场景需要更多的知识和高级工具。

我为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客户可以免费使用。更复杂的场景需要更多的知识和先进的工具。

回答得好-谢谢。我将以此作为研究您更详细地提到的内容的起点。我承认创建MSI是从部署过程中抽象出来的,但大致了解MSI是如何实现的会很有用是跨网络安装的。是否需要某种中央服务器,并且它必须运行特定的操作系统?大多数企业是否已经具备接受MSI所需的设置?再次感谢。自Windows 95和NT 4.0以来的任何操作系统都可以处理MSI。有许多工具来处理分发,可以有一个或多个服务根据企业规模的不同,谷歌“SCCM”。请接受这个答案。我很乐意。再次感谢!回答得很好-谢谢。我将把它作为研究您更详细地提到的事情的起点。我接受创建MSI是从部署过程中抽象出来的,但是大致了解MSI是如何跨网络安装的会很有用。需要这样吗我是一种中央服务器,它是否必须运行特定的操作系统?大多数企业是否已经具备接受MSI所需的设置?再次感谢。自Windows 95和NT 4.0以来的任何操作系统都可以处理MSI。有许多工具可以处理分发,根据企业的大小,可以有一台或多台服务器。Google“SCCM”。请接受这个答案。我很乐意。再次感谢!