CLARION 6.2- Dynamic File Driver - Problem reading Windows Registry Key ..\SOFTWARE\SoftVelocity


#1

Hi there,

I’am using the CLARION C6.2 Dynamic File Driver. This works for years but running on a CITRIX machine yet with W2008R2 Server gives errors since the used user account seems not to have rights to read from HKEY_LOCAL_MACHINE\SOFTWARE\SoftVelocity\AnyDriver\c60.
After some investigations I’ve seen that the c60runx.dll or the c60dfx.dll reads the registry immediate after program start and if the user has no right to read the branch “SoftVelocity” the dynamic driver fails.
I’ve tried out the same program with C10 - and this works although C10 couldn’t read the branch also.
We have a test system for CITRIX and I made it work after some checking out the user rights on that machine for reading & writing the SoftVelocity branch (giving full control). But unfortunatelly this didn’t work on the productive servers since I have no rights there for investigations. I give order to setup the same rights for the concerning usergroup like them on the test system. But it didn’t work - although the group machineusers has full controll to the SoftVelocity branch.

Any suggestions out there? Thanks in forward.
Bernd


#2

gosh yes, it does too. How wierd!
I don’t know too much about how the registry works, but on my machine I see it trying to access:

HKLM\SOFTWARE\WOW6432Node\SoftVelocity\AnyDriver\C60

notice the WOW6432Node in case that makes any difference to your situation.

I did try renaming the existing key and my C6 application still runs so maybe it is a specific problem with restricted access rather than the key itself?


#3

Thanks Brahn,

yes the WOW6432Node could make the difference. I’ve tested with a 32Bit Windows 7 (virtualbox) so I will investigate that.

But have a look: After renaming or deleting the SoftVelocity key it will be rebuild starting the application. This is done during DLL initialiszation. But there is no runtimerror at that state even if accessing the registry key is denied.

Today I found that using the syntax for dynamic file creation (DFD) didn’t work if reading the registry key ,\AnyDriver… is denied:

f {prop:create}  = TRUE
f {prop:name, 1} = 'ABUFFER'
f {prop:type, 1} = 'STRING'
f {prop:size, 1} = rbufsize
fixformat (f)

FixFormat will give error 90.

This is true for C62 and C10.


#4

I found a workarround today for my discribed DFD problem. When I use the SetDriver (file) method instead the SetDriver (‘DRIVERNAME’) method this will give the error 80 (unsupported filr driver function) - but all works fine in advance even if the registry key access is denied.

Normaly the SetDriver (file) method should be used with local mode linking only where the SetDriver (‘DriverName’) will give an error at runtime.