COM Shim Add-In for Project 2003

A

Adam

So i had an add in that was managed and Shim-less, which was frowned upon by
MSDN. So i went ahead and created a COM Shim for it, followed all the
instructions to the T and installed on my own machine. It works great, much
faster, but...

It doesnt work on any other machine. It used to work as a managed add-in but
now i cant get it to even start up. No errors, no warnings, nothing.

I checked the GAC for the needed DLLs, office 11, MSProject and VBE Interop,
all there.
Registry, everything looks good, set to load with the application.
Checked the Assembly Binding Log Viewer, on my machine everything loads and
checks out, on any other, no activity is shown.

Im going crazy, please help.
 
D

Daniel

So i had an add in that was managed and Shim-less, which was frowned upon by
MSDN. So i went ahead and created a COM Shim for it, followed all the
instructions to the T and installed on my own machine. It works great, much
faster, but...

It doesnt work on any other machine. It used to work as a managed add-in but
now i cant get it to even start up. No errors, no warnings, nothing.

I checked the GAC for the needed DLLs, office 11, MSProject and VBE Interop,
all there.
Registry, everything looks good, set to load with the application.
Checked the Assembly Binding Log Viewer, on my machine everything loads and
checks out, on any other, no activity is shown.

Im going crazy, please help.

This is a common problem and drove me almost insane so many times.
Check the registry for the correct "LoadBehavior" value of your addin.
 
H

H.

Adam - you could go ahead and use vsto se - this negates the requirement for
having a shim as its runtime creates a new address space for the add-in. Of
course, the architecture is slightly different....
 
A

Adam Behrle

H,

I don't think VSTO is compatible with Project yet.

Adam,

I've been running into this as well. Everything would work fine for my
shimmed addin for Project in Windows Server 2003, but wouldn't load in
XP (LoadBehavior changed from 3 to 2).

I implemented Shamil Salakhetdinov's "hack" posted to Misha
Shneerson's blog (link below), changing part of the LoadCLR function
in CLRLoader.cpp to:

if (hr == S_FALSE)
{

return m_pHost->Start();
//return hr;
}

This seems to work in both environments for Project 2003. I still need
to test it for Project 2007.

Hope the same works for you,

Adam Behrle
QuantumPM

Misha Shneerson's blog:
http://www.microsoft.com/downloads/...b3-6fd6-4955-b979-e1676db6b3cb&displaylang=en
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top