|
|
#1 |
|
Super Moderator
Join Date: Nov 01
Location: Headingly Occupation: Classified
Posts: 9,589
![]() ![]() ![]() ![]() |
Create Virtual Directory in IIS using VB.NET
You need to add a reference into your app for System.DirectoryServices
Then use: VB Code:
VB Code:
Hope this helps. Woka
__________________
My .NET Tutorials: • Silverlight Enabled WebPart in WSS My VB.NET Code Examples: • Create IIS Virtual Directory • Validate Login Against Active Directory • Automatically retrieve Identity field value from inserted DataRow using SQL Server and ADO.NET My ASP.NET Code Examples: • Login To Website (Forms Authentication) • Login To Website (Custom Authentication) My VB6 Code Projects: • Multithreading In VB6 • Custom Tooltips • Multi Language Support • Item Selector Control • Annimated Systray Icon • Simple Effective Graph Control • Download From Web • LiveUpdate, download application updates from the web automatically • Systray Notification Messages • Skin A Form • API Timer • Badger Messenger, an MSN clone that uses the MSN Network • Wokawidgets VB6 Component Suite Last edited by Wokawidget; Aug 24th, 2005 at 03:40 AM. |
|
|
|
|
|
#2 |
|
New Member
Join Date: Jul 05
Posts: 2
![]() |
Re: Create Virtual Directory in IIS using VB.NET
That code is exactly what i was after, and it works fine on the primary domain controller machine - but when i try and run it on our new web server i get the error
"The RPC server is unavailable" On this line; Dim CanCreate As Boolean = Not IISSchema.Properties("Syntax").Value.ToString.ToUpper() = "BOOLEAN" The RPC service IS started on the server in question. Its driving me crazy, you gotta help me! |
|
|
|
|
|
#3 |
|
Super Moderator
Join Date: Nov 01
Location: Headingly Occupation: Classified
Posts: 9,589
![]() ![]() ![]() ![]() |
Re: Create Virtual Directory in IIS using VB.NET
I tried Googling it for you, but there are sooooo many different reasons for it not working....from having a virus on the PC to renaming your computer after IIS has been installed.
Here's the search link I used: http://www.google.com/search?hl=en&l...ble%22+and+IIS It's 2am here, and I need Zzzzz for an early start. Let us know if you find the solution. If you haven't posted back here by tomorrow morning, 10am-ish GMT, then I'll look through all those search results and see what I come up with. Woof
__________________
My .NET Tutorials: • Silverlight Enabled WebPart in WSS My VB.NET Code Examples: • Create IIS Virtual Directory • Validate Login Against Active Directory • Automatically retrieve Identity field value from inserted DataRow using SQL Server and ADO.NET My ASP.NET Code Examples: • Login To Website (Forms Authentication) • Login To Website (Custom Authentication) My VB6 Code Projects: • Multithreading In VB6 • Custom Tooltips • Multi Language Support • Item Selector Control • Annimated Systray Icon • Simple Effective Graph Control • Download From Web • LiveUpdate, download application updates from the web automatically • Systray Notification Messages • Skin A Form • API Timer • Badger Messenger, an MSN clone that uses the MSN Network • Wokawidgets VB6 Component Suite |
|
|
|
|
|
#4 |
|
New Member
Join Date: Jul 05
Posts: 2
![]() |
Re: Create Virtual Directory in IIS using VB.NET
Hey
Thanks heaps for replying, and yeah google returned too many possibilities, but we figured it out in the end. It was the windows firewall that was preventing me from doing a rpc to the sever, probably because of the ports. Since our web server has another 2 outer layers of firewall protection, the standard windows firewall wasnt required and so we just leave it off now Ah man you wouldnt believe how much nicer it is being able to click one button to roll out 6 new versions of our product instead of having to terminal services into the server, delete the 6 shares, share the 6 new folders, refresh the website node, right click each of the 6 new versions of the app and go to properties to apply permissions etc etc. Thanks heaps, you're code has saved me so much time and frustration. Oh yeah, and hopefully i replied in time so you didnt have to search through the google results - if not, then im sorry about that :/ Last edited by nizmo; Jul 21st, 2005 at 10:57 PM. |
|
|
|
|
|
#5 |
|
Super Moderator
Join Date: Nov 01
Location: Headingly Occupation: Classified
Posts: 9,589
![]() ![]() ![]() ![]() |
Re: Create Virtual Directory in IIS using VB.NET
No problems...We thought the same here...made life sooo much easier for us.
I did search google and was testing stuff out yesterday, but ended up in lots of meetings and stuff then got caught up in writting some code so we could write our UI at work. Glad it's fixed though. What was the error and I'll add a try catch thing to my code. Woka
__________________
My .NET Tutorials: • Silverlight Enabled WebPart in WSS My VB.NET Code Examples: • Create IIS Virtual Directory • Validate Login Against Active Directory • Automatically retrieve Identity field value from inserted DataRow using SQL Server and ADO.NET My ASP.NET Code Examples: • Login To Website (Forms Authentication) • Login To Website (Custom Authentication) My VB6 Code Projects: • Multithreading In VB6 • Custom Tooltips • Multi Language Support • Item Selector Control • Annimated Systray Icon • Simple Effective Graph Control • Download From Web • LiveUpdate, download application updates from the web automatically • Systray Notification Messages • Skin A Form • API Timer • Badger Messenger, an MSN clone that uses the MSN Network • Wokawidgets VB6 Component Suite |
|
|
|
|
|
#6 |
|
Fanatic Member
Join Date: Jul 05
Location: Chennai,India
Posts: 693
![]() |
Re: Create Virtual Directory in IIS using VB.NET
Hey..
the "System.DirectoryServices.DirectoryEntry" namespace doesnt work for me..what should i do? Thanks
__________________
Godwin Help someone else with what someone helped you! |
|
|
|
|
|
#7 |
|
Fanatic Member
Join Date: Jul 05
Location: Chennai,India
Posts: 693
![]() |
Re: Create Virtual Directory in IIS using VB.NET
I mean that namespace doesnt exist on my computer..Is there some reference you added or something?
__________________
Godwin Help someone else with what someone helped you! |
|
|
|
|
|
#8 |
|
Super Moderator
Join Date: Nov 01
Location: Headingly Occupation: Classified
Posts: 9,589
![]() ![]() ![]() ![]() |
Re: Create Virtual Directory in IIS using VB.NET
You need to add a reference to System.DirectoryServices
Sorry, myfaul...should have mentioned that in my 1st post ![]() Woof
__________________
My .NET Tutorials: • Silverlight Enabled WebPart in WSS My VB.NET Code Examples: • Create IIS Virtual Directory • Validate Login Against Active Directory • Automatically retrieve Identity field value from inserted DataRow using SQL Server and ADO.NET My ASP.NET Code Examples: • Login To Website (Forms Authentication) • Login To Website (Custom Authentication) My VB6 Code Projects: • Multithreading In VB6 • Custom Tooltips • Multi Language Support • Item Selector Control • Annimated Systray Icon • Simple Effective Graph Control • Download From Web • LiveUpdate, download application updates from the web automatically • Systray Notification Messages • Skin A Form • API Timer • Badger Messenger, an MSN clone that uses the MSN Network • Wokawidgets VB6 Component Suite |
|
|
|
|
|
#9 |
|
Fanatic Member
Join Date: Jul 05
Location: Chennai,India
Posts: 693
![]() |
Re: Create Virtual Directory in IIS using VB.NET
No no,the code is Great..
Thanks
__________________
Godwin Help someone else with what someone helped you! |
|
|
|
|
|
#10 |
|
Fanatic Member
Join Date: Jul 05
Location: Chennai,India
Posts: 693
![]() |
Re: Create Virtual Directory in IIS using VB.NET
Will this work even if IIS is not installed on the users machine?
__________________
Godwin Help someone else with what someone helped you! |
|
|
|
|
|
#11 |
|
Super Moderator
Join Date: Nov 01
Location: Headingly Occupation: Classified
Posts: 9,589
![]() ![]() ![]() ![]() |
Re: Create Virtual Directory in IIS using VB.NET
errrr....no
![]() Woka
__________________
My .NET Tutorials: • Silverlight Enabled WebPart in WSS My VB.NET Code Examples: • Create IIS Virtual Directory • Validate Login Against Active Directory • Automatically retrieve Identity field value from inserted DataRow using SQL Server and ADO.NET My ASP.NET Code Examples: • Login To Website (Forms Authentication) • Login To Website (Custom Authentication) My VB6 Code Projects: • Multithreading In VB6 • Custom Tooltips • Multi Language Support • Item Selector Control • Annimated Systray Icon • Simple Effective Graph Control • Download From Web • LiveUpdate, download application updates from the web automatically • Systray Notification Messages • Skin A Form • API Timer • Badger Messenger, an MSN clone that uses the MSN Network • Wokawidgets VB6 Component Suite |
|
|
|
|
|
#12 |
|
Fanatic Member
Join Date: Jul 05
Location: Chennai,India
Posts: 693
![]() |
Re: Create Virtual Directory in IIS using VB.NET
but still,I really appreciate this code you've done.Its really good Thanks.
__________________
Godwin Help someone else with what someone helped you! |
|
|
|
|
|
#13 |
|
New Member
Join Date: Oct 05
Posts: 1
![]() |
Re: Create Virtual Directory in IIS using VB.NET
The Code is really awesome but I have a necessity where I want to Create or Add or Delete Virtual Directories or Web Sites. Any Help Possible???????
|
|
|
|
|
|
#14 |
|
New Member
Join Date: Nov 05
Posts: 1
![]() |
Re: Create Virtual Directory in IIS using VB.NET
Thx so much for this code. Keep it up!
I just wanna know if it needs full .NET installed or only the .NET framwork? Sanjiv |
|
|
|
|
|
#15 |
|
Super Moderator
Join Date: Nov 01
Location: Headingly Occupation: Classified
Posts: 9,589
![]() ![]() ![]() ![]() |
Re: Create Virtual Directory in IIS using VB.NET
U would need the .NET framework and some form of VB.NET compiler. MS do one for free. But dunno what it's called.
Woka
__________________
My .NET Tutorials: • Silverlight Enabled WebPart in WSS My VB.NET Code Examples: • Create IIS Virtual Directory • Validate Login Against Active Directory • Automatically retrieve Identity field value from inserted DataRow using SQL Server and ADO.NET My ASP.NET Code Examples: • Login To Website (Forms Authentication) • Login To Website (Custom Authentication) My VB6 Code Projects: • Multithreading In VB6 • Custom Tooltips • Multi Language Support • Item Selector Control • Annimated Systray Icon • Simple Effective Graph Control • Download From Web • LiveUpdate, download application updates from the web automatically • Systray Notification Messages • Skin A Form • API Timer • Badger Messenger, an MSN clone that uses the MSN Network • Wokawidgets VB6 Component Suite |
|
|
|
|
|
#16 |
|
New Member
Join Date: Dec 05
Posts: 1
![]() |
Re: Create Virtual Directory in IIS using VB.NET
Thanks so much for this code, it works great. My question is, if I want to build a virtual dir in a non-default web site, what's the best way to go about doing it?
I think I need to do something like this, right? Dim IISAdmin As New System.DirectoryServices.DirectoryEntry("IIS://" & WebSite & "/W3SVC/N/Root") Where N is the correct number to address the web site I'm looking for. Is there a way to determine what that number is in VB? Thanks Adam |
|
|
|
|
|
#17 |
|
New Member
Join Date: Dec 05
Posts: 1
![]() |
Re: Create Virtual Directory in IIS using VB.NET
I used this to find the correct site id:
--------------------------------------- Dim SiteID As Integer Dim root As New System.DirectoryServices.DirectoryEntry("IIS://" & ServerName & "/W3SVC") For Each e As System.DirectoryServices.DirectoryEntry In root.Children If e.SchemaClassName.ToUpper = "IISWEBSERVER" AndAlso CStr(e.Invoke("Get", "ServerComment")).ToUpper = SiteName.ToUpper Then SiteID = Convert.ToInt32(e.Name) Exit For End If Next Dim IISAdmin As New System.DirectoryServices.DirectoryEntry("IIS://" & ServerName & "/W3SVC/" & SiteID & "/Root") |
|
|
|
|
|
#18 |
|
New Member
Join Date: Dec 05
Posts: 1
![]() |
Re: Create Virtual Directory in IIS using VB.NET
Hello I have used this code but when I try to Create de Virtual Directory I get a System.UnauthorizedAccessException: Access is denied error saying something about the ASP.NET anonymous use required permissions etc.
I'm running an IIS 5.1 Server on Windows 2000 Server. I don't know where is suposed to give the permissions to the user. Maybe someone can help me Thaks.. |
|
|
|
|
|
#19 |
|
New Member
Join Date: Mar 06
Posts: 3
![]() |
Hi All!
I am using this code but i have an Error: "System.UnauthorizedAccessException: Access is denied", help me! Regards, |
|
|
|
|
|
#20 |
|
Super Moderator
Join Date: Nov 01
Location: Headingly Occupation: Classified
Posts: 9,589
![]() ![]() ![]() ![]() |
Re: Create Virtual Directory in IIS using VB.NET
Probably because your accounts don't have permissions. Pass a valid username and password to the:
VB Code:
Woka
__________________
My .NET Tutorials: • Silverlight Enabled WebPart in WSS My VB.NET Code Examples: • Create IIS Virtual Directory • Validate Login Against Active Directory • Automatically retrieve Identity field value from inserted DataRow using SQL Server and ADO.NET My ASP.NET Code Examples: • Login To Website (Forms Authentication) • Login To Website (Custom Authentication) My VB6 Code Projects: • Multithreading In VB6 • Custom Tooltips • Multi Language Support • Item Selector Control • Annimated Systray Icon • Simple Effective Graph Control • Download From Web • LiveUpdate, download application updates from the web automatically • Systray Notification Messages • Skin A Form • API Timer • Badger Messenger, an MSN clone that uses the MSN Network • Wokawidgets VB6 Component Suite |
|
|
|
|
|
#21 |
|
New Member
Join Date: Aug 06
Posts: 1
![]() |
Re: Create Virtual Directory in IIS using VB.NET
Any idea of how to set the .Net version that the virtual directory is using?
|
|
|
|
|
|
#22 | |
|
New Member
Join Date: Aug 06
Posts: 1
![]() |
Re: Create Virtual Directory in IIS using VB.NET
Quote:
When i am trying to create a virtual directory using the above code - i get the following error System.UnauthorizedAccessException was unhandled by user code Message="Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))" Source="System.DirectoryServices" StackTrace: at _Default.CreateVirtualDir(String WebSite, String AppName, String Path) in c:\inetpub\wwwroot\VirtualWebSite\Default.aspx.vb:line 84 at _Default.btnCreateDirectory_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\VirtualWebSite\Default.aspx.vb:line 9 at System.Web.UI.WebControls.Button.OnClick(EventArgs e) at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -------------- Please help |
|
|
|
|
|
|
#23 |
|
Super Moderator
Join Date: Nov 01
Location: Headingly Occupation: Classified
Posts: 9,589
![]() ![]() ![]() ![]() |
Re: Create Virtual Directory in IIS using VB.NET
Can you post your code...
Woka
__________________
My .NET Tutorials: • Silverlight Enabled WebPart in WSS My VB.NET Code Examples: • Create IIS Virtual Directory • Validate Login Against Active Directory • Automatically retrieve Identity field value from inserted DataRow using SQL Server and ADO.NET My ASP.NET Code Examples: • Login To Website (Forms Authentication) • Login To Website (Custom Authentication) My VB6 Code Projects: • Multithreading In VB6 • Custom Tooltips • Multi Language Support • Item Selector Control • Annimated Systray Icon • Simple Effective Graph Control • Download From Web • LiveUpdate, download application updates from the web automatically • Systray Notification Messages • Skin A Form • API Timer • Badger Messenger, an MSN clone that uses the MSN Network • Wokawidgets VB6 Component Suite |
|
|
|
|
|
#24 |
|
New Member
Join Date: Aug 06
Location: Illinois
Posts: 6
![]() |
Re: Create Virtual Directory in IIS using VB.NET
I tried to implement this code and can get it to work on one of my Web sites on my development IIS server. However, the only one it works on is the local host. I am actually developing 7 Web sites off of my server and need to create the virtual directories on a different Web site. How do I point the virtual directory to the right Web site?
Also, are there any security risks with having this function available over the Web that I should be concerned about? (Stupid question?) Last edited by beepmaster; Aug 23rd, 2006 at 10:45 AM. |
|
|
|
|
|
#25 |
|
Super Moderator
Join Date: Nov 01
Location: Headingly Occupation: Classified
Posts: 9,589
![]() ![]() ![]() ![]() |
Re: Create Virtual Directory in IIS using VB.NET
Not sure how to do it remotely.
There are security risks with anything...but I don't think it can be done over the web, and if they could, then they could also login to your svr because they would need the username and password. Woof
__________________
My .NET Tutorials: • Silverlight Enabled WebPart in WSS My VB.NET Code Examples: • Create IIS Virtual Directory • Validate Login Against Active Directory • Automatically retrieve Identity field value from inserted DataRow using SQL Server and ADO.NET My ASP.NET Code Examples: • Login To Website (Forms Authentication) • Login To Website (Custom Authentication) My VB6 Code Projects: • Multithreading In VB6 • Custom Tooltips • Multi Language Support • Item Selector Control • Annimated Systray Icon • Simple Effective Graph Control • Download From Web • LiveUpdate, download application updates from the web automatically • Systray Notification Messages • Skin A Form • API Timer • Badger Messenger, an MSN clone that uses the MSN Network • Wokawidgets VB6 Component Suite |
|
|
|
|
|
#26 |
|
New Member
Join Date: Aug 06
Location: Illinois
Posts: 6
![]() |
Re: Create Virtual Directory in IIS using VB.NET
Also, is it possible to (instead of specifying a file location) to specify a redirect page?
|
|
|
|
|
|
#27 |
|
New Member
Join Date: Sep 06
Posts: 4
![]() |
Woka, I read your article about creating virtual directory in vbforum.com.
This is an amazing code I was looking for long time. I am developing with visual studio 2005 on windows xp pro system. This code works if I build it using development server in visual studio 2005 (Ctrl + F5) but it would not work on win xp's iis server. It occurs "System.UnauthorizedAccessException: Access is denied". I tried your suggestion (Dim IISSchema As New System.DirectoryServices.DirectoryEntry("IIS://" & WebSite & "/Schema/AppIsolated", "Administrator", "Woka123")) and others, too but nothing works. Do you have any other suggestions? I get this working on my desktop, can I make this working on my webhosting account? (shared hosting) If this is not working, can you tell me how to make a folder an application root in vb.net? |
|
|
|
|
|
#28 |
|
Super Moderator
Join Date: Nov 01
Location: Headingly Occupation: Classified
Posts: 9,589
![]() ![]() ![]() ![]() |
Re: Create Virtual Directory in IIS using VB.NET
Have you used the servers admin and password?
Woka
__________________
My .NET Tutorials: • Silverlight Enabled WebPart in WSS My VB.NET Code Examples: • Create IIS Virtual Directory • Validate Login Against Active Directory • Automatically retrieve Identity field value from inserted DataRow using SQL Server and ADO.NET My ASP.NET Code Examples: • Login To Website (Forms Authentication) • Login To Website (Custom Authentication) My VB6 Code Projects: • Multithreading In VB6 • Custom Tooltips • Multi Language Support • Item Selector Control • Annimated Systray Icon • Simple Effective Graph Control • Download From Web • LiveUpdate, download application updates from the web automatically • Systray Notification Messages • Skin A Form • API Timer • Badger Messenger, an MSN clone that uses the MSN Network • Wokawidgets VB6 Component Suite |
|
|
|
|
|
#29 |
|
New Member
Join Date: Sep 06
Posts: 4
![]() |
Re: Create Virtual Directory in IIS using VB.NET
Yes I used the username and password.
You mean the username and password I use to log on to Windows xp right? My account has admin's permission. |
|
|
|
|
|
#30 |
|
New Member
Join Date: Sep 06
Posts: 4
![]() |
Re: Create Virtual Directory in IIS using VB.NET
Is this code wokring for IIS 6.0 and higher only?
5.1 or earlier version doesn't work? |
|
|
|
|
|
#31 |
|
Super Moderator
Join Date: Nov 01
Location: Headingly Occupation: Classified
Posts: 9,589
![]() ![]() ![]() ![]() |
Re: Create Virtual Directory in IIS using VB.NET
only tested on 6 I am afraid
![]() WOka
__________________
My .NET Tutorials: • Silverlight Enabled WebPart in WSS My VB.NET Code Examples: • Create IIS Virtual Directory • Validate Login Against Active Directory • Automatically retrieve Identity field value from inserted DataRow using SQL Server and ADO.NET My ASP.NET Code Examples: • Login To Website (Forms Authentication) • Login To Website (Custom Authentication) My VB6 Code Projects: • Multithreading In VB6 • Custom Tooltips • Multi Language Support • Item Selector Control • Annimated Systray Icon • Simple Effective Graph Control • Download From Web • LiveUpdate, download application updates from the web automatically • Systray Notification Messages • Skin A Form • API Timer • Badger Messenger, an MSN clone that uses the MSN Network • Wokawidgets VB6 Component Suite |
|
|
|
|
|
#32 |
|
New Member
Join Date: Sep 06
Posts: 4
![]() |
Re: Create Virtual Directory in IIS using VB.NET
Okay. I finally installed windows 2003 standard with IIS 6.0.
I used default created web.config and had directoryservices referenced. But unfortunately, I still have exactly same error. I will be more detail this time Woka. Here's link to my ftp server for my source codes. http://wizbay.com/woka.zip Please don't give me up~ Default.aspx <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" Debug="true" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> </div> </form> </body> </html> Default.aspx.vb Imports Microsoft.VisualBasic Imports System Imports System.Data Imports System.Configuration Imports System.Collections Imports System.Web Imports System.Web.Security Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.Web.UI.WebControls.WebParts Imports System.Web.UI.HtmlControls Imports System.Data.SqlClient Imports System.DirectoryServices Partial Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not IsPostBack Then CreateVirtualDir("localhost", "test", "e:\test") End If End Sub Private Sub CreateVirtualDir(ByVal WebSite As String, ByVal AppName As String, ByVal Path As String) 'Dim IISSchema As New System.DirectoryServices.DirectoryEntry("IIS://" & WebSite & "/Schema/AppIsolated") Dim IISSchema As New System.DirectoryServices.DirectoryEntry("IIS://" & WebSite & "/Schema/AppIsolated", "Administrator", "1212") Dim CanCreate As Boolean = Not IISSchema.Properties("Syntax").Value.ToString.ToUpper() = "BOOLEAN" IISSchema.Dispose() If CanCreate Then Dim PathCreated As Boolean Try Dim IISAdmin As New System.DirectoryServices.DirectoryEntry("IIS://" & WebSite & "/W3SVC/1/Root") 'make sure folder exists If Not System.IO.Directory.Exists(Path) Then System.IO.Directory.CreateDirectory(Path) PathCreated = True End If 'If the virtual directory already exists then delete it For Each VD As System.DirectoryServices.DirectoryEntry In IISAdmin.Children If VD.Name = AppName Then IISAdmin.Invoke("Delete", New String() {VD.SchemaClassName, AppName}) IISAdmin.CommitChanges() Exit For End If Next VD 'Create and setup new virtual directory Dim VDir As System.DirectoryServices.DirectoryEntry = IISAdmin.Children.Add(AppName, "IIsWebVirtualDir") VDir.Properties("Path").Item(0) = Path VDir.Properties("AppFriendlyName").Item(0) = AppName VDir.Properties("EnableDirBrowsing").Item(0) = False VDir.Properties("AccessRead").Item(0) = True VDir.Properties("AccessExecute").Item(0) = True VDir.Properties("AccessWrite").Item(0) = False VDir.Properties("AccessScript").Item(0) = True VDir.Properties("AuthNTLM").Item(0) = True VDir.Properties("EnableDefaultDoc").Item(0) = True VDir.Properties("DefaultDoc").Item(0) = "default.htm,default.aspx,default.asp" VDir.Properties("AspEnableParentPaths").Item(0) = True VDir.CommitChanges() 'the following are acceptable params 'INPROC = 0 'OUTPROC = 1 'POOLED = 2 VDir.Invoke("AppCreate", 1) Catch Ex As Exception If PathCreated Then System.IO.Directory.Delete(Path) End If Throw Ex End Try End If End Sub End Class Error on http://localhost/Default.aspx Access denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.UnauthorizedAccessException. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [UnauthorizedAccessException: Access denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))] _Default.CreateVirtualDir(String WebSite, String AppName, String Path) +1238 _Default.Page_Load(Object sender, EventArgs e) +43 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +47 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061 Last edited by wizbay; Sep 12th, 2006 at 11:45 PM. |
|
|
|
|
|
#33 |
|
New Member
Join Date: Aug 06
Location: Illinois
Posts: 6
![]() |
Re: Create Virtual Directory in IIS using VB.NET
All, I was finally able to spend some time to answer my question about how to specify which Web site on the IIS server I wanted to create the Virtual Directory for. In the following line of code, the "1" is the identifier for which Web site you are referring to. You can get this number by left clicking on the Website folder. To the right, the screen should now list all of your Web sites and there is an identifier column. That is the value that should be there.
Dim IISAdmin As New System.DirectoryServices.DirectoryEntry("IIS://" & WebSite & "/W3SVC/1/Root") Hope that makes sense. |
|
|
|
|
|
#34 | |
|
New Member
Join Date: Aug 06
Location: Illinois
Posts: 6
![]() |
Re: Create Virtual Directory in IIS using VB.NET
I was getting this error, but I think I have solved it. I'm not sure it's the best solution, because apparently it opens up some security issues, but it has to do with the application pool you are using for the Web site. If you go to the Web site's application pool's properties and select the identity tag you will see a drop down box next to the "predefined" radio button. Select "Local system" and click apply.
If all your code is set up correctly, you should be all set. I don't know what (if any) security risks are opened. Microsoft just throws up a warning when you do this. Let me know if you find anything on that, I'd be very interested to hear what they have to say. Quote:
|
|
|
|
|
|
|
#35 |
|
New Member
Join Date: Dec 06
Posts: 6
![]() |
Re: Create Virtual Directory in IIS using VB.NET
The original code create a Web application under wwwroot.
Someone knows how to create juste a virtual directory (not a web application) with the Browse option ? For an example, I've created a virtual dir from the wizard in IIS 6 : ![]() What is the code for this ? Thanks, Pass |
|
|
|
|
|
#36 |
|
Super Moderator
Join Date: Nov 01
Location: Headingly Occupation: Classified
Posts: 9,589
![]() ![]() ![]() ![]() |
Re: Create Virtual Directory in IIS using VB.NET
Your screen shot isnt showing...but I think this may do what you want:
Code:
Private Sub CreateVirtualDir(ByVal WebSite As String, ByVal AppName As String, ByVal NewDirName As String, ByVal Path As String)
Dim IISSchema As New System.DirectoryServices.DirectoryEntry("IIS://" & WebSite & "/Schema/AppIsolated")
Dim CanCreate As Boolean = Not IISSchema.Properties("Syntax").Value.ToString.ToUpper() = "BOOLEAN"
IISSchema.Dispose()
If CanCreate Then
Dim PathCreated As Boolean
Try
Dim IISAdmin As New System.DirectoryServices.DirectoryEntry("IIS://" & WebSite & "/W3SVC/1/Root")
'make sure folder exists
If Not System.IO.Directory.Exists(Path) Then
System.IO.Directory.CreateDirectory(Path)
PathCreated = True
End If
'If the virtual directory already exists
Dim appFound As Boolean = False
For Each VD As System.DirectoryServices.DirectoryEntry In IISAdmin.Children
If VD.Name = AppName Then
appFound = True
'Create and setup new virtual directory
Dim VDir As System.DirectoryServices.DirectoryEntry = VD.Children.Add(NewDirName, "IIsWebVirtualDir")
VDir.Properties("Path").Item(0) = Path
VDir.Properties("EnableDirBrowsing").Item(0) = False
VDir.Properties("AccessRead").Item(0) = True
VDir.Properties("AccessExecute").Item(0) = True
VDir.Properties("AccessWrite").Item(0) = False
VDir.Properties("AccessScript").Item(0) = True
VDir.CommitChanges()
Exit For
End If
Next VD
If Not appFound Then
Throw New Exception("Web Application not found.")
End If
Catch Ex As Exception
If PathCreated Then
System.IO.Directory.Delete(Path)
End If
Throw Ex
End Try
End If
End Sub
Code:
CreateVirtualDir("LocalHost", "Woof", "Growl", "C:\MyWebProjects\Woof\Growl")
Woka
__________________
My .NET Tutorials: • Silverlight Enabled WebPart in WSS My VB.NET Code Examples: • Create IIS Virtual Directory • Validate Login Against Active Directory • Automatically retrieve Identity field value from inserted DataRow using SQL Server and ADO.NET My ASP.NET Code Examples: • Login To Website (Forms Authentication) • Login To Website (Custom Authentication) My VB6 Code Projects: • Multithreading In VB6 • Custom Tooltips • Multi Language Support • Item Selector Control • Annimated Systray Icon • Simple Effective Graph Control • Download From Web • LiveUpdate, download application updates from the web automatically • Systray Notification Messages • Skin A Form • API Timer • Badger Messenger, an MSN clone that uses the MSN Network • Wokawidgets VB6 Component Suite |
|
|
|
|
|
#37 |
|
New Member
Join Date: Apr 07
Location: Lebanon
Posts: 5
![]() |
Re: Create Virtual Directory in IIS using VB.NET
Wonderful, thank you.
I was wondering if it is possible to edit the Directory Security (Anonymous access and authentication control) in order to make sure only basic authentication and Integrated Windows security are checked for example. |
|
|
|
|
|
#38 |
|
New Member
Join Date: Apr 07
Location: Lebanon
Posts: 5
![]() |
Re: Create Virtual Directory in IIS using VB.NET
I figured it out myself, thanks.
AuthNTLM for Integrated Windows. AuthBasic for basic authentication. |
|
|
|
|
|
#39 |
|
Super Moderator
Join Date: Nov 01
Location: Headingly Occupation: Classified
Posts: 9,589
![]() ![]() ![]() ![]() |
Re: Create Virtual Directory in IIS using VB.NET
You beat me to it, I was just this second about to post that
![]() Woof
__________________
My .NET Tutorials: • Silverlight Enabled WebPart in WSS My VB.NET Code Examples: • Create IIS Virtual Directory • Validate Login Against Active Directory • Automatically retrieve Identity field value from inserted DataRow using SQL Server and ADO.NET My ASP.NET Code Examples: • Login To Website (Forms Authentication) • Login To Website (Custom Authentication) My VB6 Code Projects: • Multithreading In VB6 • Custom Tooltips • Multi Language Support • Item Selector Control • Annimated Systray Icon • Simple Effective Graph Control • Download From Web • LiveUpdate, download application updates from the web automatically • Systray Notification Messages • Skin A Form • API Timer • Badger Messenger, an MSN clone that uses the MSN Network • Wokawidgets VB6 Component Suite |
|
|
|
|
|
#40 |
|
New Member
Join Date: Apr 07
Location: Lebanon
Posts: 5
![]() |
:-)
What is the way to get the names of all the properties? |
|
|
|
![]() |
|
||||||
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|