When accessed from a separate folder via a batch file, PBSHR120.DLL appears to be absent or damaged

1
0
-1

PBv12.1, b7055
Windows 7, 64 bit platform
Client/server app

Normally, we run our main app from a batch file, which consists of:   
--- add the Class Libraries

     set path=%path%;J:\QualityAssurance\csgi12\Common\Common_0193\exe
   --- add the runtime DLLs
     set path=%path%;J:\QualityAssurance\csgi12\Resources
   --- add the Help files
      set path=%path%;J:\QualityAssurance\csgi12\Resources\Help
   --- change the current directory to where the code resides and run the app
      cd J:\QualityAssurance\csgi12\ICABS\zICABS4_4_b0151_R#685146\complete
      start icabs4_4.exe

Today, out of the clear blue sky, one tabpage of one module in my app started failing when the app was run from the batch file.
If you place all of the required files into a single folder and run the app by double-clicking the EXE, everything works correctly.

By process of elimination, I found that if I put a copy of PBSHR120.DLL in with my application code, everything works correctly even when the app is started from the batch file. This would seem to indicate that the PBSHR120.DLL in the referenced folder is damaged; except that the copy in with the code was copied from the referenced folder. Which would seem to indicate that the DLL is just fine, thank you very much.

I've tried:
1) Replacing the PBSHR120.DLL in the Resources folder. The error still occurs.
2) Creating a new Resources folder, copying all of the required files from a different folder (the Production folder) into that new folder and pointing the batch file to that new folder. The error still occurs.
3) Referencing the production folders instead of the development folders in the batch file. The error still occurs.
4) Restarting  PowerBuilder. The error still occurs.
5) Restarting the VM. The error still occurs.
6) Adding the new Resources folder to the PATH variable. The error still occurs.


My work-around is to simply place a copy of PBSHR120.DLL in with my application code.
 
Any ideas on what might be causing this behavior of this ONE runtime DLL?

Question Tags: 

Answers

Matt Balent answered When accessed from a separate folder via a batch file, PBSHR120.DLL appears to be absent or damaged

1
0
-1

...out of the clear blue sky...

Did some permissions get changed?

 

Olan Knight's picture

Good idea, but all of the copies are NOT marked as read only and they all have RWE privileges assigned to me.

Thank You,
Olan

Roland Smith answered When accessed from a separate folder via a batch file, PBSHR120.DLL appears to be absent or damaged

1
0
-1

I would install FileLocator Lite and use it to look for multiple copies:

https://www.mythicsoft.com/filelocatorlite/download/

 

Olan Knight's picture

There are multiple instances of this DLL on the various drives. I'll check the PATH tomorrow.
Thanks, Roland!

 

Daryl Foster answered When accessed from a separate folder via a batch file, PBSHR120.DLL appears to be absent or damaged

1
0
-1

In the past I've used Process Monitor (https://docs.microsoft.com/en-us/sysinternals/downloads/procmon) to see exactly which dlls and files my applications is using.  It might be worth running that to see if the version of PBSHR120.DLL you think is being used is the one actually being used.