Cant get _progress to accept new PROPATH

FocusIT

Member
Hi

I am trying to get the character client _progres (10.2B05) on Windows (2008R2) to load up with a specific PROPATH so I can compile some .p's. However, nothing I seem to set as per documentation seems to work and _progress just opens with the default PROPATH. I have tried an ini file, changing the registry and amending progress.ini in the OpenEdge install directory. I am at a loss as to where is is getting the default PROPATH from and how to change it.

When using an ini file (_progress -ini <path to .ini> -pf <path to .pf>) _progres picks up the other settings in the ini file like v6frame, but not PROPATH. I have also ruled out an OS issue by trying it on XP Pro and Server 2003, both do the same thing. I have also tried SET PROPATH in the ini instead of just PROPATH, comma and semi-colon delimiters and just declaring one directory with no delimiter.

Please help, this is driving me mad.

Regards

Andrew Bremner
 

FocusIT

Member
Thanks Stefan, that worked. I tried [winchar] and [startup], but not [winchar startup]. Typical, it was the one thing I had not tried.

Never used the character client before, only ever worked with prowin32.exe and this issue had me stumped. Your help is much appreciated.
 

jeremysimmons

New Member
FocusIT/Stefan -

I can't seem to get this working.

working directory contains progress.ini and testPropath.p.

executing:
C:\Progress\OpenEdge\bin\_progres -b -ininame progress.ini -p testPropath.p


[testProPath.p]
message propath.

[progress.ini]
[WinChar Startup]
DLC=C:\Progress\OpenEdge
PROPATH: ../custom,../custom/trend,.,./trend,src

output is .,C:\Progress\OpenEdge\tty,C:\Progress\OpenEdge\tty\adecomm.pl,C:\Progress\OpenEdge\tty\adecomp.pl,C:\Progress\OpenEdge\tty\adeedit.pl,C:\Progress\OpenEdge\tty\adeshar.pl,C:\Progress\OpenEdge\tty\prodict.pl,C:\Progress\OpenEdge,C:\Progress\OpenEdge\bin

not the expected
../custom,../custom/trend,.,./trend,src,.,C:\Progress\OpenEdge\tty,C:\Progress\OpenEdge\tty\adecomm.pl,C:\Progress\OpenEdge\tty\adecomp.pl,C:\Progress\OpenEdge\tty\adeedit.pl,C:\Progress\OpenEdge\tty\adeshar.pl,C:\Progress\OpenEdge\tty\prodict.pl,C:\Progress\OpenEdge,C:\Progress\OpenEdge\bin
 

jeremysimmons

New Member
yes. I saw that immediately after my post. I changed it, and it doesn't work at all.

I got a tip from the guys in the office to do this.

[setpropath.p]
propath = "foo,/bar,/bar/baz".
run testProPath.p

[testProPath.p]
message propath.

apparantly since I'm on windows, instead of unix, the PROPATH environment variable isn't even used, and the progress.ini is just a clusterf*ck.

so, I have a working scenario...
 

Stefan

Well-Known Member
yes. I saw that immediately after my post. I changed it, and it doesn't work at all.

I got a tip from the guys in the office to do this.

[setpropath.p]
propath = "foo,/bar,/bar/baz".
run testProPath.p

[testProPath.p]
message propath.

apparantly since I'm on windows, instead of unix, the PROPATH environment variable isn't even used, and the progress.ini is just a clusterf*ck.

so, I have a working scenario...

The environment variable is not used in Windows as it is on *nix. But, you are not setting environment variables with your progress.ini, you are setting up stuff for your Progress session. If environment variables were being set then:

Code:
MESSAGE OS-GETENV("DLC") VIEW-AS ALERT-BOX.

Would return something other than ? (unless you are unfortunate enough to think setting the DLC environment variable is a good idea).

Time for some sanity checking - is your session using the progress.ini you think it is using? Change the DLC to something incorrect and start up. If the progress.ini you think is being used is being used, then your session will not start.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
It might also be helpful to message your startup parameters (SESSION:STARTUP-PARAMETERS). It's possible there is something funky in a .pf, or in startup.pf, like -basekey ini -ininame <wrong.ini>.
 

jeremysimmons

New Member
Stefan -

thanks for encouraging the sanity checking. No, the propath.ini I 'thought' was being used, was not! (the one in %DLC%\bin). It was using values from the Windows Registry first.
OpenEdge® Deployment:Managing ABL Applications page 4-6 has a wonderful illustration Figure 41: Windows environment information search path that made it all make sense.

The way to get _progres.exe to use the local ini is to specify -basekey ini -ininame progress.ini, which then uses local values.

Would you mind explaining why using the DLC environment variable is a bad idea? Possibly because that variable is used extensively by progress, and I shouldn't rely on the value not changing in the scope of my script? What would you recommend I use instead?
I'm only using it once right now from my scripts in our code base to reference the current progress install, so I can use bin\_progres.exe. I suppose I didn't need to use DLC as my variable, and could have used anything.

Thanks. I appreciate your time & wisdom.
js
 

Stefan

Well-Known Member
Stefan -

thanks for encouraging the sanity checking. No, the propath.ini I 'thought' was being used, was not! (the one in %DLC%\bin). It was using values from the Windows Registry first.
OpenEdge® Deployment:Managing ABL Applications page 4-6 has a wonderful illustration Figure 41: Windows environment information search path that made it all make sense.

The way to get _progres.exe to use the local ini is to specify -basekey ini -ininame progress.ini, which then uses local values.

+1 for sanity

Would you mind explaining why using the DLC environment variable is a bad idea? Possibly because that variable is used extensively by progress, and I shouldn't rely on the value not changing in the scope of my script? What would you recommend I use instead?
I'm only using it once right now from my scripts in our code base to reference the current progress install, so I can use bin\_progres.exe. I suppose I didn't need to use DLC as my variable, and could have used anything.

You do not need to have the environment variable set anywhere, so why set it? As soon as you want a second installation of Progress or uninstall and reinstall you run into issues with environment variables. All batch files (I have seen) for the command line scripts first check if DLC is set, and if not set it to the directory you installed to. And if you really need a command prompt with DLC set explicitly you can run proenv which is only active for that session.
 

TomBascom

Curmudgeon
On Windows you get in a lot of trouble if DLC etc al are set via the registry (i.e. in "My Computer"). Especially if you ever upgrade to a new version or install in a new directory.

Batch files and so forth are usually perfectly ok.
 
Top