CuCuJambo: 3) Downloading with your browser - this isn't very recommended, as it offers no pausing/resuming, and no error protection???
If you have a relatively fast and reliable internet connection, that isn't a problem. And of course it depends how big the game is which you want to download. I earlier used the browser downloads most of the time, and it was rare for them to fail.
I originally downloaded The Witcher 3 completely with a browser (and lots of other games), no problem there. You can also check afterwards if the download was successful: for multipart installers there is the option to run integrity check before the actual installation, while with single part installers you can check that their digital signature is ok.
One thing missing with browser downloads is that it doesn't create subdirectories for the installers, in case you download several games at the same time. You need to create subdirectories yourself. The downloaders create game-specific subdirectories neatly. This doesn't matter much if you download only one or few games at a time, I guess.
However, since I wanted to download all my 1172 GOG games to my local repository, and doing that manually by downloading them with a browser or GOG Downloader or Galaxy is far too much work, I used gogrepo.py (works both in Linux and Windows, as long as you first install Python and other needed dependencies). With it downloading and keeping your whole GOG library up to date is easy, as long as you have enough hard drive space and fast enough internet, and/or don't mind waiting (it took me closer to two weeks to download my whole GOG library over a 10Mbps connection, if I recall right; downloading the English Windows version installers and extras, nothing more). Now I just download updated games, and new games I've purchased, from time to time.
gogrepo.py also has the option to run and integrity check on all your downloaded GOG game installers and extras, so that you know they are fine. It does it the best it can, e.g.
- if there is a md5sum available for the file, it checks against that.
- if it is some zip file, it tests the zip file integrity.
- if it is a non-zip file with no md5sum, then all it can check is that the filesize is correct (the file might still be corrupted for some other reason, so this isn't quite foolproof, but better than nothing).
I presume lgogdownloader has the same benefits as gogrepo, but I am unsure how to run it in Windows. Apparently it should be possible at least theoretically, but you might need to compile it for Windows yourself from the source code?