Symptom
Sometimes, when running the deployed EXE application or executing it within the PowerBuilder IDE, various issues may occur, including but not limited to improper functionality or unexpected crashes. In such cases, these issues often share a common characteristic: the application runs correctly on some machines, while it encounters problems on others.
Environment
PowerBuilder 2017 or later
Cause
PowerBuilder IDE or the deployed EXE application has loaded the wrong PowerBuilder Runtime DLLs.
This issue can occur, for example, when the matching PowerBuilder Runtime is not installed on the machine, or when DLL files with mismatched versions are manually placed in the directory where the EXE is located or the Windows System directory.
Resolution
Use the Microsoft Process Monitor tool to inspect the PowerBuilder Runtime DLLs loaded by the PowerBuilder IDE or the deployed EXE application. You can refer to the instructions below:
1). Download Microsoft Process Monitor from https://docs.microsoft.com/en-us/sysinternals/downloads/procmon.
2). Run Process Monitor by executing Procmon64.exe.
3). Set up filters in Process Monitor:
• If you are running an application in 32-bit mode in PowerBuilder IDE 2022, set the process name filter to “PB220.exe”.
• If you are running an application in 64-bit mode in PowerBuilder IDE 2022, also add “pb220debugservice_x64.exe” to the filter.
• If you are directly running a deployed EXE application, set the process name to your application's executable (e.g., yourapp.exe).
Refer to the screenshot below for reference:
4). Run the PowerBuilder IDE or yourapp.exe program on the machine.
5). Verify that Process Monitor starts capturing events—it should show a high volume of activity.
6). Reproduce the issue by testing the feature that triggers the issue.
7). Stop monitoring by clicking "Capture" on the Process Monitor toolbar.
8). Scroll to the last record line and open the “Properties” window from the right-click menu. On the Process tab, you can view the currently loaded modules. Pay particular attention to the version numbers of the PB*.dll files.
9). If the loaded PB*.dll files do not match the expected version, they are incorrect. The DLL versions must match the version of the PowerBuilder runtime (e.g., both should be 22.2.0.3397). If your application runs properly on some machines but fails on others, we recommend running Process Monitor on both machines and comparing the results to identify discrepancies.
You can also export the results from Process Monitor by navigating to File → Save, using the default settings to save the log as a .pml file. Then, send the logfile.pml to Appeon Support for assistance.