PowerBuilder IDE crashes when trying to insert an OLE control

Symptom

PowerBuilder IDE crashes when trying to insert an OLE control from the main menu Insert>Control>OLE…

Environment

PowerBuilder

Reproducing the Issue

1. Open any or create a new workspace, and then open any window in layout mode.

2. In main menu select Insert>Control>OLE so the Insert Object window appears.

3. Click on Insert Control tab in this window and then PowerBuilder crashes.

Cause

This should be related to the environment and one of the most common causes is probably that there are some certain registered OLE controls on the machine.

Solution

On the machine that has the crash problem, do the following:

1. Download and install the Microsoft Process Monitor from https://docs.microsoft.com/en-us/sysinternals/downloads/procmon.

2. Launch PowerBuilder.

3. Run Process Monitor.

4. Select the PBxxx.exe (e.g. PB170.exe) of the PowerBuilder that has the crash issue as the Process Name in the Process Monitor Filter window in Process Monitor (see the below figure).


5. Reproduce the issue in PowerBuilder (e.g. PowerBuilder 2017) and stop when PowerBuilder crashes.  

6. In Process Monitor, Unchecked File>Capture Event to stop monitoring.

7. Now you may see many data captured in Process Monitor and there are many data about controls if you scroll down. Copy the CLSID of the very last control (see the first figure below) and then find the corresponding DLL in the REGEDIT.exe (see the second figure below).



8. Unregister the DLL in CMD by executing regsvr32.exe –u (e.g. regsvr32.exe  -u  "C:\Program Files (x86)\alipay\aliedit\5.1.0.3754\aliedit.dll").

9. Relaunch PowerBuilder and see if the problem can be gone. If there is still the problem, please repeat Step 2 to Step 8 until you get all the related DLLs unregistered.