这里的人们如何实际部署C#应用程序?
我看到了几个选项
1)确保所有dll都是本地复制的,并将整个bin / Debug文件夹复制并粘贴到部署机器上。如果您需要在许多机器上部署和更新版本,这会很痛苦
2)将应用程序部署到共享文件夹并从那里执行应用程序(从安全的角度来看这是不是有问题),即网络上dll的安全性
3)手动将应用程序部署到所有计算机,但将引用的dll保存在共享文件夹中。然后,您可以将单个dll发布到此文件夹。
如果我们假设选项3那么dll对网络的安全隐患是什么?并且鉴于dll是版本化的,你可以实际修补一个dll,而无需重新编译应用程序吗?
当然在Java中你可以修改一个env变量,它会获取新的JAR文件,这些文件可以在没有完全重新编译的情况下进行更新,前提是方法签名没有改变
我也有兴趣听到很好地部署应用程序的新方法
编辑:这不是桌面应用程序 - 这是一个在服务器上运行的应用程序。 Clickonce仍然有效吗?
还要记住,这需要部署到十台左右的机器上,我不想将它们分别用于每一台机器!
答案 0 :(得分:3)
一次解决所有问题; ClickOnce - 与1一样,但由系统管理,并为您自动更新。在Visual Studio中,这就是“发布”功能为您所做的(显然在编写exe时)。
步骤:
.application
文件2确实是一个安全噩梦,特别是在vanilla 2.0上(在3.5 SP1中变得更容易),而且每台机器需要花费太多时间。
所以ClickOnce尽可能。如果您需要更多(安装COM等),那么需要一个msi安装程序。
或者考虑使用Silverlight等 - 不同的框架,但更容易部署。
答案 1 :(得分:1)
我会说使用内置功能创建MSI包(在Visual Studio中)并度过愉快的一天。
答案 2 :(得分:0)
这取决于您是在公司内部还是在全球范围内部署...... 基本上 - 你最好把所有东西都用掉,并使用ClickOnce安装等技术在必要时自动更新部署。
答案 3 :(得分:0)
我不能足够推荐Wix。非常强大且非常灵活