Solved

Server object error 'ASP 0196 : 80040154'  Cannot launch out of process component

Posted on 2009-07-15
5
1,660 Views
Last Modified: 2012-05-07
I'm on the final (I hope) stages of porting an ASP application to a new Win Server 2003 box (x64).

I am, however, getting the following error:

Server object error 'ASP 0196 : 80040154'

Cannot launch out of process component

/jbasales/dorun/NOISFStep.asp, line 32

Only InProc server components should be used. If you want to use LocalServer components, you must set the AspAllowOutOfProcComponents metabase setting. Please consult the help file for important considerations.

Line 32 is as follows: Set regExcel = Server.CreateObject("Sales_Backend.clsSalesRun")

Note the above 'class' is in a DLL which I have compiled and registered on the new server. It functions with XL and Word stuff.

After a bit of searching I ran the following:

C:\Inetpub\AdminScripts>adsutil set w3svc/AspAllowOutOfProcComponents True

And I got this response:

C:\Inetpub\AdminScripts>adsutil set w3svc/AspAllowOutOfProcComponents True
ASPAllowOutOfProcComponents          : (BOOLEAN) True

Then I ran: net stop iisadmin /y

and :net start w3svc
 (note I got above fix from Expert Exchange, so I did some searching before posting a new question)

Feeling pretty good with myself I ran the application again...but got the same error. Any help is appreciated!
0
Comment
Question by:aaron63
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 9

Expert Comment

by:rg20
ID: 24870648
Try this comment from
http://www.eggheadcafe.com/conversation.aspx?messageid=33862209&threadid=33829110

You changed to a 64bit OS and is trying to use a legacy 32bit OCX that
you used on Windows Server 2000. This means you must run the ASP page
with an 32bit application pool on IIS7 to be able to launch the legacy
32bit OCX.

By default, 64bit OS has 64bit application pool, and thus you see
0x80040154. The correct thing is to create a 32bit Application Pool in
IIS7 and assign it to this ASP/VB application.

This problem will not exist if you ran IIS7 on Windows Server 2008
32bit since there will be no mismatched bitness.

Since you changed OS and 64bit, you should expect additional
configuration to maintain compatibility, and even possible
incompatibility.


//David
http://w3-4u.blogspot.com
http://blogs.msdn.com/David.Wang
//
0
 
LVL 9

Assisted Solution

by:rg20
rg20 earned 100 total points
ID: 24870668
You might have the same problem if you are running win2003 on a 64 bit system.
0
 
LVL 1

Author Comment

by:aaron63
ID: 24874274
Okay...obviously this is a much more difficult problem than I first thought so I'm increasing the points to the max.

I have a Win 2003 Server Running IIS 6. I don't know why I ever chose 64 bit...well yes I do. Pure ignorance as to the compatibility issues I'd face.

Searching based on your comments I came up with the following solution (or so I thought):

To enable IIS 6 to run 32-bit worker processes follow these steps:

   1. Open a command prompt and navigate to the %systemdrive%\Inetpub\AdminScripts directory
   2. Type the following command:
      cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 true

If I set this to 'true', however, I get the following error on all webpages on my site:

%1 is not a valid Win32 application.

If I change the above setting back to 'false' everything comes back up fine (but I'm back where I started).

Now one thing I should also mention is that after I recompiled my dll I registered it with the following:

regsvr32 salesbackend.dll

Perhaps I can unregister it and register it again with something else? Would the computer have compiled it as 64 bit since I'm running 64 bit operating system?

Thanks for any help guys. Sorry for my ignorance.
0
 
LVL 1

Accepted Solution

by:
aaron63 earned 0 total points
ID: 24901414
Any more input on this question? Should I just reformat the system and start with Windows Server 2003 32 bit? Is that the best solution? If so anyone have a good link to directions on doing this (I don't suppose there is an equivalent of the Win 98 startup disk? ;)
0
 
LVL 1

Author Comment

by:aaron63
ID: 24980944
No real solution seems to exist for IE6. So I'm reformatting to 32 bit.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
This demonstration started out as a follow up to some recently posted questions on the subject of logging in: http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_28634665.html and http://www.experts-exchange.com/Programming/…
Michael from AdRem Software outlines event notifications and Automatic Corrective Actions in network monitoring. Automatic Corrective Actions are scripts, which can automatically run upon discovery of a certain undesirable condition in your network.…
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question