我可以自动在IIS中创建.NET Web应用程序吗?

时间:2008-11-24 10:57:05

标签: asp.net iis deployment installer

我需要在几台笔记本电脑上部署一个Web应用程序(虽然它是一个Web应用程序,但它只能通过localhost运行 - 因此需要在几台不同的计算机上部署)。

通常我会去IIS并右键单击一个目录来创建一个Web应用程序,但我非常希望自动执行这一安装。可以吗?

编辑: 我的问题显然不是很明确。

我想使用IIS,但我想自动创建Web应用程序而无需打开IIS Microsoft管理控制台(MMC)。

9 个答案:

答案 0 :(得分:7)

如果你在IIS6 look at this link上进行部署,如果它是IIS7(我可以推荐or at this one来获取IIS7上的任何信息),我可以采取Mike Volodarsky's blog。 您可以非常简单地编写一些批处理文件来自动创建网站。 例如:

  • IIS6:iisweb / create C:\ Rome“My Vacations”/ d www.reskit.com / dontstart
  • IIS7:%windir%\ system32 \ inetsrv \ AppCmd ADD SITE / name:MyNewSite / bindings:http / *:81:/ physicalPath:c:\ inetpub \ mynewsite

答案 1 :(得分:4)

你真的在问两个不同的问题。首先,为什么重新发明轮子?笔记本电脑很可能已经能够运行IIS - 它可以在所有“现代”Windows版本上使用,但Vista Home除外。其次,VS.NET安装程序可以轻松地定位并自动安装到IIS。如果您使用Wix或其他第三方安装程序,则需要更多手动工作,但仍可以完成。

编辑:在重新阅读你的问题时,这听起来就像你真正要求的那样 - 你已经知道目标计算机上有IIS可用,但只是不想在每台计算机上手动安装。正确?在这种情况下,请务必查看VS.NET安装项目 - 它们具有IIS部署的内置目标。

答案 2 :(得分:2)

您可以查看Cassini Sample Web Server(附带来源):

  

ASP.NET Cassini Web服务器示例是使用Microsoft®.NET®Framework编写的示例Web服务器,演示了使用ASP.NET托管API(System.Web.Hosting)托管ASP.NET。

答案 3 :(得分:2)

您可以使用system.DirectoryServices类,例如

http://www.gafvert.info/iis/article/cs_create_website_iis6.htm

答案 4 :(得分:1)

要实现最小的Web服务器,您可以使用HTTP.SYS(使用Windows XP SP2或更高版本部署的IIS的核心组件)。在.NET中,这可以完成,例如通过在System.Net命名空间中使用HttpListener类。

此致 tamberg

答案 5 :(得分:1)

您也可以尝试单声道http://mono-project.com/

适用于Linux,Mac OS X和Windows。

他们将xsp作为.net应用程序的Web服务器。

中有关于此的文档

http://www.mono-project.com/ASP.NET

祝你好运,

答案 6 :(得分:1)

创建“安装和部署”类型的新Visual Studio项目,并使用“Web Setup”类型。

这将创建一个.msi安装程序,它将在IIS中自动为您创建Web应用程序。

您还可以执行网络安装,因此如果您拥有正确的权限,则可以集中管理。

答案 7 :(得分:1)

您可以使用项目msbuildtasks中提供的WebDirectoryCreate任务,在不使用MMC控制台的情况下创建虚拟目录

答案 8 :(得分:0)

请查看this帖子。它解释了如何从命令行启动Cassini Web服务器并将其添加为shell扩展。

编辑: CarlosAg的博客有一些关于IIS administration throw PowerShellmanaged code的精彩帖子。