how to check iis version on serve programmatically using c#.
Asked
Active
Viewed 2,558 times
3 Answers
2
This was answered for IIS 5, it should work with current version of IIS.
1
http://www.codeproject.com/KB/cs/iisdetection.aspx this express how, you should query the registry
Oscar Cabrero
- 4,168
- 8
- 29
- 49
-1
I did this using powershell. The same .Net libs and types can be used with C# as well:
function Validate-IISVersion([switch] $ContinueOnError = $false)
{
if ($ContinueOnError)
{ $ErrorActionPreference = "SilentlyContinue" }
else
{ $ErrorActionPreference = "Stop" }
# Using GAC to ensure the IIS (assembly) version
$IISAssembly = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Administration")
$IISVersion = $IISAssembly.GetName().Version
$IISVersionString = [string]::Format("{0}.{1}.{2}.{3}", $IISVersion.Major, $IISVersion.Minor, $IISVersion.Build, $IISVersion.Revision)
if (!$IISVersionString.Equals("7.0.0.0"))
{
if ($ContinueOnError)
{
Write-Host "`nConflicting IIS version found! [Version: $IISVersionString]`t " -NoNewline -ForegroundColor Red
}
Write-Error "Conflicting IIS version found [$IISVersionString]! @ $(Split-Path $MyInvocation.ScriptName -leaf)"
return $false
}
else
{
return $true
}
}
Vaibhav
- 2,527
- 1
- 27
- 31