sgonzales
Posts: 15
Joined: 2010-03-22
|
I cannot properly uninstall a COM add-in in Excel 2003 (I've added my own menu item). The machine has both Excel 2003 and 2007. However, it uninstalls in Excel 2007.
If it helps, here's what happened:
1. I installed a COM add-in (created with VS2008 and Add-in Express 2009) in a machine with both Excel 2003 and 2007. I created the installer with ClickOnce.
2. I installed a new version of the COM add-in (created in VS2010 and Add-in Express 2010) in the same machine. I created an MSI installer.
3. I uninstalled the older COM add-in. It seems to properly uninstall in Excel 2007, but not in 2003.
4. I uninstalled the newer COM add-in. It seems to properly uninstall in Excel 2007, but not in 2003.
The COM has an XLL inside; the XLL is removed on both Excels.
How do I manually uninstall it?
Another issue: The wrapped XLL UDFs works only in Excel 2003, not in 2007.
Thanks,
Jeff |
|
Andrei Smolin
Add-in Express team
Posts: 18829
Joined: 2006-05-11
|
|
sgonzales
Posts: 15
Joined: 2010-03-22
|
Andrei,
It seems like the website discusses Development issues, not deployment issues. We have a Bloomberg Excel add-in that installs and runs fine on both Excel 2003 and 2007 installed side-by-side.
You can try removing it in the COM Add-ins dialog.
I already tried this. The old add-in doesn't show up on the list. Is there a way to remove it from the registry?
Thanks! |
|
Andrei Smolin
Add-in Express team
Posts: 18829
Joined: 2006-05-11
|
Jeff,
Consider the following scenario:
- you install an add-in on a PC with Excel 2003 and 2007 installed,
- you run Excel 2003, Add-in Express creates command bars, you see them, you close Excel
- you run Excel 2007, Add-in Express creates the Ribbon XML, Excel shows it, you see it, you close Excel
- you uninstall the add-in
- you run Excel 2003 and find your command bars non-removed.
The cause of the issue is as follows. Add-in Express detects that you use non-temporary command bars and starts Excel in order to remove them. To start Excel it uses Activator.CreateInstance(Type.GetTypeFromProgID("Excel.Application", false)). But that code starts Excel 2007 and not Excel 2003; accordingly, command bars will not be removed because they are absent in Excel 2007. Why it starts Excel 2007 and not Excel 2003? They describe this in http://support.microsoft.com/kb/928091/ and http://support.microsoft.com/kb/292491.
You can bypass the issue above by using temporary command bars and controls; remember, items in a context menu and main menu must be temporary, too.
sgonzales writes:
The old add-in doesn't show up on the list. Is there a way to remove it from the registry?
There's no way to remove non-temporary command bars in the registry, the only way is to use Tools | Customize in the UI.
The add-in must be listed in {HKLM or HKCU}\Software\Microsoft\Office\Excel\Addins\{your add-in} but if you have uninstalled the add-in this key will be missing.
Andrei Smolin
Add-in Express Team Leader |
|