ASP.NET网站安装/更新

ASP.NET网站安装/更新,asp.net,Asp.net,我正在寻找一些关于如何为我的ASP.NET网站提供安装包的想法。我需要能够做的一些事情是读/写注册表项,获取数据库信息并测试连接,我必须能够在不卸载的情况下覆盖现有网站,并在新版本上更新web配置。我不希望卸载网站并重新安装。我希望升级时停机时间最少。我想我必须实现一个定制解决方案,如果这是真的,我如何将我的web应用程序的所有输出都包含到我的定制解决方案中 编辑:我不是在我自己的系统上安装这个。这是为了分发给将安装/升级网站的其他客户端。重要的是,我能够升级到最新的asp.net网站而无需卸载

我正在寻找一些关于如何为我的ASP.NET网站提供安装包的想法。我需要能够做的一些事情是读/写注册表项,获取数据库信息并测试连接,我必须能够在不卸载的情况下覆盖现有网站,并在新版本上更新web配置。我不希望卸载网站并重新安装。我希望升级时停机时间最少。我想我必须实现一个定制解决方案,如果这是真的,我如何将我的web应用程序的所有输出都包含到我的定制解决方案中


编辑:我不是在我自己的系统上安装这个。这是为了分发给将安装/升级网站的其他客户端。重要的是,我能够升级到最新的asp.net网站而无需卸载。理想情况下,它将覆盖现有站点并更新web.config文件。

我认为您可以将asp.net应用程序构建到.msi包中并安装它。这就是你要找的吗?然后,您可以将所有自定义项构建到部署前和部署后脚本中。

我将NAnt和NSIS与一些小型控制台应用程序一起使用,在这些应用程序中,它们无法轻松完成我需要的一些操作。

选项1。创建web应用程序安装包 使用Web安装项目创建Web应用程序安装包(.msi)

在MSDN

如果您的应用程序已经安装在用户的计算机上,则您可以按照它为用户提供应用程序升级选项的方式创建安装。这不是问题

Web安装项目的备选方案(它们都可以处理升级方案):

  • -这是一个免费的开源软件
第二步。在服务器上部署web应用程序 您可以使用自动执行这些任务

例如,对于MSBuild的NAnt,可以指定如下任务:

  • 从源存储库获取项目文件
  • 如果需要,更新.config文件和其他一些文件
  • 编译您的web应用程序
  • 更新服务器上的注册表设置
  • 更新服务器上的数据库架构
  • 在生成文件夹和IIS web文件夹之间同步文件(x-copy)

备选案文3。通过web Plafrom Installer分发您的web应用程序。

你有没有研究过这个问题?

你试过新的吗


此解决方案似乎只处理IIS 7?此外,我找不到有关它如何处理更新的任何信息。“Web部署项目”不适合部署网站,尤其是当您需要在服务器上更改注册表等时。Web部署工具不支持IIS 6和7。更新是什么意思?一个包可以包含任何您想要的内容。@Koistya:如果您阅读,您会发现您可以将Web安装项目与Web部署项目一起使用。对不起,我以为他们已经合并了。我一直在说更新,但我真正的意思是升级。我需要在不卸载的情况下升级网站,并保留web.config和注册表设置。非常感谢您的更新。我并没有试图在我自己的机器上进行部署,但我目前在本地有一个非常好的设置,效果非常好。我需要做一些事情,将网站作为一个软件包分发给其他用户,他们可以安装。明白了,那么你应该使用Web Setup Project并将你的Web应用程序编译成。MSI我不认为这将允许我在不卸载的情况下进行更新,对吗?然后他们将不得不再次经历信息收集过程并进行新的安装?我相信你可以。它还可以升级您以前安装的web应用程序。web安装项目的唯一问题是,如果不从内到外学习,很难对其进行自定义。也许使用Wise、InstallShield或Nullsoft等替代软件会更容易