Error while deploying in IIS 7 windows2k8

May 30, 2009 at 7:34 AM

Hi 

your help is appriciated,

I am using vs.2008. I am creating website dynamically. while deploy It was creating in website in IIS 6 with windows2k3. if i deploy the same release file in iis7 with windows2k8 it was throwing the error.

at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail) at System.DirectoryServices.DirectoryEntry.Exists(String path) at CreateWebsite.GetSiteID(String strIISPath, String strDirectoryName) at TestWeb.Button1_Click(Object sender, EventArgs e)

this is my code for creating the website:

 protected void Button1_Click(object sender, EventArgs e)

    {

        try

        {

 

            string strIISPath = "IIS://localhost/W3SVC";

            string strWebsiteName = txtOrgName.Text.Trim();

 

            if (strWebsiteName != "" && strWebsiteName != null)

            {

                //Verify If website Exist or Not

                string strWebSiteID = _objWebsite.GetSiteID(strIISPath, strWebsiteName);

 

                if (strWebSiteID != null && strWebSiteID != "")

                {

                    bNotExist = false;

                    lblErrorMsg.Visible = true;

                    lblErrorMsg.Text = "Already Exist" + strWebSiteID;

                }

 

                if (bNotExist)

                {

                    if (true)

                    {

                        //Create the Database

                        bCreatedbSuccess = true;// _objWebsite.CreateDatabase(strWebsiteName);

                        if (bCreatedbSuccess)

                        {

                            string Destinationpath = ConfigurationManager.AppSettings["DestinationPath"] + "\\" + strWebsiteName;

 

                            //Copy Files from default source path to New organization path.

                            bool bCopy = true;// _objWebsite.CopyOrganizationFiles(ConfigurationManager.AppSettings["SourcePath"], Destinationpath, true, ConfigurationManager.AppSettings["Modules"]);

                            if (bCopy)

                            {

                                //Create the Website

                                lblErrorMsg.Visible = true;

                                lblErrorMsg.Text = _objWebsite.CreateSite("TestSite123.com", ConfigurationManager.AppSettings["DestinationPath"]);

                            }

                            else

                            {

                                lblErrorMsg.Visible = true;

                                lblErrorMsg.Text = "Error in File Copy";

                            }

                        }

                        else

                        {

                            lblErrorMsg.Visible = true;

                            lblErrorMsg.Text = "Error While Creating Database";

                        }

                    }

                    else

                    {

                        lblErrorMsg.Visible = true;

                        lblErrorMsg.Text = "Database Already Exist";

                    }

                }

            }

            else

            {

                lblErrorMsg.Visible = true;

                lblErrorMsg.Text = "Please Insert the Organization Name";

            }

        }

        catch (Exception ex)

        {

            lblErrorMsg.Visible = true;

            lblErrorMsg.Text = ex.StackTrace;

        }

    }

 

 

    public string GetSiteID(string strIISPath, string strDirectoryName)

    {

        string strSiteID = string.Empty;

 

        // Check if path points to any existing directory

        if (DirectoryEntry.Exists(strIISPath))

        {

            // Generate Entry point

            DirectoryEntry objDirectoryEntry = new DirectoryEntry(strIISPath);

 

            foreach (DirectoryEntry tempDirectoryEntry in objDirectoryEntry.Children)

            {

                if (Convert.ToString(tempDirectoryEntry.Properties["ServerComment"].Value).ToLower() == strDirectoryName.ToLower())

                {

                    strSiteID = tempDirectoryEntry.Name;

                    break;

                }

            }

        }

        return strSiteID;

    }

 

 

    public string CreateSite(string SiteName, string SitePath)

    {

        DirectoryEntry Parent;

        DirectoryEntry NewSite = new DirectoryEntry();

        Parent = new DirectoryEntry("IIS://localhost/W3SVC");

        long Index = 1;

        foreach (DirectoryEntry Child in Parent.Children)

        {

            if (Child.SchemaClassName == "IIsWebServer")

                Index = Index + 1;

        }

        //'IP Address to Bind

        string IPAddress;

        IPAddress = ""; //Replace it with your IP Address

 

        //'Create Web Site

        NewSite = Parent.Children.Add(Index.ToString(), "IIsWebServer");

        NewSite.Invoke("SetInfo");

 

        //'Set Properties

        NewSite = new DirectoryEntry("IIS://localhost/W3SVC/" + Index);

        NewSite.InvokeSet("ServerComment", SiteName);

        NewSite.InvokeSet("KeyType", "IIsWebServer");

        NewSite.Properties["ServerBindings"].Add(IPAddress + ":8081:" + SiteName);

        NewSite.Properties["ServerBindings"].Add(IPAddress + ":8081:" + "www." + SiteName);

        NewSite.InvokeSet("ServerState", 2);

        NewSite.InvokeSet("FrontPageWeb", 1);

        NewSite.InvokeSet("DefaultDoc", "Default.aspx");

        NewSite.InvokeSet("ServerAutoStart", 1);

        NewSite.InvokeSet("ServerSize", 1);

        NewSite.Invoke("SetInfo");

        NewSite = new DirectoryEntry("IIS://localhost/W3SVC/" + NewSite.Name);

 

        //'Create Root Virtual Directory

        DirectoryEntry siteVDir = NewSite.Children.Add("Root", "IISWebVirtualDir");

        siteVDir.Invoke("SetInfo");

        siteVDir = new DirectoryEntry("IIS://localhost/W3SVC/" + NewSite.Name.ToString() + "/" + siteVDir.Name);

        siteVDir.InvokeSet("AppIsolated", 2);

        siteVDir.InvokeSet("Path", SitePath);

        siteVDir.InvokeSet("AccessFlags", 513);

        siteVDir.InvokeSet("FrontPageWeb", 1);

        siteVDir.InvokeSet("AppRoot", "LM/W3SVC/" + Index + "/Root");

        siteVDir.InvokeSet("AppFriendlyName", "Default Application");

        siteVDir.Invoke("SetInfo");

        siteVDir.Invoke("AppCreate", 1);

 

        //'Now Save All Changes

        NewSite.CommitChanges();

        siteVDir.CommitChanges();

 

        return "Created Site with Site ID: " + NewSite.Name;

    }