GetIt not downloading
In both RAD Studio 10.1 Berlin AND 10.2 Tokyo I'm unable to download 3rd party libraries using GetIt. Since this is the only way of getting i.e. NexusDB Embedded Free, I can not upgrade from 10 Seattle to these versions.
The issue occurs after getting into GetIt, selecting e.g. NexusDB Install and selecting "Agree to all". The Downloading-progress bar appears, and the bar progresses normally (or seems to do so, anyway) until only a tiny bit is left, when it hangs a long time. Sometimes it restarts the download-operation, but always with the same end-result: It aborts the operation with the message "Cannot load data from the server: Error reading data: (12002) Operasjonen ble tidsavbrutt" (a timeout occurred).
I suspect this might have something to do with the very strict firewall rules at our company (it's high-profile and needs to protect from attacks). However, I do not have enough information to tell my IT-department what needs to be done, if anything can be done on our side, e.g. which ports need to be opened, hosts whitelisted, or anything else relevant.
This is very frustrating and has been going on for a long time (since Berlin came out). Any advice?
I've got it! GetIt does not support UNC-paths, it seems. Or maybe it does not support a dollar in the path.
This is what's been stopping GetIt from working on my system:
We've been using UNC-paths for our home-directories in windows, so e.g. the "HOMESHARE" system environment variable was set to "\\hostname.location.countrycode\myusername$" (the proper names are changed to protect the guilty). This caused the different "BDS..."-variables to point to UNC-paths, like:
When I replaced the UNC-part with a non-UNC-path I could use GetIt as normal, e.g.
Go to menu option "Tools" -> "Options" and select "Environment Variables" to find these settings. I did User overrides, using the button "Add Override" on all the "BDS..."-variables that started with UNC-paths and pointed them to a mapped drive instead (my homedrive was by default mapped to the H-drive). After this, everything was OK.
However, NexusDB is still missing from the GetIt Package Manager.
Getit still does not work right with 10.2 that has the April 2017 RAD Studio 10.2 Hotfix for Toolchain Issue.
The ThingConnect IoT Device Components and BeaconFence are now available for download in RAD Studio 10.2 Tokyo via the GetIt Package Manager.
Yes, I'm also suspecting the anti-virus, it's been acting up a few times before. So I'll try to figure out whether it is possible to check what my machine is doing when trying to install NexusDB, and see if the IT-people are open to passing through the data I need.
If this is not possible, I'm out of luck unless we somehow get the option of downloading the library "on the side". The number 1 option!
You could ask the IT guys in charge of the firewall to monitor which ports are accessed from your machine for GetIt operation and open them temporarily just for your machine (with your IP address), But as Marco said, it's all through the port 80 and should not cause any trouble. It also may be the anti-virus signatures on your machine that block the generation of the BPL/EXE files on your machine, thinking it's installing malware. You should talk to your Security guys and show them that what you do is legit.
Regarding GetIt, today (apr 19), it's back to 90 components, from 38 yesterday. All IoT components are back, but NexusDB is still not listed.
Thanks for replying!
NexusDB was just an example, I also tried with e.g. OmniThreadLibrary, Orpheus etc., with basically the same result. I also tried (now) with GetIt in Seattle, which gave exactly the same issue. I suspect the security at my company has had an upgrade since I originally installed NexusDB. Also, I could download NexusDB outside of GetIt when Seattle was the newest version of Delphi.
The problem thus seems very likely to be with the firewall.
At work I'm using a workstation, and I'm neither able to nor allowed to bring it outside the company firewall. Maybe I would be allowed to install on an external machine and bring the relevant files on e.g. an USB-stick. But that would require knowledge of exactly which files I'd need to copy, and which paths to copy them to on my local system.
To me, the solution would appear to be either of two: 1. Being able download packages separately (for manual installation); or 2. Opening up the relevant host(s) and port(s) in the firewall. Number one is ideal, since I know the IT-department hates to open up more hosts and ports than strictly necessary.
Marco, I'll see if I can make the IT-department open up the firewall for the host you specified.
NexusDB Embedded is no more available from NexusDB as a download, as stated on the website. but from GetIt only.
They give the GetIt package to Embarcadero a couple of days after any new RadStudio release. They confirmed that NexusDB has been provided already for Tokyo.
Now regarding the download, it did work in Seattle as well as Berlin. Firewall can block everything. The best thing would be to download and install the packages from outside your infrastructure.
I run Windows10 in a VM on a Macbook, so it's easy to install outside of all enterprise firewalls. Then when you get back on premises into your company, it should work without problems.
GetIt sometimes plays funny behaviors. Some packages fail to download for 2-3 days and then they're ok.
Also the number of available packages varies a lot, it was 12 when Tokyo launched, then it went up to 70+ and is now back down to 38 (Apr 18) where all IoT devices have disappeared without warning.
The lack of NexusDB being available is the reason I downgraded to Berlin and will probably not renew my subscription. I can't afford not being able to work for weeks when a new RadStudio version is released because some packages are not there and worse, because when Xcode is updated, RadStudio doesn't provide a fix within one week max. Xcode 8.3.1 for example is not compatible if you want to deploy your app to the AppStore. It has been like this for more than two weeks already. This is not admissible.
If GetIt cannot do the download, there isn't much we can do. I think NexusDB Embedded should be available also from Nexus. If not, we can consider an additional download option.
In any way, GetIt uses HTTP traffic on port 80 and the host is "getit.embarcadero.com". If you go there, you'll see an empty page, as access is protected. At least this is my understanding, I can ask for more details.