P
prem1234
Hi,
I am working on a MS Project .Net Shared add in. The add in is
created with visual studio 2005 shared add in template. We have a Com
shim for the add in. The .Net add-in creates COM components(.NET to
COM interop) and one of the COM object in turn creates .Net Class
object(COM to .NET interop).
We are facing a issue on Vista - if we unload the add-in by
Selecting Tools|COM-Addins dialog and then exit the MS Project, MS
Project crashes after closing(a dialog appears saying "Microsoft
Project has stopped Working" with 3 options ->Check online for a
solution and close the program ->close the program ->debug the
program)
While Debugging the COM shim, I found that an exception is thrown in
crt0dat.c in __crtCorExitProcess method where there is a call to
CorExitProcess method -
void __cdecl __crtCorExitProcess (
int status
)
{
HMODULE hmod;
PFN_EXIT_PROCESS pfn;
hmod = GetModuleHandle("mscoree.dll");
if (hmod != NULL) {
pfn = (PFN_EXIT_PROCESS)GetProcAddress(hmod,
"CorExitProcess");
if (pfn != NULL) {
pfn(status);
}
}
Please can anyone tell me what is going wrong? What is solution?
Thanks in advance,
I am working on a MS Project .Net Shared add in. The add in is
created with visual studio 2005 shared add in template. We have a Com
shim for the add in. The .Net add-in creates COM components(.NET to
COM interop) and one of the COM object in turn creates .Net Class
object(COM to .NET interop).
We are facing a issue on Vista - if we unload the add-in by
Selecting Tools|COM-Addins dialog and then exit the MS Project, MS
Project crashes after closing(a dialog appears saying "Microsoft
Project has stopped Working" with 3 options ->Check online for a
solution and close the program ->close the program ->debug the
program)
While Debugging the COM shim, I found that an exception is thrown in
crt0dat.c in __crtCorExitProcess method where there is a call to
CorExitProcess method -
void __cdecl __crtCorExitProcess (
int status
)
{
HMODULE hmod;
PFN_EXIT_PROCESS pfn;
hmod = GetModuleHandle("mscoree.dll");
if (hmod != NULL) {
pfn = (PFN_EXIT_PROCESS)GetProcAddress(hmod,
"CorExitProcess");
if (pfn != NULL) {
pfn(status);
}
}
Please can anyone tell me what is going wrong? What is solution?
Thanks in advance,