DelComPlusAppRole - Deleting a role from a COM+ application
' Delete a role from a COM+ application, and return True if the operation is
' successfull
' Note: requires a reference to the COM+ Admin Type Library
'
' Example: DelComPlusAppRole("MyComPlusApp", "MyTestRole", "")
Function DelComPlusAppRole(ByVal applicationName As String, _
ByVal roleName As String, ByVal serverName As String) As Boolean
Dim catalog As New COMAdmin.COMAdminCatalog
catalog.Connect(serverName)
' get the Applications collection
Dim apps As COMAdmin.COMAdminCatalogCollection = CType _
(catalog.GetCollection("Applications"), _
COMAdmin.COMAdminCatalogCollection)
apps.Populate()
Dim AppObj As COMAdmin.COMAdminCatalogObject
For Each AppObj In apps
If applicationName = AppObj.Name.ToString() Then
Dim roles As COMAdmin.COMAdminCatalogCollection = CType _
(apps.GetCollection("Roles", AppObj.Key), _
COMAdmin.COMAdminCatalogCollection)
roles.Populate()
Dim i As Integer
For i = 0 To roles.Count - 1
If roleName = CType(roles.Item(i), _
COMAdmin.COMAdminCatalogObject).Name.ToString() Then
If roles.RemoveEnabled Then
roles.Remove(i)
roles.SaveChanges()
Return True
End If
End If
Next i
End If
Next AppObj
Return False
End Function