如何正确链接已安装的Web应用程序名称及其虚拟目录名称?

时间:2018-12-12 19:01:08

标签: c# .net iis registry installer

使用ServerManager,可以获得安装的Web应用程序的虚拟目录列表。我还可以使用注册表项搜索来验证是否安装了特定的Web应用程序。但是,我无法找到通常在inetpub \ wwwroot中的Web应用程序物理路径。

相关注册表中的

InstallLocation字段没有任何值。我该如何实现?

1 个答案:

答案 0 :(得分:0)

您可以使用DirectoryEntry浏览IIS配置。这是从another question中提取的示例:

void ListVirtualDirectories(string serverName, int siteId) {            
   DirectoryEntry iisServer = new DirectoryEntry("IIS://" + serverName + "/W3SVC/" + siteId + "/ROOT");

   foreach (DirectoryEntry webDir in iisServer.Children) {
       if (webDir.SchemaClassName.Equals("IIsWebVirtualDir"))
               Console.WriteLine("Found virtual directory {0}", webDir.Name);
   }
}

siteId是一个与IIS中列出的每个站点相对应的数值。此方法强制您提供它,但是如果需要,您也可以在服务器上找到所有站点。只需在Google中搜索即可。但这应该可以帮助您入门。