Bug 6374

Compiled application looks for runtime in Common Appeon folder, while Runtime Packager installs in Shared 08 April, 2021

Chris Tillman
31 March, 2021
Product: PowerBuilder Category: PowerBuilder Runtime
Version: 2019 R3 Build: 2670
Classification: Publishing: Public
Priority: P2
Status: Verifying Reason:
Communication Status: Waiting for Customer
Ken Guo @Appeon 08 April, 2021
#17
Hi Chris Tillman,

Glad to hear that the reinstallation fixed this issue. Normally, the installation of PowerBuilderRuntime.exe would not corrupt the PB IDE. We have not reproduced this issue locally but we will continue to monitor the situation internally to see if it can be reproduced.

For Runtime Packager, since we support PB IDE and Runtime separation, the original PB Runtime Packager has to be adjusted, and now it is only used to package the required DLL files. If users install it on the Client, they need to change the Path environment variable. And this has been clarified in the Help documentation.
We recommend installing the new PowerBuilderRuntime.exe on the Client.


Regards,
Ken
Chris Tillman 07 April, 2021
#16
Re: #15 previous comment. Sorry, I reviewed the attachments again and saw the one you were referring to, AttemptedRepairError.rtf. To clarify:

I saw that error after I had run the PowerbuilderRuntime.exe on the developer machine, and after discovering that Powerbuilder no longer ran at all. Upon inspection, I found the  PowerbuilderRuntime.exe had completely cleared the C:\Program Files (x86)\Appeon\Common\Powerbuilder\Runtime 19.2.0.2670 folder, there were no files in it. That's when I attempted the Repair option in the Powerbuilder IDE installer, and it showed that message in AttemptedRepairError.rtf claiming Powerbuilder was not installed at all. Remember, this is after I started the Powerbuilder IDE installer and it offered the Repair option rather than the Install option ... so of course it knew Powerbuilder was installed. But as you can understand, it was frustrating that the IDE installer then refused to do any repairs necessitating a complete Powerbuilder wipe and reinstall. Yes, after all that it returned to working.
Chris Tillman 07 April, 2021
#15
<< The “Setup detects that PowerBuilder runtime 19.2.2670 is not installed on your computer” error happened due to that it didn’t find PB Runtime. Is this issue solved after you reinstalled them?  >>

I don't know what you're referring to here. I didn't see that error. I attached the error I saw, which I had copied the words into the text of the previous comment.

<< And for the “Setup cannot find the directory of the required sdk” issue.
Did you get this error when installing PowerBuilderRuntime.exe on the Developer machine? >> 
Yes. The  PowerBuilderRuntime.exe installer in this case cleared out the Common\Powerbuilder\Runtime 19.2.0.2670 folder completely.

<< Is SnapDevelop installed on this developer machine? We had fixed this issue in the internal later version. >> 
It was, yes. When I had to completely uninstall and reinstall to remedy the issue, I avoided installing it the second time. 

<< But if you were installing PowerBuilderRuntime.exe on a client machine, this issue shouldn’t happen. Let me know if the issue happens on the client machine  without PB installed . >>
I ran it on a Windows 7 machine where I had previously uninstalled Powerbuilder 17. Yes, in that case it creates the runtime in the Common folder unlike the Runtime Packager msi which created it in the Shared folder.

Now, the issue is that these questions do not address the points. One, innocently using the PowerbuilderRuntime.exe on a developer computer completely trashes the installation requiring manual uninstall using the control panel of all Powerbuilder components, restart and then reinstall. That is unacceptable.

Two, the runtime packager generated msi should install the files in the place they need to be to be accessed by the built application. If you don't intend to support the runtime packager, then you should not distribute it. But in that case you will be severely impacting developers who have all designed their deployment systems around this component.
Ken Guo @Appeon 07 April, 2021
#14
Hi Chris Tillman,

The “Setup detects that PowerBuilder runtime 19.2.2670 is not installed on your computer” error happened due to that it didn’t find PB Runtime. Is this issue solved after you reinstalled them?  

And for the “Setup cannot find the directory of the required sdk” issue.
Did you get this error when installing PowerBuilderRuntime.exe on the Developer machine? Is SnapDevelop installed on this developer machine? We had fixed this issue in the internal later version.
But if you were installing PowerBuilderRuntime.exe on a client machine, this issue shouldn’t happen. Let me know if the issue happens on the client machine  without PB installed .


Regards,
Ken
Chris Tillman 05 April, 2021
#13
AttemptedRepairError.rtf (2183KB)

I hadn't used Powerbuilder for a few days after the last post where I installed from the downloaded PowerBuilderRuntime-2670 as prescribed using the Download Offline Installer link for 2019 R3. I reported the error below, but that the rest of the install seemed to progress. I was surprised when going back to open Powerbuilder again, that it doesn't run, immediately giving the error Failed to load the DLL! DLL name: pbsys.dll, Runtime path: C:\Program Files (x86)\Appeon\Common\PowerBuilder\Runtime 19.2.0.2670. Checking that path, I found it to be empty. No files at all. I surmise this must have been the effect of the run of the PowerBuilderRuntime-2670; perhaps installing all the DLLs in the Shared folder like the Runtime Packager does? I tried using the Repair option of the main 2019 R3 installer. Frustratingly, that resulted in the attached error claiming it was not installed. Probably it is also looking for a key file in the Common folder? To deal with that, I completely uninstalled and reinstalled PB 2019 R3 IDE.
Ken Guo @Appeon 02 April, 2021
#12
Hi Chris Tillman,

Thank you for your feedback, I will reply you as soon as possible after communicating with the development team.


Regards,
Ken
Chris Pollach @Appeon 01 April, 2021
#11
Hi Ken;

   FWIW: I would consider #2 a "workaround" and not a fix. IMHO, the PB Packager should work as per Chris's (and all PB developers) expectations right away after the IDE installation. Not because you need to install it twice (another workaround and not a fix IMHO).

Just my $0.02.

Regards ... Chris
Chris Tillman 01 April, 2021
#10
PowerbuilderRuntimeInstallerError.rtf (2162KB)

I downloaded the offline Runtime Installer as prescribed. When I tried to run it, I got this error. After dismissing the error, it appeared to finish the installation.
Chris Tillman 01 April, 2021
#9
So what you're telling me is the Runtime Packager delivered with 2019 R3 is useless for 2019 R3. It installs the 2019 R3 runtime in a folder which 2019 R3 applications will not access. Why wouldn't the Runtime Packager have been changed to install to the correct folder? 

You're saying I have to make my clients use the Powerbuilder IDE installer (selecting the runtime) before they can install my program? And they will have to sign up for a trial version of Powerbuilder in order to use the installer to get their runtime?

This is not the Powerbuilder model of development any more. It makes it way too hard for the end user.
Ken Guo @Appeon 01 April, 2021
#8
PowerBuilder Runtime

Hi Chris Tillman,

The issue you submitted is a change in PB 2019 R3, not a Bug.
PB 2019 R3 has separated PB IDE and PB Runtime. Multiple versions of PB Runtime can coexist on the Client, and the PB IDE and EXE application support selecting different versions of PB Runtime.
There are two ways to install PB Runtime:
1. Generate an MSI by using PowerBuilder Runtime Packager and then install the MSI on the Client. This is the old way of installing it.
2. Install PowerBuilder Runtime directly by using PowerBuilder Installer. This is the new way of installation added in PB 2019 R3 (Recommended). You can refer to the attached screenshot for more details.

We recommend that you adopt the #2 new way to install PowerBuilder Runtime. In this way, PowerBuilder Runtime will be installed to C:\Program Files (x86)\Appeon\Common\PowerBuilder\Runtime 19.2.0.#### by default.
After the installation, you just need to make sure that the Runtime path specified in yourapp.xml file in the same directory as your exe application is correct.

If you continue to follow the #1 old way to install PowerBuilder Runtime, then you would need to add the C:\Program Files (x86)\Appeon\Shared directory to the system Path environment variables or copy all the files in the Shared directory to the directory where exe is. You can refer to the link below for more details:
https://docs.appeon.com/pb2019r3/application_techniques/ch09s02.html#PowerBuilder_Runtime_Packager 

Regards,
Ken
Ken Guo @Appeon 01 April, 2021
#7
Hi Miguel,

Bug 5955 is an issue related to PB DOM which is going to be fixed in PB 2019 R3 MR.
Since Bug 5955 and this Bug 6374 are not about the same issue, if you want to consult about the issue in Bug 5955, please reply in Bug 5955 even though it’s now marked Closed.

Regards,
Ken
Chris Tillman 31 March, 2021
#6
Thanks much, Chris.
Chris Pollach @Appeon 31 March, 2021
#5
Hi Miguel;

  Yes, I saw that one before. Unfortunately, Engineering marked that as an enhancement. This ticket (especially) and yours are a bug an should be fixed in the next MR IMHO.

Regards ... Chris
Miguel Leeuwe 31 March, 2021
#4
https://www.appeon.com/standardsupport/search/view?id=5955
Miguel Leeuwe 31 March, 2021
#3
Chris,
FYI: I created a ticket for listing the PBDOM as obsolete" in the past.
regards
Chris Pollach @Appeon 31 March, 2021
#2
Hi Chris;

  Thank you for bringing this issue to our attention. I was able to recreate the issue on my test machine with no PB IDE installed. I also notices that the Packager list the "PB DOM" support under the "Deprecated" section as well. This is incorrect.

  I will now transfer this ticket over to the main Support / Engineering team for their review & feedback.

Regards ... Chris
Chris Tillman 31 March, 2021
#1
testCommonFolder.zip (73KB)

*Phenomenon:
The runtime packager used in PB 2019 R3, PBCLTRT19.2.0.2670.msi, installs the runtime binaries into the C:\Program Files (x86)\Appeon\Shared folder.
A compiled application in PB 2019 R3, though attempts to use runtime files from the C:\Program Files (x86)\Appeon\Common folder.
When the runtime packager is used in an installer for a client computer which does not have Powerbuilder installed, it doesn't create a Common folder. It installs everything into the Shared folder. But the application when started complains that the runtime can't be found (and shows the path to the Common folder).

*Reproduce Steps:
Create Runtime Packager msi. (Wow, did that ever get fat in this version!)
Create and build test application (very simple app attached).
Run the packager, then the test application on a machine which doesn't have Powerbuilder installed. The error displayed by the application is "Runtime path not exist, path: C:\Program Files (x86)\Appeon\Common\Powerbuilder\Runtime 19.2.0.2670!
Remarks:
You can simulate the same problem by renaming your PB Common folder (and leaving the Shared folder alone).
You can workaround it on a client computer by copying the files from C:\Program Files (x86)\Appeon\Shared\Powerbuilder\Runtime 19.2.0.2670 where they are installed by the Runtime Packger msi to C:\Program Files (x86)\Appeon\Common\Powerbuilder\Runtime 19.2.0.2670.
OS:
Windows 10
Platform:
64-bit
Database Type:
Microsoft SQL Server
Database Version:
2014