Я работаю над деинсталлятором, который должен проверить, присутствует ли веб-приложение / виртуальный каталог в IIS, и удалить его, если он там есть.Прямо сейчас я использую VBScript, чтобы проверить, существует ли виртуальный каталог,
Function VDirExists( name )
Dim objIIS
If IsEmpty(name) Or IsNull(name) Or Len(name) = 0 Then
VDirExists = False
Exit Function
End If
On Error Resume Next
Set objIIS = GetObject( "IIS://localhost/W3SVC/1/Root/" & name )
If Err.Number = 0 Then
VDirExists = True
Else
Err.Clear
VDirExists = False
End If
'MsgBox " VDIR Exists IIS: " & VDirExists & "Name :" & name
End Function
Для удаления виртуального каталога я использую следующий код,
set objW3SVC = getObject("IIS://localhost/W3SVC/1/Root")
objVirtualDir = objW3SVC.Delete("IISWebVirtualDir", "AppName")
Проблема заключается в следующемкажется устаревшим и не работает на серверах / машинах с Windows, где функция Windows IIS 6 Management Compatibility не включена.Есть ли способ добиться этого с помощью C # или WIX.Существует ли код .NET, который будет работать для всех версий IIS или серверов Windows?