Posted by tier777 on 2009-12-11
Let’s say you have bought or downloaded some third-party Office COM-addin to use on your Citrix- or Terminal Server. Many of these will by default install for all users. What if for one reason or another you only want to let a subset of your users work with that addin? Well, here’s what:
Office determines what addins to load by looking at the entries below the following two registry keys:
(where OfficeApp should be replaced with Outlook, Word, Excel, etc.)
The sub-entries will be named after the addin’s ProgID, e.g. “Microsoft.VbaAddinForOutlook.1” is one included by default with most versions of Office. From the name it should typically be fairly obvious which entry belongs to the particular addin that you’re after. For the purpose discussed here it is irrelevant what values these sub-entries actually contain.
As you may have guessed the entries under
HKLM define which addins get loaded for all users while the entries under
HKCU define the ones that should be loaded for that user only. Thus, in order to change an addin’s load behaviour from “all users” to “some users” all you have to do is essentially move the relevant entry from
HKCU, e.g. by exporting the entry into a .reg-file and then deleting it, then using notepad to change the hive to
HKEY_CURRENT_USER and finally re-import that .reg-file again for the users that should use the addin (or just use a group policy object). Remember that you will have to repeat this whenever you install an update of the addin in question as that will probably rewrite the entry under
More details about addin registration from a developer’s point of view can be found on MSDN:
Registry Entries for Application-Level Add-ins
(You can disregard the note about registration for all users being ignored in that article as that only applies to VSTO-addins, not to COM-addins)
Posted in Outlook, Tips and Tricks | Tagged: loadbehavior, multiuser, office, officeaddins, Outlook, outlookaddins, registry, terminalserver | Leave a Comment »
Posted by tier777 on 2009-06-09
[deutsche Fassung dieses Artikels: siehe voriger Eintrag]
Here’s a commented list of links that accumulated during the preparation for my talk on developing Outlook-addins with Delphi at last weekend’s Delphi-Tage event in Hamburg (also containing some information that I did not end up covering for various reasons):
Official API-References and related Information:
Source code, Tutorials and Example-Addins:
- Extended MAPI-Headers for Delphi:
(indispensable for any kind of Extended MAPI development, also when combined with Redemption – see below)
- BabelFish for Outlook:
(the required target WebService is no longer online but the source code of this addin works very well as a starting point for new addins)
- Trust Filter for MS Outlook:
(a non-trivial Outlook-Addin with freely available source code, written in Delphi)
- OutlookCode.com – Developer Learning Center for Microsoft Outlook
(Heaps of examples, articles, tutorials, links, etc. – mostly VB(A/S) or C# rather than Delphi, though)
- Slipstick.com – Outlook & Exchange Solutions Center
(the definitive information portal for all things Outlook and Exchange)
Products presented or used:
- Add-in Express:
(Framework for true RAD-development of addins for Office, especially helps with integrating seamlessly with the Office-UI, Shareware)
(COM utility library written in Delphi that massively simplifies working with Extended MAPI and which thus bypasses security prompts in older versions of Outlook or when accessing Outlook from anything other than a COM-addin, Shareware)
(Developer-utility for live-inspection and manipulation of all relevant Outlook-APIs, written in Delphi, Shareware)
(really powerful plugin for the Delphi-IDE, which should need no further introduction, Open Source)
(another great Delphi IDE-plugin from Andreas Hausladen, Freeware)
- IDE Fix Pack:
(semi-official bugfixes for the Delphi-IDE from Andreas Hausladen, Freeware)
- MachMichAdmin (“Make me admin”):
(Batch-file for starting applications using your own user account but with temporarily applied admin privileges; needs some minor tweaks to work on non-German operating systems, Open Source)
(Custom toolbar for Windows Explorer that indicates the permission level in effect for a given Explorer instance, Freeware)
(application quick launcher for keyboard enthusiasts, Open Source)
(Attention! Time for a quick commercial break. 😉 )
- Lucatec GmbH:
(my “hand that feeds”, without whom this talk wouldn’t have happened)
- Lucatec® Mask:
(our addin for automating several tasks related to the use of shared mailboxes or Public Folders in a team, Shareware)
(end of commercial break)
(extensive articles and tutorials all about COM programming with Delphi and C++-Builder by Binh Ly – a real eye-opener for anyone that has been struggling with this topic so far)
- You can use the following .reg-file to perform registration and unregistration of COM-DLLs directly from the Explorer context menu:
Windows Registry Editor Version 5.00
@="regsvr32.exe /u \"%1\""
Posted in Delphi, Outlook | Tagged: Delphi, delphitage, Outlook, outlookaddins | Leave a Comment »
Posted by tier777 on 2009-06-04
So, here’s the second example on creating Outlook-Addins with Delphi which will likely not be included in my talk at the German Delphi-Tage due to time constraints.
In this one I show how to add an option page to your addin, which is typically used for letting the user configure your addin or for displaying version and contact information.
Again, raw and unedited (I’m probably talking too fast in this one). Recorded at 1024×768 in English, 9 minutes and 28 seconds.
Posted in Delphi, Outlook | Tagged: Delphi, delphi2009, delphitage, optionpage, Outlook, outlookaddins, screencast, tutorial | Leave a Comment »
Posted by tier777 on 2009-06-04
I have now uploaded a screen video of the first example from my upcoming talk about creating COM-addins with Delphi at the German Delphi Tage event.
This is raw and unedited and I assume prior knowledge of some COM-basics and terminology like CoClasses, ProgIDs and type libraries and how to create and register COM-DLLs.
This was recorded at 1024×768 in English language (while the live talk will be in German) and is 7 minutes 29 seconds long.
[Part 2] Option Pages
Posted in Delphi, Outlook | Tagged: camtasia, Delphi, delphi2009, delphitage, Outlook, outlookaddins, screencast, tutorial | 2 Comments »