Hi,
when I change the runtime in PB 2021 IDE to a runtime from PB 2019 R3, the IDE is not using the standard pb.ini.
PB 2021 IDE with runtime 21.0.0.1311
pb.ini: C:\Users\*****\AppData\Local\Appeon\PowerBuilder 21.0\pb.ini
If the Initialization Path ist changed, then it is using the pb.ini at that location.
On startup the IDE is reading the InitPath from reg (HKEY_CURRENT_USER\SOFTWARE\Sybase\PowerBuilder\21.0) and using the pb.ini at that location
PB 2021 IDE with runtime 19.2.0.2703
At the moment we found two different scenarios on different PC's
Scenario one:
pb.ini: C:\Users\******\AppData\Local\VirtualStore\Program Files (x86)\Appeon\PowerBuilder 21.0
On Startup the IDE is directly using that pb.ini.
At some point it is reading the InitPath from reg at HKEY_CURRENT_USER\SOFTWARE\Sybase\PowerBuilder\19.0 and ignores the path
Scenario two:
pb.ini: C:\Program Files (x86)\Appeon\PowerBuilder 21.0\pb.ini (Installation directory)
On Startup the IDE does not read the InitPath. It is directly using the pb.ini from the installation-directory.
In this case every change in the IDE which affects the pb.ini is saved in the pb.ini at that location.
or, if C:\Program Files (x86)\Appeon\PowerBuilder 21.0\pb.ini is not there (renamed)
pb.ini: C:\Users\******\AppData\Local\Appeon\PowerBuilder 19.0\pb.ini
On Startup the IDE is trying to access the pb.ini in the installation-directory. Which isn't there.
Then it is reading the InitPath from reg at the PB2019 location (HKEY_CURRENT_USER\SOFTWARE\Sybase\PowerBuilder\19.0) and is using the ini at that location.
The Initialization Path has no effect when the PB 2019 R3 runtime is used.
The documentation does not mention the use of more than one pb.ini for each user.
In our opinion it is good that the IDE is using at least two different pb.ini files when using different runtimes.
With that we can easily use one IDE for work in progress Version of our projekts with the new runtime and do maintenace on other Verions with the old runtime.
Since the last used workspace is stored in the pb.ini we can just restart the IDE after switching and the correct workspace with the correct targets is automatically opened.
However, the behavior doesn't seem right, so here are a few questions.
Which Scenario is the intended one?
Why is none of them mentioned in the documentation?
Should the PB2021 IDE use the pb.ini from the PB2019 IDE?
Should the InitPath also work with another runtime than the latest one?
Why are there two different behaviors on different PC's?
Regards,
Gerrit Bruns
- Gerrit Bruns
- PowerBuilder
- Monday, 24 January 2022 15:30 PM UTC
- Page :
- 1
There are no replies made for this question yet.
However, you are not allowed to reply to this question.
However, you are not allowed to reply to this question.
If IDE has no writing permissions to the installation path, IDE cannot start. There will be a message saying "Initialization file is not writable. Cannot continue."
In your case, it is probably some rules have been set up to map to the users VirtualStore directory?
Regards
Tracy
according to Microsoft, the VirtualStore directory is used when the UAC is enabled and an application, that is not started with admin-rights, want's to write a file in it's installation directory but the UAC doesn't allow it.
For example the directory C:\Program Files (x86) and everything in there is under control of the UAC by default. If you didn't change the permissions you need admin-rights to write in that folder. As long as an application isn't started as administrator, it is unable to write in that location or has the ability to ask for admin-rights, like the File-Explorer from windows. For example, if you navigate to that directory and you try to rename a file or directory, you get an additional question from windows. Unless you accept it, you are unable to do the operation, as long as the current user has admin rights. A user without admin rights is unable to perform that operation.
Some examples, that we had, for the behavior of PB 2021 IDE regarding the use of pb.ini, when a PB 2019 R3 runtime is used.
Situation:
- UAC enabled
- PB installed at the default location C:\Program Files (x86)\Appeon
- default rights on C:\Program Files (x86)\Appeon
- pb.ini exist at the default location C:\Program Files (x86)\Appeon\PowerBuilder 21.0\pb.ini
- PB 2019 R3 runtime is used
- PB is started without admin-rights
Outcome:
- PB trys to write C:\Program Files (x86)\Appeon\PowerBuilder 21.0\pb.ini
- Has no right to do that
- Windows creates a copy of C:\Program Files (x86)\Appeon\PowerBuilder 21.0\pb.ini at C:\Users\*****\AppData\Local\VirtualStore\Program Files (x86)\Appeon\PowerBuilder 21.0 and writes the file at that location
- As long as the rights for C:\Program Files (x86)\Appeon\PowerBuilder 21.0\pb.ini don't change, PB is redirected to the pb.ini in the VirtualStore directory
- The PB 2019 R3 pb.ini exist at it's default location and the InitPath in registry is set for PB 2019 R3, but never used.
Situation:
- UAC enabled
- PB installed at the default location C:\Program Files (x86)\Appeon
- default rights on C:\Program Files (x86)\Appeon
- pb.ini is not at the default location C:\Program Files (x86)\Appeon\PowerBuilder 21.0\pb.ini (for example, renamed)
- PB 2019 R3 runtime is used
- PB is started without admin-rights
Outcome:
- PB trys to read C:\Program Files (x86)\Appeon\PowerBuilder 21.0\pb.ini
- no pb.ini found
- PB searches for InitPath of PB 2019 in the registry
- InitPath variable exist: PB is using the pb.ini at that location
- InitPath variable is not there: PB creates the InitPath variable for PB 2019 with the default directory for the user-defined pb.ini and creates the file at that location
Regards,
Gerrit
Thank you for the great details and examples! I will pass the information to developer for analysis.
Regards
Tracy