程序化远程应用程序安装

时间:2008-10-27 20:12:15

标签: .net windows deployment

Windows和.Net框架中是否有任何内置用于以编程方式远程安装和执行应用程序?即:用于远程软件部署的API。我想构建一个可以从一个中央管理工作站在新计算机池上安装服务的工具。

更新:计算机是内部IT网络的一部分,应用程序和服务主要是内部开发的。部署程序将完全是内部的,而不是商业销售。

5 个答案:

答案 0 :(得分:2)

“我想构建一个可以从一个中央管理工作站在新计算机池上安装服务的工具。”

所有想要建立僵尸网络的人都会整天发送垃圾邮件。当然,你可能有的原因。但是有一些安全方面的考虑因素会使这种情况变得不可取而且非常困难。

Microsoft Deployment Services开始。

Microsoft提供了大量Desktop Deployment信息。

答案 1 :(得分:2)

我假设所有相关的计算机都是XP专业版,是AD域的成员,并且在一家公司的控制之下。这与我们在工作中的设置相同。 我们使用组策略在成员计算机上设置防火墙配置,这将打开DCOM端口,因为需要允许“提供远程协助”才能工作。显然,我们的网络是通过防火墙与互联网分开的,不允许这种类型的流量! DCOM端口还允许WMI远程执行。 XP还公开了administritive共享(c $ etc),因此您可以将文件复制到PC上。如果您可以将安装程序设置为可以无人参与运行,那么就没有理由无法将其复制到远程计算机上然后运行它。您还应该能够使用WMI远程启动服务。

您应首先尝试群组策略。我们在工作中使用它来进行多个软件部署并且它可以工作。我们没有让它部署.net编写的服务,我们还为我们的.net客户端应用程序提供了一个替代的内部系统,它在运行之前更新了应用程序,因此我接受它有一些缺点。

我们目前正在推出SCCM(SMS),因此我无法评论其能力,但如果您的组织能够负担得起,那么我预计它会比内部系统更好。

答案 2 :(得分:2)

  • PsExec是一个穷人的方式,我已经用过很多次了。
  • Microsoft Deployment Toolkit包含用于部署应用的工具。这是免费的,但从我的理解,很多东西来学习。然而,这可能是一项明智的投资。
  • 不需要大量工作的最灵活方式是assign MSIs using group policy。您不必安装额外的软件或考虑这些位如何从一个地方到另一个地方。
  • 根据您的环境规模和您当前的IT基础架构,有大量第三方应用程序可能在应用程序部署之外增加了其他优势。您有System Center,Symantec Altiris等等。

答案 3 :(得分:0)

所有部分都存在(将文件复制到远程计算机,在远程计算机上生成进程等)。您将看到相当多的编程,将它们整合到一个强大的应用程序中。您还需要确保正确安全地配置客户端。天真地配置客户端以允许您执行此操作很可能会在客户端计算机上出现大量安全漏洞。我建议查看短信或许多类似的第三方应用程序之一。至少即使您无法负担使用已经编写的应用程序(强烈建议您这样做),您也可以查看其功能列表,以了解您需要考虑的问题类型。

通过进一步提供的信息,我会询问您是否在您的环境中使用组策略。如果是,那么您可以将应用程序打包为MSI,然后通过策略进行部署。

答案 4 :(得分:0)

根据您的需要,SysInternals'PsExec program可能适合您。文档说您不需要在其他计算机上安装任何东西。我在工作中使用它来启动远程机器上的构建过程。