When GeneXus patterns and extensions are installed from the installation folder with GeneXus /install, the installation data is stored in an XML file found in the folder C:\ProgramData\GeneXus\GeneXus\<Version>
These files are generated in a folder with the name of the GeneXus version, but they do not consider having different updates, so a file is generated for all installations of the same version, that is, for GeneXus 17 there is only one folder that it is overwritten with each upgrade, the same for GeneXus 16, so you can have an installation of GeneXus 16 and GeneXus 17 without losing the references to the installed extensions.
The problem is if you have different GeneXus installations within the same version, for example, GeneXus 17 Upgrade 1 + GeneXus 17 Upgrade 2... GeneXus 17 Upgrade 8, because when you run GeneXus /install from CMD, this will cause the regenerate the references to the extensions in the update that you just executed, but you will lose the previous ones, so every time you want to open GeneXus with a different update you will have to execute GeneXus /install in that specific update.
The way to avoid doing this is by indicating in each GeneXus sub version, in the GeneXus.exe.config file where to save these configurations, indicating a different folder for each sub version, thus, when doing GeneXus /install one configuration will be saved per each installation.
You copy this code before the line of </appSettings>
<!-- CUSTOM CONFIG inside appSettings -->
<add key="UserAppDataPath" value="C:\GxConfigFiles\GX17U8\UserAppData" />
<add key="ProgramDataPath" value="C:\GxConfigFiles\GX17U8\ProgramData" />
<!-- CUSTOM CONFIG -->
It will look like this:
Having GeneXus closed, when executing GeneXus /install, all the references to the extensions will be created but in the folder that we have indicated in the ProgramDataPath line, in this case we indicate that we want it to be created in "C:\GxConfigFiles\GX17U8 \ProgramData", although you can save it in another folder without problems, and even if the folder does not exist, it will be created.
|