2

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.

Hugh Brackett
  • 2,706
  • 14
  • 21
Ahmad Hajou
  • 1,289
  • 5
  • 22
  • 39

3 Answers3

8

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.

Terry
  • 6,160
  • 17
  • 16
  • 2
    I managed to contact the developer and get the DLLs following some bureaucratic procedures. But I have to add here, this is below standard for a technology provider, no wonder nobody is using PowerBuilder anymore. – Ahmad Hajou Nov 30 '10 at 07:30
  • Ahmad, you are correct as described that would be below standard for a technology provider. I respectfully disagree with the main point of this answer, that minor versions of the runtime need to match exactly to that of what the executable was built. See my answer below. – Rich Bianco Dec 03 '10 at 10:42
  • 2
    @Ahmad: Sorry you're frustrated, but I've had the same problem with Visual C run times. I don't think this problem is unique to PowerBuilder, nor is it anything new. .NET does a lot to alleviate this issue, but in doing so it creates a bunch of others. People are still working to make everything work right, work together, etc... – Terry Dec 06 '10 at 19:33
  • Is this always the problem with compiled code, I'm used to managed code through C# and Java thats y i find this issue unacceptable. – Ahmad Hajou Dec 23 '10 at 10:25
0

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.

0

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.

Rich Bianco
  • 4,141
  • 3
  • 29
  • 48
  • 2
    And I respectfully disagree with your answer in general. I've seen too many wierd problems caused by using a different build number of the runtime from what the release was built with. While it's true that any reasonably-close VM version can launch the application, that doesn't mean it will work correctly. Typical problems include crashes, and "Nothing happens when I click ..." BTW, Terry knows as much about the different releases of PB as anyone on Stack Overflow. – Hugh Brackett Dec 03 '10 at 16:34
  • 2
    @DG I can tell you this much: aside from the hundreds of issues (doing tech support with Sybase) I've dealt with that were traced down to DLL version conflicts (these don't occur across major versions because of naming conventions, but across build versions), Sybase tech support won't support you if you're mixing your versions; they consider it a mistake. I've seen people do it and get away with it, but they were in the vast minority of the cases I've seen. I'm glad you're in that minority. – Terry Dec 06 '10 at 19:38
  • @Terry After further review, I retract my disagreement. Even though I have not personally experienced problems with minor releases, Sybase specifically states that you should use the exact version. I apologize for misleading anyone. – Rich Bianco Dec 15 '10 at 04:57
  • I think that the problem is that this platform is not designed with the internet in mind, it was designed back then when CDs were popular (just copy all the runtime DLLs and your code on a CD and you get a guarantee it will work on any PC.) – Ahmad Hajou Dec 23 '10 at 10:28