Powerbuilder Application Execution Error R0035 «No Login»
Error R0035 is a runtime execution error that occurs when a PowerBuilder application fails to start or crashes during initialization. The full error message typically reads:
Application Execution Error (R0035) "Application terminated. Error: Failed to load requested PowerBuilder dynamic library."
Alternatively, you might see:
"Unable to load the requested PowerBuilder VM."
This error indicates that the PowerBuilder Virtual Machine (PBVM) or a critical DLL dependency required to run the compiled PowerBuilder application (EXE or PBD) is missing, corrupt, or inaccessible.
Error R0035 is a runtime execution error in PowerBuilder applications. It typically occurs when the PowerBuilder runtime engine cannot locate or load a required PowerBuilder resource file (PBR) or when there is a mismatch between the compiled application and the runtime environment. powerbuilder application execution error r0035
The full error message usually reads:
PowerBuilder Application Execution Error (R0035) Application terminated. Unable to find required PBR file.
or simply:
R0035: Unable to locate the application's resource file.
The PowerBuilder Application Execution Error R0035 is fundamentally a library resolution failure. While the error message is terse, the underlying causes are traceable: missing files, bad paths, version mismatches, permissions, or network hiccups. Error R0035 is a runtime execution error that
By methodically checking the library list, validating runtime versions, using Process Monitor, and deploying a robust runtime environment, you can both fix and prevent R0035. For modern deployments, consider containerization or migrating to PowerBuilder 2022 which offers better error reporting and 64-bit support.
If you are maintaining a legacy PowerBuilder app, document the exact PBD dependency tree and automate the validation as part of your deployment pipeline. Your help desk—and your users—will thank you.
| Cause | Description |
|-------|-------------|
| Missing PBVM DLL | The core pbvm*.dll (e.g., pbvm170.dll, pbvm125.dll) is not in the system path or application directory. |
| Wrong DLL version | The installed runtime files do not match the PowerBuilder version used to compile the app. |
| Missing runtime files | Other required files like libjcc.dll, pbdwe*.dll, or pbrtc*.dll are absent. |
| PATH environment issue | The system PATH does not include the directory containing PowerBuilder runtime DLLs. |
| 64-bit vs 32-bit mismatch | The application is 32-bit, but the runtime is 64-bit (or vice versa). |
| Dependency corruption | A required C++ runtime or Windows system DLL is damaged. |
If you are a developer maintaining legacy enterprise systems or an IT professional supporting desktop applications, you have likely encountered the cryptic and frustrating PowerBuilder Application Execution Error R0035.
This error typically appears as a pop-up dialog box when attempting to launch a PowerBuilder compiled executable (EXE) or during the initialization of a PowerBuilder runtime environment. The message usually reads: Alternatively, you might see:
PowerBuilder Application Execution Error (R0035) Application terminated. Unable to load one or more required PBD files.
This error halts the application immediately, preventing end-users from accessing critical business functions. In this long-form guide, we will dissect the root causes of the R0035 error, explore the environment in which it occurs, and provide step-by-step solutions for developers, system administrators, and end-users.
Since R0035 is a runtime error that crashes the application, you should wrap your external function calls in a TRY-CATCH block to handle the error gracefully and get more info.
OLEObject lole_myobj
Integer li_result
lole_myobj = CREATE OLEObject
li_result = lole_myobj.ConnectToNewObject("MyApplication.Control")
IF li_result <> 0 THEN
MessageBox("Error", "Could not create object: " + String(li_result))
RETURN
END IF
TRY
// This is the line causing R0035
lole_myobj.MyFunction("Parameter1")
CATCH (RuntimeObjectError err)
MessageBox("External Object Error", &
"Error calling MyFunction: " + err.getText() + "~r~n" + &
"Error Number: " + String(err.Number))
FINALLY
lole_myobj.DisconnectObject()
DESTROY lole_myobj
END TRY
Older PowerBuilder versions (pre-2019) are strictly 32-bit. If you deploy to a 64-bit system and place PBDs in C:\Program Files (which redirects to C:\Program Files (x86) for 32-bit apps), path redirection can confuse the PBVM.
In PowerBuilder, the library list is stored inside the EXE at compile time. If the developer compiled the EXE with absolute paths (e.g., C:\Projects\MyApp\libs\data.pbd), but the application is deployed to D:\Apps\MyApp\libs\data.pbd, the runtime won’t find it.