程序化远程应用程序安装

有没有什么内置于Windows和.Net框架的远程编程安装和执行应用程序? 即:用于远程软件部署的API。 我想build立一个工具,可以从一个中央pipe理工作站在一台新计算机上安装服务。

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

我假设所有涉及的计算机都是XP专业版,是AD域的成员,并在一家公司的控制之下。 这就和我们在工作中所做的一样。 我们使用组策略在成员计算机上设置防火墙配置,这会打开DCOM端口,因为它需要允许“提供远程协助”工作。 显然,我们的网络是由互联网隔离的防火墙,不允许这种类型的流量! DCOM端口还允许WMI远程执行。 XP也暴露了管理员共享(c $等),所以你可以复制文件到PC上。 如果您可以设置您的安装程序,以便它可以运行不受关注,那么没有理由不能将其复制到远程机器上,然后运行它。 您还应该能够使用WMI远程启动服务。

您应该先尝试组策略。 我们在工作中使用它来进行多个软件部署,并且工作。 尽管我们没有使用.net编写的服务,我们也为我们的.net客户端应用程序提供了一个替代的内部系统,它在运行之前更新应用程序,所以我确实承认它有一些缺点。

我们目前正在推出SCCM(SMS),所以我不能评论它的能力,但如果你的组织能负担得起,那么我预计它会比内部系统更好。

  • PsExec是一个穷人的方式,我用了很多次。
  • Microsoft部署工具包有用于部署应用程序的工具。 这是免费的,但从我的理解,很多要学习。 但是,这可能是一个明智的投资。
  • 不需要大量工作的最灵活的方式是使用组策略分配MSI 。 您不必安装额外的软件,也不必考虑如何从一个地方到另一个地方。
  • 根据您的环境规模和您当前的IT基础架构,有大量的第三方应用程序可能在采用应用程序部署之外增加了其他优势。 你有系统中心,赛门铁克Altiris,还有更多。

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

那么每个想要构建bot-net的人都可以整天发送垃圾邮件。 当然,你可能有很好的理由。 但是有一些安全方面的考虑使得这种做法不可取,而且相当困难

从Microsoft部署服务开始。

微软有广泛的桌面部署信息。

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

所有的东西都在那里(把文件复制到远程机器上,在远程机器上产生一个进程等等)。你将会看到大量的编程,把它们放在一个强大的应用程序中。 您还需要确保客户端配置正确和安全。 天真地配置客户端允许你这样做很可能会在你的客户端机器上产生巨大的安全漏洞。 我会建议看看SMS或许多类似的第三方应用程序之一。 至少,即使你不能使用已经写好的应用程序(强烈建议你这样做),那么你可以看看他们的功能列表,以了解你需要考虑什么样的问题。

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