lkathir has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I am very new to Perl. We are using one of the programs where it checks for various system resources. It is an perl exe. This is deployed on several windows servers and on almost all of them we receive this error very randomly. I dont have access to the source code of perl, all I have is the exe and bunch of DLLs it uses. Pls help me understand what this error is "Cant load 'C:\WINNT\TEMP/Registry.dll' for module Win32API::Registry: load_file: The process cannot access the file because it is being used by another process at PERL2EXE_STORAGE.DynaLoader.pm line 206 Compilation failed in require at PERLEXE_STORAGE/win32/TieRegistry.pm. .... .... .... " Thanks, Kathir
  • Comment on Cant Load Registry.DLL for module Wind32API::Registry

Replies are listed 'Best First'.
Re: Cant Load Registry.DLL for module Wind32API::Registry (perl2exe--)
by tye (Sage) on Feb 02, 2005 at 22:06 UTC

    You appear to be using some "pack up a bunch of files into something that pretends to be an *.exe" hack. Whichever hack that is (ah, I see "perl2exe" it is) appears to not handle the pretend *.exe from being used twice at the same time.

    Whoever gave you the pretend *.exe should instead give you a real copy of Perl and this problem will go away.

    - tye        

      Thanks a lot tye, You are right, it seems to be a perl2exe. But all the DLLs it uses are in the same directory as the exe, but I am not sure why it should fail saying cant load DLL from c:\windows\temp directory, also since I dont have access to the source code, is there any way it can decompiled from the exe itself? -Kathir