3

I've copied (not installed) a system developed with Powerbuilder, from a salvaged hard drive. I want to run the application, but of course, it asks for several DLLs and stuff like that, which are not registered in my current system.

My question: is there a procedure to install a "powerbuilder runtime", so to say, in order to run the application?

Hugh Brackett
  • 2,706
  • 14
  • 21
dariopy
  • 568
  • 1
  • 7
  • 18

6 Answers6

4

So, there's a couple of parts to your question. First one is to define the list of DLLs required. The "Application Techniques" manual walks you through the requirements of your application (e.g. do you use a rich text control?) and lets you build a list of required DLLs. If you don't have the manual on your hard drive or on a CD, you can get it from the Sybase manuals site, looking at Archived Products for PB8.

Next, you asked if you have to do anything in particular to "register" the DLLs. The answer is, technically, no. The key is that Windows has to be able to "find" the DLLs when an application "asks" for them. Quite often developers will put the DLLs in the same directory as the application and hope all goes well after that. Microsoft advocates the use of App Paths in the registry. Just open up RegEdit and do a find on "App Paths" for examples. It's quite simple, just a semicolon-delimited list of directories. Windows searches down this list before it goes any place else. Creating this entry and putting your DLLs in one of these directories will ensure Windows can find your DLLs. (As you can tell from the Microsoft-only reference, this is generic Windows, not PB-specific. This is good knowledge to have under your belt for general Windows troubleshooting.)

Good luck,

Terry.

Terry
  • 6,160
  • 17
  • 16
3

Admittedly I know nothing about PowerBuilder, but I'd try Dependency Walker to see which dlls are required by the program.

dschulz
  • 4,666
  • 1
  • 31
  • 31
2

Two questions.

  1. What version of Powerbuilder was the app written in?

  2. Give us a list of the DLL's which are missing according to the error messages.

In most cases, the DLL's are present in the application directory but they could also be in the Windows\System32 directory.

Make a list of the missing DLL's and search the old hard drive to see if you can find them. If so, copy them to the new application directory and try the app again.

psant
  • 136
  • 1
  • Copying the DLLs (which were there, in a "shared" folder, as you mentioned) pretty much solved the issue of running the app. Of course, the general issue of whether I can install some sort of PB runtime remains, but I consider my problem solved. – dariopy May 14 '10 at 14:01
  • Copying everything in the "shared" folder copies over DLLs that aren't run time (e.g. DLLs that run the IDE) that *techically* you're not licensed to deploy. OK, not licensed in any way, shape or form. Now, I don't think the Sybase ninjas (now a division of the SAP ninja army *grin*) will come breaking through your door any time soon, but in addition to inflating your footprint beyond what you need, you might want to look at paring that list down. – Terry May 14 '10 at 16:51
  • I appreciate the advice, Terry. But I'm not planning to deploy anything; I was just doing a forensic operation, as I stated in the question. Thanks anyway! – dariopy May 17 '10 at 14:14
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 haven't done PB in a long time ( PB 6.5/7/8 days ) but back then the runtime was pretty straight forward. You had a handful of Win32/PE Dll's ( no COM ) that you could deploy privately with your application. Several were always required and several depended on what objects you created ( ODCB vs PB Native Database drivers, RichText Controls and so on ). It was always pretty easy to profile the application and see which DLL's it was looking for.

Modern versions of PB seem to be crossing over into the .NET world so you might have to install the .NET framework. If so, 3.5SP1 is probably a safe bet.

That's about the best answer I can give without actually having a copy of your app and a copy of PB.

Christopher Painter
  • 54,556
  • 6
  • 63
  • 100
0

Installing Powerbuilder will add on the missing dlls, which is why your issue seems resolved. As mentioned above, each PB installation might be subject to licensing. An option could be to have each workstation running the application directly from the server location. I would suggest setting up an icon on the workstation desktop for this purpose. Please be aware that running the application this way can cause speed issues. PB applications look for dlls in the application folder. An error message is displayed when any are found missing. Run a Google Search for the missing dll. More often than not you will find a copy online.

Steph Bee
  • 1
  • 3