As policy we develop on systems with Windows installed and patched, but not with any optional software installed. (This is to ensure stable environments that are consistent with Enterprise conditions where our software is deployed). On Windows 2019 that means Edge is not installed. On Windows 2022 Edge is installed. Your Dashboard requires edge so we could never use it on earlier Windows versions. Now that we have edge I have tried to run it and I get an error about Edge Chromium not installed.
Please provide instructions on getting TMS Dashboard to work on Windows 2022
Please note that we want to download source and build ourselves. We do not want any kind of installer to attempt to compile the code or modify any of our settings. We will manage the paths ourselves. Historically we have also had to edit project files (for example to make package names consistent with the standard naming convention).
Is it going to be possible to continue to download source and build ourselves?
Please confirm that it will be possible to download source files to compile and install ourselves.
One of the reasons for not using Smart Setup in the past (before the introduction of the dashboard) was that it was not possible to control things like folders used and paths modified. Repairing a RAD Studio installation can take the best part of a day so we are reluctant to allow installers from any provider modify the installation.
Please confirm that the operation of your download tools are configurable so that you can confirm none of the existing Delphi installation parameters (paths etc.) will be modified by the tool.
For this case, the best is probably not to use Dashboard at all, but use the alternatives tmsgui or directly tms.exe command line.
They all do the same:
tms.exe is the base that the others use. Allows scripting, and given your requirements, it might be the best option here.
tmsgui.exe is a wrapper that just calls tms.exe to do the work, but lets you use a GUI to do the installs. It is a simple windows app, so it should run everywhere.
tms bashboard is another wrapper around tms.exe, prettier, with a web interface, but it is just calling tms.exe like tmsgui. There is no need to use it if it isn't supported in your machine.
Please confirm that it will be possible to download source files to compile and install ourselves.
Yes, this is fully supported and one of the reasons we started smartsetup to begin with. One guiding command was that you should be able to do it from everything manually to completely automatic, at your choice.
basically, tms.exe has 2 subcommands which do the 2 parts of the install. In our first iterations they were actually 2 differen exes (tmsfetch.exe and tmsbuild.exe):
tms fetch: Downloads the bundles from our site, unzips them and leaves them ready to build.
tms build: A builder only. It doesn't connect to the internet, and will just msbuild whatever it finds to compile.
You have 3 choices:
Just type tms fetch * in the command line. This will download a lot of zip files to \Downloads. Unzip those files and do whatever you want with them: they include the packages and the pas files.
tms build has a configuration so it only builds, or if it builds and registers. If you want to download and build, but not change any path or registry entry (not install anything), you can do:
Instead of config-write, you can also write tms config, and change the text file that opens. But if you skip register, tms will not touch anything in the environment.
While from your case I think you will prefer option 1, this option will actually generate all dcus/bpls, etc, much faster than a traditional msbuild because it will be built in parallel, and leave you with the files you can then copy somewhere else and register. So it might be worth considering.
You can do it all automatically with tms install *tms install is just a convenience method that does tms fetch then tms build.
One of the reasons for not using Smart Setup in the past (before the introduction of the dashboard) was that it was not possible to control things like folders used and paths modified.
Smart Setup allows a lot of configuration, from folders to debug dcus to delphi versions used. As mentioned, Dashboard is just a nice wrapper over smartsetup, but it is just calling tms.exe under the hood, so whatever you can do with Dashboard you can do with tms.exe directly.
It works like this:
Select a folder where you want to install the components. Let's assume c:\tms.
Download smartsetup.zip and unzip it in c:\tms
run tmsgui or tms directly in that folder
To configure, click the "configure" button at the bottom right in tms gui, or type tms config in the command line. It will open a text editor with the config file and every option commented. You can change a lot of stuff there. While any text editor will work, I recommend vscode + yaml extension, because it will give you autocomplete for the options of the file, and mark in red if you make a typo or write an invalid option.
The only thing that is not directly configurable is the final destination of the products. For example, if your install folder is c:\tms, then tms flexcel will be installed at c:\tms\products\tms.flexcel.vcl. This is done for simplicity, but if you wanted to rename the folders and then run tms build, it will build them anyway. tms build finds any tmsbuild.yaml config file under the root and compiles (and optionally installs it), you can even use it to build your own components. The one adding the Products\ProductId is tms fetch, but as said, this is separated from tms build. `tms build will build in whatever folder you unzip the bundle.
Finally, if the reason for specifying the paths yourself is to shorten them and have a smaller library path, remember that smartsetup has an option for that too. You can use dcu megafolders to link all the output dcu files to a single folder, so only one entry will be added to the library path.
But well, after all the explanation, the only thing you need to remember is that you can do tms fetch product or tms fetch * and this will give you a bunch of zips with source code and packages. You can take on from there. Or not.
Ps: One thing I constantly find annoys users seems to be the name: smart setup. Smartsetup is not smart in the sense we all hate. It won't break your machine, it won't do anything more than the old installers did. It won't write a single file outside the base folder, and won't change the registry more than to register the packages in delphi (if you wish so). We designed it for ourselves, and I use it myself all the time, not just for tms components but for everything I build. We wouldn't do something that would break our own dev machines. We spent month for example on making sure the uninstall is clean and removes everything, even if there is a problem in between (say machine is turned off) and you need to repeat the uninstall.
Ps2: You said: Repairing a RAD Studio installation can take the best part of a day so we are reluctant to allow installers from any provider modify the installation.
And we fully agree! Smartsetup has another tool: tms doctor which can be used when Delphi install goes wrong. Of course, it is not guaranteed to fix the errors you have, but it is built in more than 20 years of we hearing people complain about broken delphi installs and taking note when the problem was fixed. So it fixes a lot of real issues, and again, I use it myself from time to time. I do a lot of test installs/uninstalls per day, and that tends to make the machines a real mess
Hi Adrian, thanks very much for your comprehensive and helpful reply. I assume that the commands I need are in TMS Smart Setup - your site simply advised to install the dashboard so that's what I did. I will be looking into this later today. Thanks again for your help!