PowerBuilder Compiler (PBC) is integrated into PBAutoBuild and the PBC executable file (pbc250.exe) is no longer provided in PowerBuilder 2025.
The parameters supported by PBC will be kept unchanged and supported in exactly the same way as before by PBAutoBuild. You only need to add /pbc parameter to the PBAutoBuild command (to switch to the PBC approach).
That is to say, you need to replace "pbc220" or "pbc250" with "pbautobuild250 /pbc" and leave the other parameters unchanged. For example,
-
To compile a project using PBC:
You need to modify the following command:
pbc250 /c pbwfile or pbtfile [/compilemode]
To this command:
pbautobuild250 /pbc /c pbwfile or pbtfile [/compilemode] //include /pbc to switch to the PBC approach, the other parameters remain unchanged
-
To deploy a project using PBC:
You need to modify the following command:
pbc250 /d pbwfile or pbtfile [/compilemode] [/options]
To this command:
pbautobuild250 /pbc /d pbwfile or pbtfile [/compilemode] [/options] //include /pbc to switch to the PBC approach, the other parameters remain unchanged
After integrating PBC into PBAutoBuild, you must include the /pbc parameter if you want to build the project using the PBC approach, otherwise (if /pbc is not specified), the project will be built with the PBAutoBuild approach (the default mode).
For detailed information, refer to the section called “PBAutoBuild supported parameters” in Users Guide.
For PowerServer/PowerClient projects, PBAutoBuild supports deploying only, allowing you to skip the compilation process.
If the project has been compiled before, you can use the /deploy parameter to bypass compilation.
For example,
PBAutoBuild250 /f c:\SalesDemo_cloud.json /deploy
If SalesDemo_cloud.json contains configurations for multiple projects, then every project will be deployed only (without being compiled or built again).
The PowerBuilder CloudPro and Professional editions support a new project type called .NET DataStore project. You can use this project to convert DataWindows to .NET DataStore models and generate controllers and services from the models.
A C# solution will be generated automatically to hold the .NET DataStore models and the services and controllers when you build the .NET DataStore project. You can compile and run the C# solution to expose the Retrieve and Update services as standard RESTFul Web APIs, and then call these APIs from other programming languages such as PowerScript. You can complete all these steps (including compiling the C# solution) in the PowerBuilder IDE (without needing to use SnapDevelop or other C# editor).
For more information, refer to the section called “Working with a .NET DataStore project” in Users Guide.
The PowerBuilder RESTClient object is added with the following functions in order to support the DataWindow to interact with the .NET DataStore model via the APIs:
-
RetrieveWithModel -- Retrieves data for one DataWindow, DataWindowChild, or DataStore using the .NET DataStore Web API.
-
UpdateWithModel -- Updates data for one DataWindow, DataWindowChild, or DataStore using the .NET DataStore Web API, and commits changes to the database automatically if succeed, otherwise, rolls back the changes automatically.
-
RetrieveOrUpdateWithModels -- Retrieves or updates data for more than one DataWindow, DataWindowChild, or DataStore using the .NET DataStore Web API, and commits changes to the database automatically if all succeed, otherwise rolls back all of the changes if any DataWindow failed. It has a new parameter called BatchDataObjects to group multiple DataWindow/DataStore/DataWindowChild objects for batch processing.
The DataWindow/DataStore/DataWindowChild used at both the front-end and back-end is identical, and the DataObject is automatically assigned to the function (no need to specify the DataObject as a separate parameter).
There is mo need for manual data packaging, that is, manually packing and unpacking the JSON data for transmission between front-end and back-end. Import/export of data are completed automatically.
BatchDataObjectss is a new object to work with RESTClient to perform retrieve/update operations for multiple DataWindows at one time (so as to enhance performance in the front-end and back-end interactions):
-
AddRetrieveObject -- Adds DataWindow/DataStore/DataWindowChild objects that need to retrieve data.
-
AddUpdateObject -- Adds DataWindow/DataStore/DataWindowChild objects that need to update data.
-
GetCount -- Gets the total number of DataWindow/DataStore/DataWindowChild objects (including retrieve and update) in BatchDataObjects.
-
GetErrorIndex -- Gets the index of the DataWindow/DataStore/DataWindowChild object where error occurs.
-
GetSQLDBCode -- Gets the SQLDBCode of the DataWindow/DataStore/DataWindowChild object where error occurs.
-
GetSQLErrText -- Gets the SQLErrText of the DataWindow/DataStore/DataWindowChild object where error occurs.
-
Reset -- Resets the BatchDataObjects object to the initial state.
-
SetAdditionalData -- Sets the additional string data to be added to the request.
-
GetResponseAdditionalData -- Gets the additional string data in the response.
The PowerClient project painter has been changed to have a consistent layout and style as the PowerServer project painter.
Most of the settings remain the same as before, except that
-
The FTP deployment method is removed from the PowerClient project painter. You can choose to transfer files via a third-party FTP client (such as FileZilla).
-
The ignore server certificate option is added in the PowerClient project painter. For more, refer to the section called “Security page” in Users Guide.
To work with the new layout, refer to the section called “Defining a PowerClient project” in Users Guide.
At the same time, the layout and style of the Server Profile window and the Cloud App Launcher Profile window have also been updated and standardized so that the PowerClient and PowerServer projects can use the same window now.
In 2025, all product features that require .NET Framework have been upgraded to work with .NET 8.0, with the exception of the Blob control for DataWindow and the PowerBuilder Runtime Packager.
If .NET 8 is not detected on your development machine, the PowerBuilder Installer will attempt to install it for you.