Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
In very rare conditions in the past, it may have been necessary to take steps to rebuild the COM+ catalog. In Windows 2003, for example, this was performed by walking through Add / Remove Windows Components, however, in Windows 2008, this is no longer an option.
Instead, we now need to us the ICOMAdminCatalog interface, which provides two methods ( among others ): one to save a backup of the current catalog and another to restore a previous backup. These two methods are:
*** It is very important to note, however, that restoring a COM+ catalog should be a last step effort to rememdy an issue, as restoring the catalog does not effect any settings / data that is kept in the registry ( such as COM+ applications that run as a service ), entires in Active Directory for queue components, or anything else not stored in the catalog! ***
Here is a very simple script sample that will create a backup of the current catalog ( ex. save as C:\backupcom.vbs ):
Dim objComCatalog
Set objComCatalog = CreateObject("COMAdmin.COMAdminCatalog")
objComCatalog.BackupREGDB "C:\my_com_catalog.clb"
Set objComCatalog = Nothing
Here is another sample that will restore a previously saved catalog ( ex. save as C:\restorecom.vbs ):
Dim objComCatalog
Set objComCatalog = CreateObject("COMAdmin.COMAdminCatalog")
objComCatalog.RestoreREGDB "C:\my_com_catalog.clb"
Set objComCatalog = Nothing
In order to run any of the sample scripts, simply use cscript.exe from a command prompt as an Administrator ( start -> run, cmd.exe, then enter cscript.exe C:\restorecom.vbs or cscript.exe C:\backupcom.vbs ).
What if I don't have a prior backup and need to restore a COM+ catalog?
In the event that you need to restore a COM+ catalog but do not currently have a back up, you may try to restore the first catalog that was used on the system. In order to do this, simply copy the catalog to a 'simple' path, either from installation media or the server ( dir /s %windir%\WinSxs\*.clb, look for R000000000001.clb ):
ex. copy %windir%\WinSxs\R000000000001.clb C:\R000000000001.clb
Now change the file name in the sample restore script to R000000000001 and execute as mentioned above, then reboot.
* Note, that after restoring a COM+ catalog, the server should be rebooted for the change to take effect.
Comments
- Anonymous
October 23, 2013
The comment has been removed