AddComPlusAppRole - Adding a new role to a COM+ application
' Create a new role to a COM+ application, and return True if the operation is
' successfull
' Note: requires a reference to the COM+ Admin Type Library
'
' Example: AddComPlusAppRole("MyComPlusApp", "MyTestRole", "")
Function AddComPlusAppRole(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 RoleObj As COMAdmin.COMAdminCatalogObject
For Each RoleObj In roles
If roleName = RoleObj.Name.ToString() Then
Return False
End If
Next RoleObj
If roles.AddEnabled Then
Dim role As COMAdmin.COMAdminCatalogObject = CType(roles.Add(), _
COMAdmin.COMAdminCatalogObject)
role.Value("Name") = CType(roleName, Object)
roles.SaveChanges()
Return True
End If
End If
Next AppObj
Return False
End Function