Wondering if anyone else has noticed or encountered a strange behavior
with 'ProfileString' in PB2017 with running in/on Citrix?
The same code running on a Windows 7 PC (both 32 and 64 Bit PC's) using the
'ProfileString' command to navigate thru an INI file performs correctly.
But when placing that same code and same INI file in a Citrix environment
and the 'ProfileString' command is responding as value not found.
Example-
WIN.INI file has the following info in it.
[AppINI]
jc=C:\Windows\jc.ini
co=C:\Windows\co.ini
ejp=C:\Windows\ejp.ini
the following command-
string s_ini_file
s_ini_file = ProfileString ("win.ini", "AppINI", "ejp", "NOT FOUND" )
in Win 7 it returns
C:\windows\ejp.ini
in Citrix it returns
NOT FOUND
thoughts?
yes, the ini file is in the system search path(C:\windows)
yes, the user does have read/write access.
should probably add,
this is a migration of a currently running App.
current app is in PB12.2 and it functions correctly.
just to be sure, we put the current app out in the test area on Citrix
and ran it, and it worked fine.
put the migrated version(Appeon PB2017) back out and it fails.
also for extra testing,
we put the Migrated App out on a Windows 7 Client PC and it runs fine there.
it is only failing in Citrix and only the migrated version.
I did experience these type of problems before on a XenApp 6.0 installation before. I noticed that when deploying new applications to the farm, even if the files are the same, I had to do the Application Profile settings all over again.
If you would like to get the UNC name you need for your file location directly from PowerBuilder, what I did is added a small function to the code, as a test, and saved the pathname of the folder containing the file I needed (it was also an ini file, by the way). So you can use the GetFileOpenName() function and select the file location your self to be more accurate of the correct file location in the client's computer. Then see what the pathname variable has for you.
I additionally added these locations to a database table as a log. All with the client's ID and pathname just as a way to shorten some steps on the code. But that was just one approach.
I hope this helps further.
Regards,