Deploying applications, components, and supporting files

Regardless of the type of application you are deploying, you must include any supporting files such as dynamic libraries, resources like BMP and ICO files, online Help files, and initialization files. Each application type requires a different set of supporting files. The PowerBuilder runtime files, such as pbvm125.dll and pbdwe125.dll, and PowerBuilder database interfaces such as pbsnc125.dll and pbo10125.dll, can be freely distributed with your application with no licensing fee.

Planning for deployment

Chapter 35, “Packaging an Application for Deployment,” helps you make decisions about deploying a PowerBuilder executable application, such as whether to use dynamic libraries, Pcode or machine code, and resource files. It also provides a checklist to make sure you install all the required pieces.

If you are deploying a Web application or a transaction server component, you will find the information about PowerBuilder dynamic libraries (PBDs) and PowerBuilder resource files (PBRs) in that chapter helpful. You should also read the documentation for specific types of applications, components, or plug-ins elsewhere in this book or in the book listed in Table 36-1.

Table 36-1: Additional deployment documentation

Application type

Where to find information

EAServer components

“Deploying a component to EAServer”

Application server components

The Users Guide in the PowerBuilder Application Server Plug-in documentation set.

.NET applications and components

Deploying Applications and Components to .NET

Web DataWindow and DataWindow Web control for ActiveX

DataWindow Programmers Guide

Finding information in this chapter

This chapter is intended to help you write installation programs using a third-party software package that creates installation configurations. It tells you which files each computer needs, where you can find the files, where they should be installed, and what registry settings need to be made. PowerBuilder also provides a tool, described in “PowerBuilder Runtime Packager”, to help you package the files your application needs.

Use Table 36-2 to locate information about the specific files you need to deploy with your application.

Table 36-2: PowerBuilder files required for deployment

Scenario

See these sections

All PowerBuilder client applications

“PowerBuilder runtime files”

PowerBuilder client application accessing data on a database server

“Database connections”

PowerBuilder clients for EJBs, SOAP Web services, and XML services

“PowerBuilder extensions”

PowerBuilder clients that save data in PDF or XSL-FO format

“PDF and XSL-FO export”

Web application using the DataWindow Web control for ActiveX

“DataWindow Web Control for ActiveX”

EAServer component created in PowerBuilder

“PowerBuilder components on EAServer”

Web application using Web DataWindow with EAServer

“Files required on the transaction server”

“Files required on the dynamic page server”

Installed and deployment paths

The Installed path listed after some of the tables in this chapter is the location where files are installed when you install PowerBuilder and select the default installation location. When you build an installation program for your application, you can copy files from this location to your staging area.

The Deployment path tells you where these files can be installed on the computer on which you install your application or component.

App Path registry key

Some tables are followed by a list of the Registry entries your installation program needs to make so that your application or component can find the files it needs. When an application runs on Windows, it looks for supporting files in these locations and in this order:

  1. The directory where the executable file is installed.

  2. The Windows system and Windows directories (for example, in C:\WINDOWS\system32, C:\WINDOWS\system, and C:\WINDOWS).

  3. In an application path that can be specified in the registry.

  4. In the system path.

You do not need to specify an application path, but it is recommended.

Specifying an application path

To specify the path the application uses to locate supporting files, your installation program should create an App Path key for your application in this registry location:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\
     CurrentVersion\App Paths 

Set the data value of the (Default) string value to the directory where the application is installed and create a new string value called Path that specifies the location of shared files. The following example shows a typical registry entry for an application called myapp.exe that uses SQL Anywhere. The registry key is enclosed in square brackets and is followed by string values for the key in the format "Name"="Value":

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\
   CurrentVersion\App Paths\myapp.exe]
"Default"="C:\Program Files\myapps\myapp.exe"
"Path"="C:\Program Files\myapps;C:\Program Files\
   sybase\shared\PowerBuilder;c:\program files\
   SQL Anywhere 12\win32\;"

NoteAbout REG files Registry update files that have a .REG extension can be used to import information into the registry. The format used in registry key examples in this chapter is similar to the format used in registry update files, but these examples are not intended to be used as update files. The path names in data value strings in registry update files typically use a pair of backslashes instead of a single backslash, and the “Default” string value is represented by the at sign (@).

Use the examples to help determine which registry keys your installation program should add or update.

Deploying ActiveX controls

If your application uses ActiveX controls, OLE controls, or OCX controls, you must:

If your application uses a control that is not self registering, your setup program needs to register it manually on each user’s computer. To find out whether a control is self registering, see the documentation provided with the control. Depending on the development and deployment platforms and the controls you are deploying, you might need to copy additional DLLs or license files to the Windows system directories on the target computer.