• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 298
  • Last Modified:

How to properly Install and uninstall WORD 2003 COM Add-ins

I have made a COM Add-in with VB6.  This Add-in has what I think is a pretty standard start-up procedure of adding a button to the standard WORD 2003 Commandbar.

I register my .dll with regsvr32 and it works fine.  My problem is that if I unregister it, the button is still there in Word. (but does nothing)

I have also made an Add-in for outlook and if I unregister it then the button is also gone when I next open outlook.  I am expecting this also to happen with Word but it is not.

I am aware that the add-in has a "connect" entry in the registry under software/microsoft/office/word/add-ins and this entry is gone.  But I still get the button.
  • 3
1 Solution
darbid73Author Commented:
I think it has something to do with it being still in normal.dot?????

If I reset the commandbar then it is gone - but I need a better solution then that.
darbid73Author Commented:
It appears I did not ad the code here it is.

If I delete normal.dot the button is gone, but obviously I cannot do that every time.

Dim oPic As stdole.IPictureDisp
Dim oMask As stdole.IPictureDisp
Set oPic = LoadResPicture(101, vbResBitmap)
Set oMask = LoadResPicture(102, vbResBitmap)
Set wLuTTool = w_App.CommandBars.Item("Standard").FindControl(, , "890", False, True)
If TypeName(wLuTTool) = "Nothing" Then
    Set wLuTTool = w_App.CommandBars.Item("Standard").Controls.Add(msoControlButton, , "890", , True)
End If
With wLuTTool
    .BeginGroup = True
    .DescriptionText = "Add selected Word Document"
    .Caption = "LuTTool"
    .Enabled = True
    .OnAction = "!<W2LTT2I.Connect>"
    .Style = msoButtonIconAndCaption
    .Picture = oPic  '<OFFICE 2000 - 2007>
    .Mask = oMask '<OFFICE 2002 - 2007>
    .Tag = "890"
    .ToolTipText = "ToolTip"
    .Visible = True
End With
Set oPic = Nothing
Set oMask = Nothing
Private Sub IDTExtensibility2_OnBeginShutdown(custom() As Variant)
    'The OnBeginShutdown method is called while the environment is being shut down. The custom parameter is an array
    'that can be used to provide additional data to the OnBeginShutdown method if desired.
    If TypeName(wLuTTool) <> "Nothing" Then
        wLuTTool.Delete False
    End If
    Set wLuTTool = Nothing
End Sub

Open in new window

darbid73Author Commented:
Ok got it sorted out.  You have to save the normal.dot after deleting the button.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now