dll.net not found progId [closed]

1

I have a dll which I call from another application (desktop). Everything works correctly on my computer. The problem is when I try to perform the procedure on another team. It throws me the following message when invoking it:

  

Unable to find the specified progId file   "wsDataTransactions.dataTransactions" (progId of the dll) ...

Apparently it is something in the registry, because if I download Visual Studio and compile the project in the conflicting computer the problem disappears. Any ideas?

The dll is invoked from an ERP performed in delphi. This ERP looks for the dll in all windows, reason why in any direction it finds it always and when it is in the local equipment from which the same one is abren. I put the dll in the folder C (it could be any folder) and register the dll with regasm.exe . I run the ERP hosted on the development server, invoke the dll and the message appears that the progId can not be found. I open Visual Studio as administrator, I compile the project in the conflicting team, and I do not do anything else, I just compile. I go back to the ERP and it works.

Apparently when compiling there is some key that is created in the registry, but I can not identify which one it is. I already verified registering the dll with regasm.exe but the keys are the same in the equipment of the problem and mine.

    
asked by Omar Perez Beltran 13.01.2017 в 18:13
source

1 answer

0

From what I've read in the comments I gather, the computer you're trying to use does not have administrator permissions when registering the DLL, because you said:

  

I open visual studio as administrator , I compile the project in the conflicting team [...] I go back to the ERP and it works

What happens is that when you execute the registration instruction of the library from the client (the conflicting machine), you do it without administrator permission and it does not register.

If so, you could create a .BAT file with the following command line

REGSVR32 myDll.dll

That is on the same route as the dll and you run this as administrator. in this way the Dll is already registered.

Try it and see if it worked.

    
answered by 13.01.2017 в 19:03