FlexCel Studio v7.22

FlexCel Studio v7.22 does not install.

After analyzing products, the install stops with "There is another version of "TMS FlexCel Studio for VCL and FMX" installed with setup.exe. Please uninstall it from Start Menu->Add or remove programs.?"

V7.21 was installed, I un-installed 7.21 and still get the same error.

Hi,
Sorry, this was an oversight that should be fixed now.
This was happening if you installed from the vcl sub manager, because the sub manager created the registry entries that setup.exe then checks to see if another version is installed.

There are 2 solutions:
1.1. In the sub manager, top right, press the "settings" icon:
image

1.2. Press the "Open Data Folder" edit button in the data folder:

1.3. Delete the "TMS FlexCel for VCL & FMX" folder in the explorer that opens.

1.4. Close the sub manager

1.5. Type regedit in the start menu, and delete the key "Computer\HKEY_CURRENT_USER\Software\tmssoftware\TMS FlexCel Studio for VCL"

That's it. Now you can start the sub manager again and it should work as it will get the updated setup.

Or, if you prefer, just do steps 1.1 and 1.2, and run setup.exe directly, not from the sub manager.

That solved the problem.

A few observations about the installer for FlexCel 7.22

The Subscription Manager does not recognize that FlexCel 7.22 is installed.

The installer says “Platforms (you can select all, they will only install if available)” – if the optional platforms are not installed, the install log shows errors which are disturbing. A warning would be better.

Because of the problems presented by Microsoft’s Attack Surface Reduction (ASR), I place third party components in a centralized location. This minimizes the number of ASR exceptions my system administrator needs to deploy. It also helps to keep track of the installed components. The FlexCel 7.22 demo programs are blocked by ASR if installed in the default location (without a new exception).

The Subscription Manager does not recognize that FlexCel 7.22 is installed.

It should if you install from sub manager, but yes, currently it won't if you run the setup individually. The main thing here is that we plan to replace our sub manager by another tool (tms dashboard) soon, so we didn't focus too much in the sub manager compatibility. If the new dashboard isn't ready soon we will revisit this.

The installer says “Platforms (you can select all, they will only install if available)” – if the optional platforms are not installed, the install log shows errors which are disturbing. A warning would be better.

That shouldn't happen unless you have "partially installed" platforms. If the platform isn't there, it will skip it and not throw an error. The problem might happen if you have the platform installed but not fully configured. Can you post the log (or send it to adrian@tmssoftware.com ) so I can confirm that? There is a logs.zip file in the Logs folder where you install.

Because of the problems presented by Microsoft’s Attack Surface Reduction (ASR), I place third party components in a centralized location. This minimizes the number of ASR exceptions my system administrator needs to deploy. It also helps to keep track of the installed components. The FlexCel 7.22 demo programs are blocked by ASR if installed in the default location (without a new exception).

The default location has always been a struggle, because there isn't a predefined "Library files" like we have "Program Files" location (or /lib in unix). The older setup defaulted to "Documents" but many users complained over the years that we shouldn't be touching "Documents". In fact, I, myself, use the "Ransomware protection" in Windows 11, and "Documents" is a folder you can't exclude, so it makes it a bad choice for a default: Protect important folders from ransomware from encrypting your files with controlled folder access - Microsoft Defender for Endpoint | Microsoft Learn

Some other users use OneDrive and have "Documents" on the cloud sync with OneDrive, which also makes it a bad choice. I don't particularly like the one we selected now %localappdata% but it is better. In reality, you should just discard the default location and install in a place like "e:\tms" or "e:\components\tms" ( a short name allows shorter library paths in delphi, and well, in my particular case "e" is my "dev drive" where I keep all my dev environment. It makes it simpler to backup, and it also can be formatted as "dev drive" (Set up a Dev Drive on Windows 11 | Microsoft Learn)

Going more in detail, for 7.22 we completely rewrote our FlexCel build system. The old one had more than 20 years of development, a lot of cruft accumulated, and it was making it too difficult to make a new release. It took about 8 hours to complete (it had to check all packages and all demos in all delphi versions from XE to 12, win32, win64, android, ios, build registered and trial versions, etc). As there would be likely errors during the process and it didn't support restarting, it normally took about 3 days since we started the build process until we had the product released in our webpage. With the new build system which is smartsetup based ( TMS Software | Blog ), we can now make a release in 55 minutes.

And of course, the new installers for 7.22 are smartsetup based too. They are just a wrapper, internally they contain a smartsetup bundle, tms.exe, and then they uncompress the bundle and tms build on it. That ensures that no matter if you install with smartsetup or the installers, you get the same. In fact, you could run a tms update in the folder where you installed with the setup and it will work. And the new setups are much faster too if installing for multiple platforms/IDES, since they can build them in parallel. One of the reasons we started smartsetup was to improve our build times, and it really shines at that (and so much other stuff). From the 55 minutes that it takes to make a new build, only 35 are spent building (the rest is compressing the bundles). In those 35 minutes we build over a thousand projects (including all demos tools, and other stuff), for trial, registered and academic versions, for all delphi versions since XE and in all platforms.

We are also working in making "nicer" frontends for smartsetup (even when tmsgui is not bad at all), so the experience isn't that different (and better) than the one today. The new setup.exe are one example, as they are just a smartsetup frontend. The new dashboard to replace tms sub will be another. Once that is ready and we are sure the experience is better than our current onw, we will be phasing out the old installers in most tms products. But even today, I wouldn't go back myself to using one of the old setups.exe