I am still not having any success with this. So, I went back and tried to get this to work on a WinXP platform and I still cannot get the COM component to register (however, I can load the ICommand/IToolbar Class by way of Customize-->Add From File-->.tlb on the XP workstation).So, here is everything I have. If there is anything blaringly incorrect, please let me know.clsFire.vb is the ICommand and IToolbar class. The app utilizesa UserControl (you'll see that I pass the app ref to it in the OnCreate):<ComClass(clsFire.ClassId, clsFire.InterfaceId, clsFire.EventsId), ProgId("Fire_v3_1.clsFire")> _
Public Class clsFire
'ProgId("Fire_v2_0.clsFire_v2")>
Implements ESRI.ArcGIS.SystemUI.ICommand
Implements ESRI.ArcGIS.SystemUI.IToolControl
Private m_pApp As IApplication
Private pDoc As IMxDocument
Private pMap As IMap
Private pLayer As IFeatureLayer
Private sLayerName As String
Private m_completionNotify As ICompletionNotify
Private m_FireUC As FireUC = New FireUC
#Region "COM GUIDs"
' These GUIDs provide the COM identity for this class
' and its COM interfaces. If you change them, existing
' clients will no longer be able to access the class.
Public Const ClassId As String = "01cf11bf-9fac-45e6-892a-4fc0fe020753"
Public Const InterfaceId As String = "732b6107-f31b-4078-b257-a718f725500e"
Public Const EventsId As String = "03223c0d-bf75-4b00-9cb8-966ed1428b18"
#End Region
#Region "ArcGIS Component Category Registrar generated code"
''' <summary>
''' Required method for ArcGIS Component Category registration -
''' Do not modify the contents of this method with the code editor.
''' </summary>
Private Shared Sub ArcGISCategoryRegistration(ByVal registerType As Type)
Dim regKey As String = String.Format("HKEY_CLASSES_ROOT\CLSID\{{{0}}}", registerType.GUID)
MxCommands.Register(regKey)
End Sub
''' <summary>
''' Required method for ArcGIS Component Category unregistration -
''' Do not modify the contents of this method with the code editor.
''' </summary>
Private Shared Sub ArcGISCategoryUnregistration(ByVal registerType As Type)
Dim regKey As String = String.Format("HKEY_CLASSES_ROOT\CLSID\{{{0}}}", registerType.GUID)
MxCommands.Unregister(regKey)
End Sub
#End Region
' A creatable COM class must have a Public Sub New()
' with no parameters, otherwise, the class will not be
' registered in the COM registry and cannot be created
' via CreateObject.
Public Sub New()
MyBase.New()
End Sub
Public ReadOnly Property Bitmap() As Integer Implements ESRI.ArcGIS.SystemUI.ICommand.Bitmap
Get
End Get
End Property
Public ReadOnly Property Caption() As String Implements ESRI.ArcGIS.SystemUI.ICommand.Caption
Get
Return "Fire_V3.1"
End Get
End Property
Public ReadOnly Property Category() As String Implements ESRI.ArcGIS.SystemUI.ICommand.Category
Get
Return "Fire_V3.1"
End Get
End Property
Public ReadOnly Property Checked() As Boolean Implements ESRI.ArcGIS.SystemUI.ICommand.Checked
Get
Return False
End Get
End Property
Public ReadOnly Property Enabled() As Boolean Implements ESRI.ArcGIS.SystemUI.ICommand.Enabled
Get
Return True
End Get
End Property
Public ReadOnly Property HelpContextID() As Integer Implements ESRI.ArcGIS.SystemUI.ICommand.HelpContextID
Get
End Get
End Property
Public ReadOnly Property HelpFile() As String Implements ESRI.ArcGIS.SystemUI.ICommand.HelpFile
Get
Return ""
End Get
End Property
Public ReadOnly Property Message() As String Implements ESRI.ArcGIS.SystemUI.ICommand.Message
Get
Return ""
End Get
End Property
Public ReadOnly Property Name() As String Implements ESRI.ArcGIS.SystemUI.ICommand.Name
Get
Return "Fire_V3.1" '"clsFire"
End Get
End Property
Public Sub OnCreate(ByVal hook As Object) Implements ESRI.ArcGIS.SystemUI.ICommand.OnCreate
Try
System.Windows.Forms.Application.EnableVisualStyles()
If Not (hook Is Nothing) Then
If TypeOf (hook) Is IMxApplication Then
m_pApp = CType(hook, IApplication)
m_FireUC.m_pApp = m_pApp
End If
End If
If Nothing Is m_FireUC Then
m_FireUC = New FireUC
m_FireUC.CreateControl()
End If
Catch ex As Exception
MsgBox(ex.ToString)
Exit Sub
End Try
End Sub
Public Sub OnClick() Implements ESRI.ArcGIS.SystemUI.ICommand.OnClick
End Sub
Public ReadOnly Property Tooltip() As String Implements ESRI.ArcGIS.SystemUI.ICommand.Tooltip
Get
Return "clsFire"
End Get
End Property
Public ReadOnly Property hWnd() As Integer Implements ESRI.ArcGIS.SystemUI.IToolControl.hWnd
Get
If Nothing Is m_FireUC Then
m_FireUC = New FireUC
m_FireUC.CreateControl()
End If
hWnd = m_FireUC.Handle.ToInt32
End Get
End Property
Public Function OnDrop(ByVal barType As ESRI.ArcGIS.SystemUI.esriCmdBarType) As Boolean Implements ESRI.ArcGIS.SystemUI.IToolControl.OnDrop
OnDrop = True
End Function
Public Sub OnFocus(ByVal complete As ESRI.ArcGIS.SystemUI.ICompletionNotify) Implements ESRI.ArcGIS.SystemUI.IToolControl.OnFocus
m_FireUC.CompletionNotify = complete
End Sub
End Class
Then, I have followed the steps exactly as outlined here:http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/How_to_deploy_a_custom_...The InvokeESRIRegAsm project and Installer class are EXACTLY as described in the walkthru. The Setup Project itself has been created EXACTLY as outlined in the walkthru. Additionally, I have tried a multitude of various settings for the Install/Uninstall of the CustomActionData settings -- all of which produce the same behavior:The install runs without error, the directories are created and the referenced .dll's all copied over. But the registration does not work. I am not sure if there is something incorrect in the ICommand Name/Category/Caption properties of clsFire (which is why I have posted), but again the Toolbar does not show up in the Toolbars or Commands listings. I CAN register the files manually by way of Customize-->Add from file, but this is only on XP machines. This does not work on W7 machines, which is why I believe there is something else going wrong in my Setup or InvokeESRIRegAsm.Any more help is greatly appreciated.