Frank Posted January 17, 2009 Posted January 17, 2009 I have an old ASP COM+ component which works on all version of Windows platforms. But in WS2008 it encountered the error - "ASP 0177: 80004002". All permission settings are in WS2008 (in different places) similar to WS2003. I duplicated all the WS2003 settings (works in WS2003) but cannot get it to work in WS2008. Anyone has suggestions how to get by the COM+ WS2008 security. Looks like a security problem. Thanks, Fk Quote
FPCH Admin AWS Posted January 17, 2009 FPCH Admin Posted January 17, 2009 There was a similar question asked here when we first opened. It was caused by the app being run in 64bit mode. Have you turned on 32bit compatibility mode for scripts and controls? For reference: http://freepchelp.forum/f2/iis-7-cant-start-classic-com-38.html Quote Off Topic Forum - Unlike the Rest
Frank Posted January 17, 2009 Author Posted January 17, 2009 BSchwarz, I am running a 32-bit Standard version of WS2008 SP-1 (trail version). I have tried all the tricks and tips from the web and still no luck. My legacy ASP COM+ component is working well in all versions of O/S including WS2003. I registered via component service and have set DCOM (allow anybody with fill access), directory share, application pool, construction string etc.. trying to get it to go. If I right click on my COM+ app in component services and set the various security settings in the properties window, I got different error code. For example, if I check 'Enforce access checks..." I got ASP 0178 : 80070005" error If I disable enable object construction in the component properties page, I got "8004E025". So, looks like a security setting that is killing the access in WS2008. Frank Quote
FPCH Admin AWS Posted January 17, 2009 FPCH Admin Posted January 17, 2009 Have you tried setting "Force access check for this application" to off? You access that setting in the security tab of your components property dialog. I see you already tried that. Missed reading your reply. Let me see what else I can come with. Quote Off Topic Forum - Unlike the Rest
Frank Posted January 18, 2009 Author Posted January 18, 2009 I went back and test the installation of the DLL in VISTA Premium and it does not work either. The end point is the same error message ASP 0177: 80004002. Searching for COM+ & IIS7 returns a few good articles but this error message is not mentioned at all. Wonder whether COM+ works in IIS7 at all. You think that the component services is still there in WS2008 and it should work. Frank Quote
FPCH Admin AWS Posted January 18, 2009 FPCH Admin Posted January 18, 2009 You may be right. I've searched and the only solutions I saw dealt with windows 2000 and NT. All those solutions say it's a permission error caused by bad permissions of any addin controls. Maybe they depricated the use and didn't let devs know, but, left it in 2008 for backwards compatibility that is broken. Quote Off Topic Forum - Unlike the Rest
Frank Posted January 18, 2009 Author Posted January 18, 2009 Yes, looks that way as WS2008 is similar to VISTA. I posted the\is problem in many other forums and no luck at all. Frank Quote
Frank Posted January 26, 2009 Author Posted January 26, 2009 I have filed a support request at MS - let's see what is the office reply. Frank Quote
FPCH Admin AWS Posted January 27, 2009 FPCH Admin Posted January 27, 2009 Let us know how it goes. Quote Off Topic Forum - Unlike the Rest
Frank Posted January 30, 2009 Author Posted January 30, 2009 Got it ! Depends on how you code. * Make sure the "Enable object construction" option is not checked in Component Service MMC. If you check this option, you have to implement IObjectConstruct interface in your source code, otherwise you will get the 80004002 error. * In Component Service MMS, on the Conmponent Properties windows, open Advanced tab and check Allow IIS intrinsic properties. In my code, I invoke GetObjectContext() function in objectcontrol_activate() method, if the Allow IIS intrinsic properties is not checked, you cant get the IIS contexts, then conversion exception happens with such codes: Set myres = myCtx(Response) Because myCtx(Response) will return Empty. This is why we get 8004e025 and 0x800a01a8 errors. Frank Quote
FPCH Admin AWS Posted January 30, 2009 FPCH Admin Posted January 30, 2009 Thanks for replying back and glad you got it worked out. Quote Off Topic Forum - Unlike the Rest
Recommended Posts