4DLink Files without using 4D Users & Groups

Is it possible to use a 4DLink file to launch a 4D Volume Desktop app and log in as a specific user if the app doesn’t use the 4D Password system? The user is created in the 4D Password system, but the Designer is given no password, so the app has it’s own user access system.

My limited experiments show that the 4DLink file will launch the app, but the credentials are ignored. I’m not surprised by this, but I want to have someone confirm that this is how it works.


Tom Benedict

Hi Tom,

In the past you could use a 4DLink file with a Volume Desktop app, however it doesn’t seem to be possible anymore. Running the 4DLink file will launch the app but 4D just ignores it.

I don’t remember seeing anything about it in the upgrade documentation, but it was something that we had to workaround when we went from v13 to v17.

An option could be to pass the user in the --user-param command line argument.


Thanks for the reply Adam.

I’m intrigued by the command line option, but I can’t find much in the way of documentation for it. All I can find is https://doc.4d.com/4Dv16/4D/16.6/Appendix-B-4D-using-command-lines.300-4460968.en.html, but I don’t see anything about optional parameters.

Do you have something more detailed than that?




…something more detailed

Hi Tom,

With v17R6, you can pass an argument when opening 4D.

You detect the argument in the “On Startup” database method.

See “https://doc.4d.com/4Dv17R6/4D/17-R6/Get-database-parameter.301-4311299.en.html#constantName_3973482User param value>”.

And also the https://doc.4d.com/4Dv17R6/4D/17-R6/Command-Line-Interface.300-4354874.en.html#Paragraph_4357170command line arguments> for launching 4D.

Best regards,
Jeremy French

Thanks for pointing this out Jeremy.

I now recall reading about some of this in the 4D Blog recently.

Those new command line arguments will help a lot.


Hi Tom,

The user params definitely open up a lot of options. I’ve been passing in JSON (or a path to a JSON file) and then parsing that to an object that is used by other parts of the startup process.

I’ve also been using https://doc.4d.com/4Dv17R6/4D/17-R6/Current-client-authentication.301-4311534.en.htmlthis command> on Windows to bypass the normal log in process based on the current authenticated Windows user.