网站安装打包 新建网站[四][创建网站] 中

在IIS6.0的帮助文档中,对于创建IIS,提供了三种程序管理方法,一种是WMI,另一种是ADSI,还有一种是命令行方法。

这里,采用网上代码比较多的ADSI编程方式进行。

 

 



 

用C#进行ADSI编程,需要引用添加名称空间:System.DirectoryServices

主要操作类是:DirectoryEntry

操作的内容主要是xml节点:这点上,最好从IIS-》网站右键-》所有任务-》将配置保存到一个文件

保存后,查看一下生成的xml内容。看一下网站的节点是什么格式的,这对编程有点帮助。

以下进入代码阶段

 

DirectoryEntry iisEntry = new DirectoryEntry("IIS://localhost/w3svc");//获得IIS节点
//创建站点WebSiteID为整形,随便生成,不重复即可,可能引发的问题,看我之前的一篇文章:
//C# 创建网站 无法启动与停止的问题
//http://www.cnblogs.com/cyq1162/archive/2010/01/09/1642919.html
DirectoryEntry site = (DirectoryEntry)iisEntry.Invoke("Create", "IIsWebServer", WebSiteID);

site.Invoke("Put", "ServerComment", WebSiteName);
site.Invoke("Put", "KeyType", "IIsWebServer");
ArrayList serverBindings = new ArrayList();
serverBindings.Add(WebSiteIP + ":" + WebSitePort + ":" + WebSiteDomain);
if (WebSiteIP2 != "" && WebSitePort2 != "")
{
   serverBindings.Add(WebSiteIP2 + ":" + WebSitePort2 + ":" + WebSiteDomain);
}
site.Invoke("Put", "ServerBindings", serverBindings.ToArray());//这里是绑定多个IP
site.Invoke("Put", "ServerState", 4);//4为停止,2为启动
site.Invoke("Put", "FrontPageWeb", 1);
site.Invoke("Put", "DefaultDoc", "index.html");
site.Invoke("Put", "ServerAutoStart", 0);
site.Invoke("Put", "AuthFlags", 0);
site.Invoke("Put", "ScriptMaps", ScriptArray().ToArray());//这里是一大堆2.0的脚本
site.Invoke("Put", "ServerSize", 1);
site.Invoke("SetInfo");

 

 

创建完网站后,要创建默认根节点,代码如下:

 

//创建默认根节点目录
                    DirectoryEntry siteVDir = site.Children.Add("root", "IISWebVirtualDir");
                    siteVDir.Properties["AppIsolated"][0] = 2;
                    siteVDir.Properties["Path"][0] = WebSitePath;
                    siteVDir.Properties["AccessFlags"][0] = 513;
                    siteVDir.Properties["FrontPageWeb"][0] = 1;
                    siteVDir.Properties["AppRoot"][0] = string.Format("/LM/W3SVC/{0}/Root", WebSiteID);
                    siteVDir.Properties["AppFriendlyName"][0] = WebSiteName;
                    siteVDir.Properties["AuthFlags"][0] = 0;
                    siteVDir.Properties["AccessScript"][0] = true;
                    siteVDir.Properties["AccessSource"][0] = true;
                    siteVDir.Properties["DirBrowseFlags"][0] = 1073741886;
                    siteVDir.Properties["AuthNTLM"][0] = true;//集成win身份验证
                    siteVDir.Properties["AuthAnonymous"][0] = true;//集成win身份验证
                    siteVDir.Properties["UNCPassword"][0] = "";
                    siteVDir.Properties["DefaultDoc"][0] = WebSiteDefaultDoc;
                 
                    siteVDir.CommitChanges();
                    site.CommitChanges();

 

 关于属性及意思,除了可通过导出xml来查看之外,也可以看IIS帮助文档下的“参考->配置数据库参考属性"进行进一步了解!

打完,收工!

时间: 2024-09-12 09:53:23

网站安装打包 新建网站[四][创建网站] 中的相关文章

网站安装打包 新建网站[四][文件解压] 上

在新建网站之前,就是要把打包好的项目拷贝一份到IIS指定的路径上,同时,还要为个别目录设置相应的访问权限! 于是就产生了两件事: 1.拷贝->[这里我是采用RAR打包,然后解压] 2.设置权限 如果是用拷贝方式,关于文件夹Copy,可以参考我的这篇文章: 文件夹复制操作(非递归循环遍历文件夹) http://www.cnblogs.com/cyq1162/archive/2007/05/28/762294.html     为什么我没采用拷贝的方法,前提有两个,就是项目的文件夹有太多,在制作应用

网站安装打包 新建网站[四][虚拟目录及其它方法] 下

这里提供一下创建虚拟目录的大体方法,虚拟目录是通过Root节点去创建的:   public bool CreateWebVirtualDir(string virtualName, string virtualPath, string siteID, out string msg)         {             try             {                 msg = "";                 siteID = (string.IsNu

网站安装打包 概述[一]

怎么制作一个网站安装的软件? 以前一开始的时候,是通过制作web安装程序,然后框的一下把网站安装完了.但是由于网站涉及到虚拟目录,创建网站等操作,直接制作web安装程序,如果中间有大量的配置是是灵活改变的,就变的相当的烦锁了.于是,换了一种方法: 通过制作一个网站安装的工具,然后通过制作应用程序安装程序: --------就是制作一个网站安装工具,然后通过安装工具,再进行网站安装!!! 一.工具的组成:五个部分介绍: 1.软件环境检测 2.webconfig修改 3.新建网站(文件解压->创建网

网站安装打包 修改app.config[六]

在winform的安装工具中,少不免有一些配置文件要放到app.config去,于是修改也是成了一种需求! 无论是修改web.config还是app.config,普遍方式都有两种,用net自带封装的类,或是自定义xml操作. 可参考之前的一篇:网站安装打包 webconfig修改[三] 这里用的,还是以xml方式操作,比竟类都写了,就顺路用上了. 这里的操作方式和webconfig的差不多一个样:    string appConfigPath = startPath + "/XXX.exe.

网站安装打包 浏览网站[五] 附加IIS其它功能

在创建完网站与虚拟目录,接下来就是要浏览网站了,于是,在界面上多加一个按钮,点击浏览是顺势而加了: 代码就一句:   Process.Start("iexplore.exe", string.Format("http://{0}",txtWebsiteIP.Text));    //IP地址用System.Net.Dns.GetHostAddresses(Dns.GetHostName())[0].ToString()就可获取   以下附加一下IIS一些其它功能:

网站安装打包 软件环境检测与安装[二] 下

这一节主要说安装! 1.操作系统 这个应该不用了,没系统也没法运行了! 2.IIS安装 这个是重点,最后面介绍! 3.framework安装 这个也不用了,工具安装时会先检测,如果没安装这工具也打不开了! 4.RAR安装 这个可以通过调用RAR的安装文件启动安装. 代码简单的就一句话:Process.Start("RAR的安装软件路径");     以下重点介绍IIS的自动安装   IIS的自动安装也很简单,先说下原理,再说下步骤: 原理:通过调用Sysocmgr.exe系统自带的工具

网站安装打包 软件环境检测与安装[二] 上

这一节主要讲检测,下一节讲安装! 一个C#制作完的工具一运行,一个可以不用检测与安装的就是framework环境了,要是没这东西,也运行不起来. 这里提供几个检测的范围: 一.检测操作系统版本 二.检测IIS版本 三.检测framework版本 四.检测RAR工具是否安装 以下为具体实现:   一.检测操作系统版本:   我们通过:System.Environment.OSVersion.Version 可以获取到操作系统的版本. 之后,我们要根据版本号,进行if else if或switch之

网站安装打包 webconfig修改[三]

在net中,在System.Configuration.ConfigurationManager中,提供了几个静态方法,用来修改配置文件. 如:System.Configuration.Configuration config = System.Configuration.ConfigurationManager.OpenMachineConfiguration(); 获得应用程序下的配置文件,之后再用config进行操作. 如果是在web中,那就是操作webconfig了!不过现在在winfo

将Asp.Net网站发布到IIS的四种方法

  将Asp.Net网站发布到IIS的四种方法及注意事项: 不管是那种发布方法, 第一件事情是让IIS能够支持asp.net程序, 默认IIS是不开器asp.net网站程序的支持的.在IIS中的"Web服务扩展"中, 确保"ASP.NET v2.0.50727"被启用. 其他的可以保持禁用状态. 发布方法1:---直接复制到IIS目录发布目录中(C:Inetpubwwwroot) a. 将经过VS调试且运行正常的ASP.NET网站项目的文件夹复制到IIS的wwwro