Jump to content
Lars Fosdal

D12 CatalogRepository Problem!

Recommended Posts

I've run into a D12 issue: The GetIt FastReports installer now installs to a user owned path! 

C:\Users\<username>\Documents\Embarcadero\Studio\23.0\CatalogRepository\FastReport-2023.3\
It used to be: C:\Program Files (x86)\FastReports\

 

This is a problem because our build server doesn't see that path as it runs with a different AD user than the user that installed Delphi, and hence barfs when trying compile units that contain Fast Reports units.

 

Has anyone found a good solution to this?

Share this post


Link to post
39 minutes ago, Lars Fosdal said:

Has anyone found a good solution to this?

Don't use GetIt to handle your library sources.

 

Although I may use GetIt to install some of its libraries, I always put those into my own repository where they can be accessed from the build server. 

  • Like 1

Share this post


Link to post

They don't appear to offer an standalone Embarcadero version installer that matches the GetIt versions.

Share this post


Link to post

What prohibits you to take the files installed in CatalogRepository?

 

Even a standalone installer would not make a difference when you are using a dedicated repository.

 

Let me explain my workflow with 3rd party libraries:

  1. install as usual (Setup or GetIt) and  remove any unwanted references (mostly search paths) in Delphi inserted during the installation
  2. if not done before, create a new repository at a convenient place and create a vendor branch
  3. switch the repository to vendor branch
  4. copy the files from the installation to the repository and commit to vendor branch
  5. merge vendor branch into main branch.

Depending on your situation you may get away with global library repositories used for all projects, but I prefer local sub-repositories for each project. I also remove any 3rd party library folders in the IDE and have the local libraries added to the project search path.

  • Like 1

Share this post


Link to post
42 minutes ago, Lars Fosdal said:

but somewhat cumbersome

Probably less than your current problem...

Share this post


Link to post
1 hour ago, Lars Fosdal said:

That is indeed a possible path, but somewhat cumbersome.

The professional installs into "C:\Program Files (x86)\FastReport VCL Professional". It is your decision if this is better.

 

The downside is that it comes with sources and after installation I always need to go and move sources and let only dcu files because I don't need to compile them every time.

Edited by Cristian Peța

Share this post


Link to post

We don't need the full version with source, nor am I a fan of binaries in git, and we are multiple developers + build server.

I guess manual copying on the build server will be the go-to workaround until EMBT responds, but that also adds the need for manual installation of the design time packages.

 

Someone made a bad decision on "hardcoding" the location of the CatalogRepository to a user-owned location for an IDE that is installed for all users.

Share this post


Link to post
1 hour ago, Lars Fosdal said:

 

Someone made a bad decision on "hardcoding" the location of the CatalogRepository to a user-owned location for an IDE that is installed for all users.

Why don't you set your new path for CatalogRepo ? In TOOL menu you can set you own path for that. And if that path need to be the same for all user every user can do the same.

I have mine own path to a more accessible folder. It's simple and better also when you migrate the IDE.

 

Share this post


Link to post
1 hour ago, DelphiUdIT said:

In TOOL menu you can set you own path for that.

Where in the "TOOL" menu?

Share this post


Link to post

Ok, that makes sense and is a bit less of a hassle on the build server.

Still miffed about the GetIt installer not giving me an option for all users, though.

Share this post


Link to post

In the offline Rad Studio installer you can set those path before start the install process.

Share this post


Link to post

I stopped using that installer ages ago... but changing it manually is ok.

But the real question is why the GetIt installer doesn't ask: Install for All users or Current user.

Share this post


Link to post

I don't know what caused it, and due to the outage cannot retry, but I have a D12 installation with Konopka Controls installed via GetIt and it ended in the public CatalogRepository.

 

Just speculation, but it may be related how Delphi was installed (see UseSharedFiles in he BDS\23.0 registry) and the fact that I used Delphi with an admin account when installing the controls.

Share this post


Link to post
52 minutes ago, DelphiUdIT said:

In the offline Rad Studio installer you can set those path before start the install process.

The online and offline installer are basically the same thing. The exe contained in the ISO is binary identical to the Online Installer. If the exe finds a similar named .gof file next to it, the installation is done offline.

 

Given that, the options during installation are actually the same in both scenarios.

Share this post


Link to post
40 minutes ago, Uwe Raabe said:

UseSharedFiles in he BDS\23.0 registry

My local installation: TRUE
Build server: TRUE
 

Share this post


Link to post

I have some getit packages in private Repo (like Styles and FastReport) and others in common Repo (like Parnassus, FmxLinux).

Share this post


Link to post

My C:\Users\Public\Documents\Embarcadero\Studio\23.0\CatalogRepository 

contains

image.thumb.png.3f133bc79f19ff9381b90fd02412a076.png

 

and my C:\Users\USERNAME\Documents\Embarcadero\Studio\23.0\CatalogRepository

 

image.png.6051d527835399e1d95979f11eceea46.png

 

So it is not quite consistent.

Share this post


Link to post

It is controlled by the json configuration file for that feature. For local packages one can modify that, but for online packages probably not.

 

Embarcadero provides some packages to be downloaded for offline installation from my.embarcadero.com, but I could not find one containing FastReport.

  • Thanks 1

Share this post


Link to post

To me, it appears that AllUsers in .json file appear to override the UseSharedFiles in the registry, which seems a bit backward.

Share this post


Link to post

It is as well possible that these entries are totally unrelated and AllUsers is the only place looked at.

Share this post


Link to post

True. I wish I could get a look at the FmxLinux .json file for verification.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×