1

I'd like to know how can I know which dll is invoked in "my" ASP page.

I saw in the code that there's a method who invoke a MyName.dll.

So I would know where I can find it?

Moreover I saw that in this path: C:\Inetpub\Dll\ there are 5 folders that represent 5 different release of the same dll (in every folder there are many files and 1 of them is MyName.dll of the project every with the same name but different release)

while in C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 there is MyName.dll (but when I put the mouse over it I can see that the release is 1.0.0 so I thought that it is an old verion)

I feel very confused! I hope that somebody could give me an hand to resolve it.

Regards!

pnuts
  • 58,317
  • 11
  • 87
  • 139
  • 2
    Is this definitely classic asp or is it asp.net? – John Oct 19 '15 at 13:02
  • Hi John, my pages are .asp but the dll (where there's the method who invoke a web service) is written in C#. I took this site from previous developers. Could be useful this? thanks!!! – Francesco L. Oct 19 '15 at 13:07
  • If it's classic I'd think it would be whichever version of the dll has been registered. There may be clues in this question - http://stackoverflow.com/questions/689072/how-to-check-if-a-dll-file-is-registered – John Oct 19 '15 at 13:32
  • I tried and I found in the registry all 5th dll's that I have in the path C:\Inetpub\Dll\... (in registry I've folders named 1.4.4.0, 1.4.4.1, 1.4.4.3... ) so my question is: which dll I need to modify if it seems that all of them are registered? – Francesco L. Oct 19 '15 at 14:07
  • 2
    If you are using Classic ASP then you will calling the DLL through a `Server.CreateObject()` call at which point you usually specify a `ProgId`, for example `"Scripting.FileSystemObject"`. What is the `ProgId` you are trying to locate? Once you have it, you can use the Registry to identify the DLL that is registered against that `ProgId`. – user692942 Oct 19 '15 at 16:24
  • Yes, I'm using ASP Classic; in particular in code there's var app= Server.CreateObject("NameDll.MethodDll"); and in MethodDll there is a method to invoke a WebService. So the problem is where I can found NameDll? I've many release of it in C:\Inetpub\Dll\.. with the same name so I don't know which of them was called by the page. Thanks – Francesco L. Oct 20 '15 at 07:10
  • Calling a web service is completely different to calling a DLL. – Paul Oct 20 '15 at 08:47
  • Yes Paul, I know it, but I mean that in dll there is a method who needs to invoke a web service, that's all. I desire only know which dll I need to modify :/ – Francesco L. Oct 20 '15 at 08:51
  • 1
    Search the registry for the DLL name. – Paul Oct 20 '15 at 09:06
  • Couldn't you just register the version you want to use - that should override any previous registration – John Oct 20 '15 at 13:30
  • I solved the problem with Microsoft's Process Monitor. I lunched the page and I saw the net traffic; I analyzed it and I knew which dll is invoked. Now I would ask you this: if I modify this dll and I'll recompile it I need to registrate it? (With modifing I mean I would just change the Web Server URL). And if I need to register this new dll and for some reason something goes wrong, I'll be able to restore the old dll? Thanks a lot! – Francesco L. Oct 21 '15 at 13:24
  • Yes, whichever dll you registered most recently will be the one which is used, so you can re-register an old dll if necessary, If you're recompiling then it's a good idea to keep a back up copy. (obviously). – John Oct 24 '15 at 14:24

0 Answers0