Imports DotNetNuke Imports DotNetNuke.Common Imports DotNetNuke.Common.Utilities.XmlUtils Imports DotNetNuke.Common.Utilities Imports DotNetNuke.Services.Search Imports DotNetNuke.Entities.Users Imports System.Collections Imports System.IO Imports System.Web.UI.WebControls Imports DotNetNuke.Entities.Host Imports DotNetNuke.Entities.Modules Imports DotNetNuke.Entities.Portals Imports DotNetNuke.Framework Imports DotNetNuke.Security.Membership Imports DotNetNuke.Services.Exceptions Imports DotNetNuke.Services.Localization Imports DotNetNuke.Services.Log.EventLog Imports DotNetNuke.Services.Mail Imports DotNetNuke.UI.Skins.Controls Imports DotNetNuke.Security.Roles Public Shared Sub CreatePortal(ByVal Request As System.Web.HttpRequest) Dim intPortalId As Integer = -1 Dim blnChild As Boolean Dim strPortalAlias As String 'Validate Portal Name blnChild = False strPortalAlias = "THIS-IS-THE-PORTAL-ALIAS-URL" Dim strServerPath As String = Globals.GetAbsoluteServerPath(Request) Dim strTemplateFile As String = "THIS_IS_THE_TEMPLATE_FILE.template" 'Attempt to create the portal Dim objAdminUser = New UserInfo() objAdminUser.FirstName = "THIS_IS_ADMIN_FIRST_NAME" objAdminUser.LastName = "THIS_IS_ADMIN_LAST_NAME" objAdminUser.Username = "THIS_IS_ADMIN_USER_NAME" objAdminUser.DisplayName = objAdminUser.FirstName + " " + objAdminUser.LastName objAdminUser.Email = "THIS_IS_ADMIN_EMAIL" objAdminUser.IsSuperUser = False objAdminUser.Membership.Approved = True objAdminUser.Membership.Password = "THIS_IS_THE_PASSWORD" objAdminUser.Membership.PasswordQuestion = "" objAdminUser.Membership.PasswordAnswer = "" objAdminUser.Profile.FirstName = objAdminUser.FirstName objAdminUser.Profile.LastName = objAdminUser.LastName 'set the new home page as the redirect after login page Dim objPortalController = New PortalController() intPortalId = objPortalController.CreatePortal("NAME", _ objAdminUser, _ "NAME", _ "NAME", _ Globals.HostMapPath, _ strTemplateFile, _ "", _ strPortalAlias, _ strServerPath, _ "", _ blnChild) Dim ctlPortal As New PortalController() Dim objPortal As PortalInfo = ctlPortal.GetPortal(intPortalId) objAdminUser = UserController.GetUserById(objPortal.PortalID, objPortal.AdministratorId) 'put an expire date if you want objPortal.ExpiryDate = Now.AddYears(1) objPortalController.UpdatePortalInfo(objPortal) End Sub