-2

I have been asked to rewrite a website that was written in VBScript

I am now writing it in C#

On the old VBScript code they are creating a graphing object from this line of code

Set Chart = Server.CreateObject("csDrawGraph.Draw")

I assume that would be the name of the .dll file or is that incorrect? How do I go about finding that .dll file on the server so that I can then add a reference to it and use that in my C# code?

I have tried searching for csDrawGraph.Draw as well as csDrawGraph.Draw.dll in C:\Windows.System32 as well as the "wwwroot" folder and the GAC

7
  • 1
    open google and do a search for : "csDrawGraph" vbscript : but I would highly suggest looking into an alternative if you are switching languages. Commented Jan 29 at 23:47
  • CreateObject creates a COM object (in this case, most likely an ActiveX control). There is not necessarily any correlation between the name of that object and the DLL that contains it. Commented Jan 30 at 2:00
  • You'll have to search in the registry to find that entry. That will point you to the location of the dll Commented Jan 30 at 6:54
  • 1
    stackoverflow.com/a/35985827/1682881 See the section What If You Don't Know Where the DLL Is Located? Commented Jan 30 at 7:42
  • 2
    @user692942: Read what I wrote again. I said nothing about a GUID or a ProgID. I said the DLL name and the COM object name. A DLL named SomeDumbDLL.DLL can contain a COM object whose registered name is WorldsSmartestObject - clearly there is no correlation between the DLL name and COM object name. You can't juse read the code, see the name of that COM object, and say Oh, that must be in a DLL named *WorldsSmartest.DLL, which was exactly what I said and intended to convey. The OP mentions some searches they had done in the filesystem for DLLs, and I told them that wouldn't work. Commented Jan 30 at 15:57

1 Answer 1

2

I did in fact find it through the registry. It took a bit because once I found the key to it in HKEY_CLASSES_ROOT I did not see it in HKEY_CLASSES_ROOT > CLSID. So I did a search for the key in the Registry search and found it in HKEY_CLASSES_ROOT > Wow6432Node > CLSID. From there I was able to create a wrapper DLL, place that in my bin directory and then add a reference to it.

Sign up to request clarification or add additional context in comments.

1 Comment

That's because it's registered in the 32-bit registry, the existing answer goes on to talk about that as well.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.