C#中的应用程序部署技术

时间:2009-11-29 09:04:21

标签: c#

这里的人们如何实际部署C#应用程序?

我看到了几个选项

  • 1)确保所有dll都是本地复制的,并将整个bin / Debug文件夹复制并粘贴到部署机器上。如果您需要在许多机器上部署和更新版本,这会很痛苦

  • 2)将应用程序部署到共享文件夹并从那里执行应用程序(从安全的角度来看这是不是有问题),即网络上dll的安全性

  • 3)手动将应用程序部署到所有计算机,但将引用的dll保存在共享文件夹中。然后,您可以将单个dll发布到此文件夹。

如果我们假设选项3那么dll对网络的安全隐患是什么?并且鉴于dll是版本化的,你可以实际修补一个dll,而无需重新编译应用程序吗?

当然在Java中你可以修改一个env变量,它会获取新的JAR文件,这些文件可以在没有完全重新编译的情况下进行更新,前提是方法签名没有改变

我也有兴趣听到很好地部署应用程序的新方法

编辑:这不是桌面应用程序 - 这是一个在服务器上运行的应用程序。 Clickonce仍然有效吗?

还要记住,这需要部署到十台左右的机器上,我不想将它们分别用于每一台机器!

4 个答案:

答案 0 :(得分:3)

一次解决所有问题; ClickOnce - 与1一样,但由系统管理,并为您自动更新。在Visual Studio中,这就是“发布”功能为您所做的(显然在编写exe时)。

步骤:

  • 您发布到网络服务器,网络共享或任何其他合适的部署媒体(CD会这样做)
  • 每个用户“运行”(想要更好的词).application文件
  • ???
  • 的利润!

2确实是一个安全噩梦,特别是在vanilla 2.0上(在3.5 SP1中变得更容易),而且每台机器需要花费太多时间。

所以ClickOnce尽可能。如果您需要更多(安装COM等),那么需要一个msi安装程序。

或者考虑使用Silverlight等 - 不同的框架,但更容易部署。

答案 1 :(得分:1)

我会说使用内置功能创建MSI包(在Visual Studio中)并度过愉快的一天。

答案 2 :(得分:0)

这取决于您是在公司内部还是在全球范围内部署...... 基本上 - 你最好把所有东西都用掉,并使用ClickOnce安装等技术在必要时自动更新部署。

答案 3 :(得分:0)

我不能足够推荐Wix。非常强大且非常灵活

相关问题