"Quoth the SmartDoc: 'Never Load!'"

Tags: Office

These days I'm having the ambiguous pleasure of building Office 2003-based Smart Document Solutions. Despite their hot-buzz name, they seem to lean more towards the dim end of the scale.

While the Smart Document SDK itself is rather well written and covers most points, good documentation can only go so far to describe an awkward programming model where you can't so much specify controls on your Task Pane as much as create properties that expose the name, type and amount of controls you would like to have and wait for Word or Excel to create them for you. All in all, this makes for a nervous “I have no idea what the hell is going on” development experience.

The advantage to that, of course, is that once I do wrap my head around the concepts and start whipping out SmartDocs by the bucketload, I will earn the awe and respect of my peers. Sorta like the way people always keep a respectful distance around people who can wrap steel bars around their heads.

Anyway, second only to the development model in needless complexity is the deployment model, relying on automatic installation of the smart-doc on demand by arcane XML files and inscrutable security settings. End result is that on a test machine, every time we opened a DOC file linked to a Smart Document solution we had to pass 3-4 pointless dialogs asking us to re-download the solution we had already downloaded and installed. It gets even ickier when the user doesn't have administrative rights on his workstation - a scenario too exotic for regular Smart Doc installations, it seems.

2 hours and several futile googlings later, a solution was found:
A registry key by the name of NeverLoadManifests, alarming name nonwithstanding, tells Word not to try and re-load the Smart Document Solution from the source every time, and to settle for the version it already has installed. Not the best of solutions, since it prohibits us from using Office's Automatic update of SmartDoc solutions (which we aren't using in this deployment anyway), but it sure it better than asking users to click through 3 dialogs whenever they open a document.

Key can be found here:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\Common\Smart Tags\
NeverLoadManifests=dword:0000001

And Google has apparently never heard of it, which is impressive. It can be found in the SDK, though I found THAT out only after I had tracked it down.

May this page be Googled and Feedstered and help others with the problem, amen.

No Comments