当我的web网站拿到别人机器上用的时候要配置IIS,我想写一个小程序去配置,可是Data Source不一样的啊 ,我要怎样用代码实现在配置IIS时,也把Data Source也修改一下

解决方案 »

  1.   

    IIS 5 下面有么 ?用7的现在不多吧
      

  2.   

    我是放到配置文件夹里的啊 
    (注:我的小程序时应用程序不是发布的网站)
    那我要怎样去修改web程序的配置文件啊
      

  3.   

    System.DirectoryServices.DirectoryEntriesIIs创建虚拟目录  using System;  using System.Collections.Generic;  using System.Text;  using System.DirectoryServices;    namespace Install_IIS  {        class IISManager        {            public IISManager()             {             }             /// <summary>            /// 创建虚拟目录            /// </summary>            /// <param name="WebSite">服务器站点名称</param>            /// <param name="VDirName">虚拟目录名称</param>            /// <param name="Path"></param>            /// <param name="RootDir"></param>            /// <param name="chkRead"></param>            /// <param name="chkWrite"></param>            /// <param name="chkExecute"></param>            /// <param name="chkScript"></param>            /// <param name="chkAuth"></param>            /// <param name="webSiteNum">1</param>            /// <param name="serverName">localhost</param>            /// <returns></returns>            public string CreateVDir(string WebSite,string VDirName, string Path, bool RootDir, bool chkRead,bool chkWrite, bool chkExecute, bool chkScript, bool chkAuth, int webSiteNum, string serverName)             {                 string sRet=String.Empty;                                 System.DirectoryServices.DirectoryEntry IISSchema;                 System.DirectoryServices.DirectoryEntry IISAdmin;                 System.DirectoryServices.DirectoryEntry VDir;                 bool IISUnderNT;                   //                 // 确定IIS版本                //                 IISSchema = new System.DirectoryServices.DirectoryEntry("IIS://"  + serverName + "/Schema/AppIsolated");                 if(IISSchema.Properties["Syntax"].Value.ToString().ToUpper()=="BOOLEAN")                     IISUnderNT=true;                 else                     IISUnderNT=false;                 IISSchema.Dispose();                   //                 // Get the admin object                 // 获得管理权限                //                 IISAdmin=new System.DirectoryServices.DirectoryEntry("IIS://" +serverName +"/W3SVC/" + webSiteNum + "/Root");           if (IISAdmin == null)
                    return "IIS 未正常安装";
               if (IISAdmin.Children == null)
                    return "IIS 可能未启动";                //                 // If we're not creating a root directory                 // 如果我们不能创建一个根目录                //                 if (!RootDir)                 {                     //                     // If the virtual directory already exists then delete it                     // 如果虚拟目录已经存在则删除                    //                       foreach(System.DirectoryServices.DirectoryEntry v in IISAdmin.Children)                     {                         if (v.Name == VDirName)                         {                             // Delete the specified virtual directory if it already exists                             try                             {                             IISAdmin.Invoke("Delete", new string [] { v.SchemaClassName, VDirName });                             IISAdmin.CommitChanges();                             }                             catch(Exception ex)                             {                             sRet+=ex.Message;                             }                         }                     }                 }                       //                 // Create the virtual directory                 // 创建一个虚拟目录                //                 if (!RootDir)                 {                     VDir = IISAdmin.Children.Add(VDirName, "IIsWebVirtualDir");                 }                 else                 {                     VDir = IISAdmin;                 }                //                 // Make it a web application                 // 创建一个web应用                //             VDir.Properties["Path"][0] = Path; //设置虚拟目录指向的物理路径                if (IISUnderNT)                 {                     VDir.Invoke("AppCreate", false);                 }                 else                 {                     VDir.Invoke("AppCreate", 1);                 }   
                    //                 // Setup the VDir                 // 设置虚拟目录                //                 VDir.Properties["AccessRead"][0] = chkRead; //设置读取权限                VDir.Properties["AccessExecute"][0] = chkExecute; //设置执行权限                VDir.Properties["AccessWrite"][0] = chkWrite; //设置写入权限                VDir.Properties["AccessScript"][0] = chkScript; //执行权限             VDir.Properties["DefaultDoc"][0] = "index.asp,Default.aspx";//设置默认文档,多值情况下中间用逗号分割            VDir.Properties["AppFriendlyName"][0] = VDirName; //应用程序名称            VDir.Properties["AuthFlags"][0] = 0;   //    设置目录的安全性,0表示不允许匿名访问,1为允许,3为基本身份验证,7为windows继承身份验证                VDir.Properties["AuthNTLM"][0] = chkAuth;                 VDir.Properties["EnableDefaultDoc"][0] = true;                 VDir.Properties["EnableDirBrowsing"][0] = false;                 //                 // NT doesn't support this property                 // NT格式不支持这特性                //                 if (!IISUnderNT)                 {                     VDir.Properties["AspEnableParentPaths"][0] = true;                 }                   //                 // Set the changes                  // 设置改变                //                 VDir.CommitChanges();           //下面的方法是得到所有属性名称的方法:          
    foreach (PropertyValueCollection pvc in   VDir.Properties)           {               Console.WriteLine(pvc.PropertyName);            }                sRet+= "VRoot " +VDirName + " created!";                 return sRet;             }               #region Properties             public string ServerName             {             get             {             return _serverName;             }             set             {             _serverName = value;             }             }             #endregion            public static string VirDirSchemaName = "IIsWebVirtualDir";            #region Private Members                 private string _serverName;            #endregion         }   }、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
    我用的这个方法,在有SQL2005的机上运行正常,在没有SQL2005上则没问题,这是为什么?
    我用VS2008+SQL2000开发的