2
votes

I wish to run a powerbuilder application but I cannot find the runtime environment to run it.

Running the exe file returns the following error: "This application failed to start because pbvm105.dll was not found. Re-installing the application may fix this problem."

The "Inter Name" property of the exe application is: "PB 10.5", so I'm assuming that it should use powerbuilder runtime 10.5. However I cant seem to find this anywhere on the internet.

Please let me know if the required files are free (I assume that the runtime is free), and where to download them.

Thank you in advance.

3

3 Answers

8
votes

So, you're right that license for a developer to distribute the PB run time is free. However, I'm afraid the rest isn't as easy as you may be thinking.

First problem is that not only do you have to match the run time versions down to the minor version level (e.g. 10.5), but down to the build level (e.g. 10.5.2.7826). Another complicating factor discerning the build level is that the properties that I believe you're looking at can be manipulated prior to the build of the executables, so those attributes may or may not reflect reality.

The second problem is distribution. The intention was/is that developers distribute their own run times, so they can include the correct DLLs necessary for the functionality implemented, the correct version, etc.... There isn't a mechanism for end users (AFAIK) to go somewhere and say: I have an app from 10.5.2.7826 that uses DataWindows, rich text, XML and web services; please give me the corresponding DLLs. The intended mechanism is that the DLLs come from the development environment where the application was built.

Even if you were to go to the lengths of getting your hands on a PB 10.5 environment, and correctly knew which version to patch to, there's additional problems getting patches (not insurmountable, but a PITA worth noting). Due to both this version (10.5) no longer being supported, and to a conflict with the former third party provider for the ODBC drivers for PB 10.5, the patches aren't freely downloadable. You have to contact Sybase tech support to get these patches.

Bottom line: The way this should be done is to get the run time DLLs from the developer. Failing that, I'm not aware of any other route (legal, official) that getting a copy of PowerBuilder, patching it and harvesting the DLLs yourself.

The cynical bottom line: The developer that didn't bundle the DLLs with the executable: epic fail. <grin>

Good luck,

Terry.

0
votes

I respectfully disagree with the prior answer in general. I do agree with points made in it and it is always best practice to run the exact same version run-times as the executable was built. In reality it was quite common to see differences in run-time versions than used by the developer to build the executable. There may have been different IT departments releasing different applications without properly communicating (real-world), or purchased PB applications compiled in the same major version. It was a problem at the height of PB popularity, and when you did have a problem it was a nightmare. But problems were rare and the exception. It wasn't uncommon to find multiple versions of run-times (different locations in the path) on a user machine, and sadly on developer machines too.

The prior answerer may not have been aware that version 10.0 and version 10.5 are major releases and that is why they are not compatible. With PB it isn't safe to assume the first number uniquely identifies a "major" release.

The prior answerer has some good points and is correct about the fact that getting 10.5 run-times might be challenging as they aren't available (or not easily found) on Sybase site the most recent I found were version 11. Plus if the application was part of an installation package then there may be ODBC entries (native connectivity is more likely but the client libraries are pre-requisites) registry entries, or other pre-requisites missing. In reality the chances that pre-requisites exist are probably high if it is a corporate application. (e.g. Oracle Client, Sybase Client, interface applications) so getting your run-times is no guarantee the program will work as designed.

I may not have taken the time to post this if I hadn't seen the OP's comment that "implies" PB is a bad programming tool because it is so inflexible with not allowing minor mis-matches in run-time files is one that I hate to see. PB in my mind is still the best tool for building business applications, but it has taken some un-deserved beatings over the years for various issues, whether it be poor performance (usually tied to poor programming) or issues like this that come from misunderstandings.

As long as what you need can legally be shared, you may contact me if you'd like and I'll help you get what you need, I have runtime libraries for just about every version back to version 3.

0
votes

I have PB 12.0 and I tried to get the runtime packager to work (You require Powerbuilder installed for this). I tried EVERYTHING (Except what would actually work apparently).

Sybase wanted a tech support license which was the price of PB again so I just figured it out.

/*************************************************\ I had to install PB Eval version to get the application to work. I didn't need the license and it could expire and still run. *************************************************/

This was especially useful as I am the developer for a company with 30 workstations that use my program. I just have to install and forget a defunct PB (Same 12.0 version of course). This was the only way I could get it to work.