如何在任何主机上安装我的ASP.NET应用程序

时间:2011-03-17 11:25:20

标签: c# asp.net webforms setup-deployment

如何从我的网络应用程序制作一个安装版本,允许任何拥有所需文件的用户:

  • 通过简单的界面提供初始信息或编辑网站启动所需的文件(管理员用户和密码,生产数据库凭证等)

  • 复制数据库架构(我的应用程序的普通表+成员资格表)

...有一点我想了解更多,但目前并不重要,但如果你有链接或想法,那就太棒了:如何保护我的应用程序免受可能购买的用户的影响它并在互联网上或与朋友分享它的副本!

修改

  

很抱歉这么晚回复!我曾是   昨天有点生病..谢谢   你的时间,我正在评论你的   现在回答:)

编辑2

  

AGAIN! ..谁曾投票给我   问题,请留下解释   所以人们包括问题所有者   会学习或者说一些   混淆..只是投票和投票   奔跑只是让你满意   需要对你认为的问题进行投票   可能是狼人! =)

3 个答案:

答案 0 :(得分:2)

我所知道的唯一方法就是使用Visual Studio创建一个安装程序,所以如果它们是更好的方式,请原谅我的无知。

您可以在Web应用程序上实现许可系统,每次启动应用程序时,它都会调用远程服务器进行身份验证(Global.asax)。

对于部署,您可以创建一个用户必须输入许可证密钥的应用程序。然后,您可以联系您的服务器(网站)并验证密钥。如果密钥有效,则将所有必需的文件下载到用户的计算机(在.zip文件中)。然后询问所有配置值(管理员用户名,密码,数据库名称,数据库主机)并创建数据库模式,并将所需文件(网站)复制到其托管服务器。

只是一个想法,没有实现这样的东西,但它应该在理论上工作。

答案 1 :(得分:2)

真的取决于“任何主机”的定义,因为在专用的盒子上可以做很多事情,你不能在共享盒子上。无论如何,如果我今天必须这样做,我会考虑创建一个wevb部署包。这将适用于2008年运行的任何商品,这是最商业化的服装。它还将进行数据库部署和配置调整。

关于权限管理,最好的选择是某种系统,其中应用程序必须ping您的服务以检查许可 - 这几乎是唯一万无一失的方式。当然,除非你得到一些特别的东西,否则大多数人都不会为任何如此受阻的事情而烦恼,并且可能会寻找其他解决方案。如果你付钱,你可以去交钥匙恕我直言。

答案 2 :(得分:1)

不要从@Wyatt那里偷回答雷,但这可能是@IKashef正在寻找的答案:

Visual Studio 2010具有将项目打包和发布到IIS 7的功能。请注意以下文章介绍如何执行此操作: http://weblogs.asp.net/gunnarpeipman/archive/2009/06/18/visual-studio-2010-web-application-packaging-and-publishing.aspx

它不是安装程序,但它允许从您的环境轻松部署到其他人。我已阅读,但找不到关于如何将其自动化为“独立安装程序”的文章。我和TFS一起使用它来部署测试服务器。

这谈到了一次点击发布: http://vishaljoshi.blogspot.com/2009/05/web-1-click-publish-with-vs-2010.html

有关IIS 7 Web部署工具的信息: http://blogs.iis.net/drobbins/archive/2008/01/23/new-web-deployment-tool-for-iis7.aspx

希望这会给你一些思考的食物。我知道这不是100%解决方案类型的答案,但部署/安装Web应用程序是一个非常开放的问题。诸如“您是否以及如何向客户提供代码”或“您是否正在进行自己的托管”等问题对于首先回答非常重要。