I have web service that imports "xx.dll" written in c++. This
"xx.dll" make a connect to the MapPoint activex and return some data
from MapPoint. Everything works fine in development environment, but
when I deploy to IIS, then I'm getting "External component has thrown
an exception". I did a trace in "xx.dll" and I find out that everything
stops on call "MapPointApp->Connect()".
I think it could be problem with permissions in IIS, but I don't know what
Thanks,
Miran

Web service that calls methods from imported dll doesn't work on IIS but it woks on development environment.
Mild Bill
I'm using visual studio 2005 and delphi 2006 for development. In visual studio and in delphi you have special web server for debugging that starts when you start debugging web service, so if I use whichever with integrated web server it works fine. But if I use IIS server for debugging insted of integrated one, then I'm getting the error mentioned before. So under IIS it doesn't work if I debug or deploy this web service.
For dev. box I'm using XP and I tried to modify <processModel> parameter and there was no difference after that. I don't know maybe is this more IIS related then .NET. I'm not to good in ASP maybe I should try to call the same DLL directly from ASP, to see if i'm getting the same error. What do you think, do you have any other suggestion Maybe yo change permissions on path where Map Point is in staled
Thanks,
Miran Drgajner
Prashant Kumar Nayak
Hello Mirand,
You said that this all works from your Development environment. Can you elaborate about that Did it work within IIS on your development machine What OS is your dev box running Or are you stating that it works while you're within the VS.NET debugger
Note that if you're creating a web service to do this and you want to change the identity of the process then for XP/2000 machines you'll have to modify the <processModel> element of the machine.config file. For Win2003 you just need to change the identity of the Application Pool hosting your web site.
Post back more details if you're still stuck with this.
-Todd Foust
scubabeme
<processModel>touserName="SYSTEM"andpassword="AutoGenerate"aspnet_wp.exe still runs under ASPNET accountMiran
Nestor Dominguez
Miran
DavePS
When I set <identity impersonate="true"/> and I used appropriate account then it works.
Miran
Drummos
now i we have a problem on Windows 2003, we made a custom user, which is set in application pool indetity, wenn we try too run the application we get Server execution failed
Can't create a mappoint object , but if we log on the server as the custom user it all ok
Luka
bambag
That change would require an IIS reset. Open a command prompt and type in "iisreset" without quotes. Then browse to ASPX page again and then you should see the aspnet_wp.exe process startup as the correctly configured identity in the machine.config file. (This applies to XP and 2000 only, for Windows 2003, you configure this by changing the identity of the application pools).
hth
-Todd
Alexandra Muller
Hello Miran,
Asp.net pages, including web services, do NOT impersonate by default, so they will execute under the security token and context of the process identity. You stated that you changed the <processModel>'s username and password attributes. Did you see the aspnet_wp.exe process launch correctly as the user you configured
To enable impersonation then you would need to have <identity impersonate="true"/> within your web.config file. What this means is that ASP.NET will impersonate the identity passed to it from IIS. So the identity that the request executes as whatever you have configured within IIS security. If part of your troubleshooting is to change the <processModel> tag of the machine.config then also make sure that you are NOT impersonating within the web.config file.
I agree that you would need to review this MapPointApp->Connect() method. What does it do Is there a requirement within the policy (secpol.msc) that is needed to call it Do you think it's simple file or registry permissions problems Download and use Filemon and Regmon while reproducing the error to see if you are getting any Access Denied errors in the failing case as compared to the working case.
If you need further assistance please call into our support and we can debug it further with you: 1-800-936-5800
Barry Crawford
You have to check what are the permissions required in order to make a call to the Connect method.
IIS is running by default with a low permission account called ASPNET, you can change that to a higer permission account to test if that's the problem.
Good luck,