Link to home
Start Free TrialLog in
Avatar of darbid73
darbid73Flag for Germany

asked on

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.
Avatar of darbid73
darbid73
Flag of Germany image

ASKER

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.
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
 
 
'<LOAD THE PICTURE AND MASK OBJECTS>
 
 
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

ASKER CERTIFIED SOLUTION
Avatar of darbid73
darbid73
Flag of Germany image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial