I did a side-by-side 32-bit install to 1.8.4 on Win10-64, so got the dialog for config file version conflict and to use the --pcp option for having 2 installs, which I did using the Windows-R Run dialog. After doing this Laz2 does not remember this was set on the previous run and to use the new config directory when it starts. I had to manually edit the startup shortcut to use the option on each invoke.
Also, it would be nice if the installer asked which top menu name/shortcut name prefix should be used when a previous installation is detected but not being upgraded and overwritten, so the shortcuts and menus from existing version aren't affected.
The installer really only supports shortcuts/menu for one install, since (afaik) all shortcuts have the same name. (Of course once you renamend them, it should be fine.
You should NOT need to edit the properties of the shortcut(s) to add pcp.
If you click on "secondary install" you will be ask for a config dir. This config dir is stored inside the lazarus dir, in a file called lazarus.cfg.
Secondary install applies to same version numbers, i.e. 2.0 release and 2.0 fixes; installer was complaining "base version not found" or some such when I tried that option.
"secondary install" should work for any version, bitness, ....; entirely independent of any other install. Even if there is no other install.
That is provided, that you provide a new unique config dir for each 2ndary install.
A lazarus installation should only look at the following data
- Its install dir
- Its congig, according to --pcp
- open project/files
So a 2ndary install, with its own -pcp should never be aware of any other primary or 2ndary install.
The installer keeps a few registry entries, associating files, and listing Lazarus in installed software.
I was unable to find that error in the Lazarus directory. When exactly did you get it. (start/end of installer? starting lazarus? ...)
How to reproduce. Which installer did you download and use to get it?
This "lazarus.cfg" file is not mentioned as what is checked for in addition to the default dir, or its format if someone wants create or edit it manually, that I've seen in the docs. The --pcp option doesn't create it either, apparently only the installer does. It also does not have a location entry in Options/Environment/Files dialog pane, so side-by-sides of the same version can share a config file if they want, for this .cfg or the config file itself directly.
http://wiki.lazarus.freepascal.org/Multiple_Lazarus#Using_lazarus.cfg_fileIts content (except for comments) is appended to (or replaces) the command line options.
So you can put any argument that the IDE would accept as command line param. (One per line)
If you run lazarus.exe or startlazarus, it looks in the same path as the exe is located. This should be your installation folder.
The "lazarus.cfg" file is seen as part of the installation, and not as config.
Normally (if not specially requested by the user) there is on config in the installation folder. Because on a multi user OS the installation folder could be write protected to the user that runs the IDE.
As such the "lazarus.cfg" file can not be shared between installs.
It being considered as part of the installation, is also the reason why it is intentonally not accesible through the options (or any other part of the IDE).
Btw installers. The add-on (cross compile) installers currently warn that the directory is not empty. Well it should not be empty....
One day that will get fixed. But for now there is much else to do.
Yes, the menu shortcuts can have the same name, if the menu directory they're part of is named differently. I think (haven't looked at them in detail recently) menu directory name is static strings in .ist files, not variables like install dir. Desktop shortcuts could be handled similarly, afaik.
The installer does afaik/iirc not have any provisions for the shortcuts for 2ndary installs.
This is considered a missing feature. Currently there is no one assigned to work on it. Patches are of course welcome. (split the issues into small enough sub issues, so patches are esay to review).
Same goes for file associations. In theory the context menu could list each 2ndary install in the "Open with" section of a pas, pp, lpi, lpr, ... file.
Given for fresh installs these gotchas don't apply these comments are nits, not bug reports, but would enhance the OOBE for other users of the current version, I imagine, that like me want to test things in the new one for unknown regressions with their own code.
As I see, I don't know how exatly you got to get the issues. (they may well be present, the config/install system is complex, and the installer currently not really maintained (lack of menpower).
The config is not meant to be shared between two installations, even if the are identical versions.
The IDE writes the exact path and filename of the lazarus.exe into one of the option files (IIRC environmentoptions.xml).
If this path/name changes, then the IDE warns. You can ignore this, and it may be ok. Or you can update it, and get the warning when you open the IDE from the first location again.
If 2 IDE "sharing" a config, and they differ (eg in packages installed) then that may cause issues. (maybe). At least there is no work done (nor planed, nor will be) to make such shared usage possible.
Also no idea what happens if 2 IDE are open, and one changes the shared options. The other may not see those changes, and undo them. Or anything may happen.
If you have special scenarious, what you want to archive, then give details on them.