Please install TMS VCL Grid Excel Bridge and the dependencies to TMS VCL UI Pack & TMS Flexcel via Smart Setup:
https://doc.tmssoftware.com/smartsetup/
Why i am forced to sue smartsetup ?
I used it and i am not satisfied usualy i get duplicate path entries, non workins symlinks and duplicate library paths in IDE after that. All other libraries i can download but that one is problematic.
Why i am forced to sue smartsetup ?
The reason for the bridges to go smartsetup-only was because of the package naming. The old setups for VCL UI Pack used package naming like this:
VCLTMSFNCCorePkgDXE9.dpk
VCLTMSFNCCorePkgDXE8.dpk
VCLTMSFNCCorePkgDXE7.dpk
VCLTMSFNCCorePkgDXE13.dpk
VCLTMSFNCCorePkgDXE12.dpk
VCLTMSFNCCorePkgDXE11.dpk
VCLTMSFNCCorePkgDXE10.dpk
VCLTMSFNCCorePkgDXE15.dpk
This was needed decades ago in order to support Delphi 5, which didn't had Libsuffix. Since Delphi 6 the recommended naming is just VCLTMSFNCCorePkgD.dpk for all versions, which is what VCL UI Pack uses when installed with smart setup. (luckily we don't have to support Delphi 5 anymiore).
But the bridges need to have a "requires" in the packages, that, for say D12 should be:
requires:
VCLTMSFNCCorePkgDXE15.dpk
when installed with setup.exe, but:
requires:
VCLTMSFNCCorePkgD.dpk
when installed with smartsetup. Which is the whole reason why different package naming haven't been recommended for decades: when using LibSuffix (smartsetup), the requires is always the same, but for the old setups.exe we need a different line for each version. And it is not only the requires in the dpk, we also have to fix a lot of other places too, and we can't ship the same packages for the bridges to link against a UI pack installed with smartsetup, or to link to a UIPack installed with setup.exe.
Keeping both options was just a lot of duplicated effort, and when we switched our build system for FlexCel and the bridges to use smartsetup (which reduced the build time from 8 hours to 45 minutes), we just didn't code all the code in the old builder to write:
requires:
VCLTMSFNCCorePkgDXE15.dpk
when creating a setup.exe for delphi 12 and
requires:
VCLTMSFNCCorePkgD.dpk
when creating a smartsetup. Sorry, but that would have been weeks of development that we don't currently have available. There is too much other stuff we also need to focus on.
I used it and i am not satisfied usualy i get duplicate path entries
Smartsetup should be much better than the old setup.exe installers for not repeating the entries. The code actually comes from our old setup.exe installers, but has some improvements to specifically avoid duplicated entries. If you can send us an example, we will be happy to look into it.
non workins symlinks
Smartsetup doesn't create symlinks at all, because they require admin rights. We only create hardlinks. The ones that created symlinks were the setup.exe for FlexCel and the bridges. If you are speaking about non working hardlinks, can you expand a little on what you mean? I am not sure it is possible to create a non-working hardlink, you either create it or not.
and duplicate library paths in IDE after that
Same as before, do you have an example? We've been using smartsetup internally for almost 3 years already, and I use it daily (I am constantly adding and removing components with it), and I've never seen a duplicated library path. I won't say it is not possible (I've seen enough "impossible" things happening), but it shouldn't happen. And the code should be similar to the code that the old setup.exe used, so there shouldn't be a big difference there.
All other libraries i can download but that one is problematic.
One good thing about smartsetup (and was one of the first design decisions that we made) is that you are not forced to use it if you don't want to. Different from setup.exe which you have no other way to install it than to run it, smartsetup has 2 parts:
- tms fetch -> Retrieves a zip with the source code and the packages.
- tms build -> Actually installs, creates the path entries, etc.
If you prefer to install manually, with smartsetup you can.
Just open a command line and type:
tms fetch tms.vcl.excel.bridge
And you'll get a zip with the source code in the "Downloads" folder.
Now, as explained before, this source code will have
requires:
VCLTMSFNCCorePkgD.dpk
So to install manually, you need to go and replace this (and all other occurencies for this and other packages to VCLTMSFNCCorePkgDXE15.dpk (if delphi 12) or VCLTMSFNCCorePkgDXE14.dpk (if delphi 11), and so on.
If you are interested in know the internals of what smartsetup is doing and where it is putting the files, this link might help: TMS Software | Blog
But basically, you just need to do "tms fetch" (as opposed to tms build which is the one that installs). tms install
just does a tms fetch
followed by a tms build
A final option. If you want to fetch and build the components, but install anything (and so not change any library paths), you can also do it. Type:
tms config
and seach for skip register
and change the value from false to true. Then you can do a
tms install tms.vcl.excel.bridge
and it will build everything, but not change any environment like the path or library paths. You can do that manually if you prefer.
Resuming, you have the options:
- tms fetch and install everything manually from the zip files with the sources
- tms install with skip register = true, and manually register the packages
- tms install with skip register = false and let smartsetup handle it all.
That is actually great.
I didn't know i can do that. I prefer to build my packages myself because when i put them to ID i use enviroment viariables i will try this approach with tms fetch Thank yu very much.
I can do this with all packages in tms all access ?
if i want to fetch aurelius i should write " tms.biz.aurelius" right ?
Not all All-Access products are available in Smart Setup, yet. But eventually, all of them will, yes.
Correct.
In addition to what wagner said, you can do
tms list-remote
to get a list of all the packages currently available. Today, this list is:
PS R:\newsmart> tms list-remote
tms.biz.aurelius (5.19.0.2)
tms.biz.bcl (1.42.0.2)
tms.biz.echo (1.11.3.6)
tms.biz.logging (2.12)
tms.biz.remotedb (2.18.0.2)
tms.biz.scripter (7.35.0.1)
tms.biz.sparkle (3.29)
tms.biz.sphinx (1.12)
tms.biz.xdata (5.18.0.2)
tms.dev.mqtt (2.0.8.1)
tms.flexcel.vcl (7.22.1)
tms.fmx.icl (4.2.0.2)
tms.fmx.mcl (2.3.0.3)
tms.fnc.apptools (1.0.3)
tms.fnc.blox (3.0.3)
tms.fnc.bloxtoolbars (1.0.0.1)
tms.fnc.chart (3.0.0.1)
tms.fnc.chartgridadapter (1.0.0.1)
tms.fnc.cloudpack (3.1.2.5)
tms.fnc.cloudpackresteditor (1.0)
tms.fnc.core (4.0.2.2)
tms.fnc.dashboardpack (1.3.1)
tms.fnc.excel.bridge (3.3.1.1)
tms.fnc.ganttchart (1.2.2.5)
tms.fnc.maps (4.3.0.1)
tms.fnc.uipack (6.2)
tms.fnc.websocket (1.0.3.8)
tms.fnc.wxpack (1.7.0.3)
tms.graphql (1.4)
tms.vcl.async32 (2.4.2.1)
tms.vcl.chart (4.4.6.1)
tms.vcl.chartlink (1.1.0.1)
tms.vcl.cloudpack (4.2.2.2)
tms.vcl.crypto (4.3.3)
tms.vcl.excel.bridge (3.3.1)
tms.vcl.instrumentationworkshop (2.8.2.4)
tms.vcl.passkit (1.4)
tms.vcl.pluginframework (6.13)
tms.vcl.securitysystem (4.2.2)
tms.vcl.uipack (13.1.12)
PS R:\newsmart>
And you can use wildcards to fetch/install/build multiple products at once.
So for example:
tms fetch *
Will download all products you have.
tms fetch tms.biz.*
will download all biz products.