注册表中已安装应用程序的列表,通常从这里检索
Software\Microsoft\Windows\CurrentVersion\Uninstall
程序的位置可以从相关子项"InstallLocation"中检索。然而,这似乎不适用于windows和web服务。
可以从检索Windows服务位置
SYSTEM\CurrentControlSet\Services
如何从注册表中查找有关Web服务及其位置的信息?
Microsoft.Web.Administration.dll可以用于查询IIS,您可以执行以下操作
- 获取所有网站的列表
- 获取有关特定网站的信息
- 获取有关网站中web应用程序的信息
- 获取有关应用程序中绑定的信息
- 创建/修改网站等
就是一个简单的用法示例
private ServerManager serverManager
{
get
{
if (_serverManager == null)
_serverManager = new ServerManager();
return _serverManager;
}
set { _serverManager = value; }
}
你可以使用上面的变量来获得一个特定的站点名称
var site = serverManager.Sites.First(x => x.Name.ToLower() == siteName.ToLower());
您可以从serverManager.Sites
获取站点名称
您还可以打开应用程序webconfigs并修改、查询等
public static System.Configuration.Configuration GetConfigurationFrom(string appName, string hostName, string site)
{
return System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(@"/" + appName, site, null, hostName);
}