It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
Hi,

I have a bunch of archived gog installers, and for hw problem related reasons I'd need to run the built-in integrity check of the installers. Is there any way to do this in an automated (preferrably even headless) way?

Thanks.
This question / problem has been solved by Timboliimage
For Windows installers, you can use innoextract (-t == test). For Linux installers, you can use unzip. You can also do offline verification of installers with some download tools, such as lgogdownloader.
Virtually all Offline Installers for GOG games have a kind of manifest with MD5 values for each file inside the EXE and BIN archive type files. As the previous reply stated, you can check that using InnoExtract, but it is very slow and doesn't do other file types, for which you might need to use something like 7-Zip with a suitable parameter.

A quicker way to check just the MD5 value of the Offline Installer file itself, rather than all its content, is to get the MD5 values for such from GOG. Some third party programs will download those using the GOG SDK or API.

These programs are - gogcli.exe, gogrepo.py and lgogdownloader

They download to a manifest file, and also include exact bit size for each file, which is useful for zip files for instance, which don't have an MD5 value recorded. Also included are MD5 values for Linux and MAC files.

Other than that, you might be lucky with a site that stores MD5 values, as I seem to recall GOGdb does.
AHA! I missed lgogdownloader's --no-fast-status-check option. Should've mentioned I'm using that...
And for some reason I thought it did the hashes locally, based on the downloaded file... Which would ofc be useless.

I'll also check out innoextract. Thanks to both!
avatar
Timboli: ...
Another option is to use md5sum generator as soon as your files are downloaded and keeping a list. You can then have it verify files at a later date for corruption. Well that works at least for the version you downloaded, and each version of the file is labeled differently. The process can even be automated via a script.

But people should go with whatever's most comfortable for them. Even doing simple CRC32 checksums will show blatant errors and incomplete files.
avatar
rtcvb32: Another option is to use md5sum generator as soon as your files are downloaded and keeping a list.
Even better: pull the GOG server xmls and store them alongside the downloads for later verification. Generating and keeping the post-download checksum leaves you open to the tiny possibility that the file is corrupt on your end.
In the past I did not know how to get the xml (containing md5) files from GOG to manually verify my downloads.

Start downloading the game exe, right-click on the downloading file to left-click on "copy download link".
In a terminal, type "wget", paste the download link, then type ".xml"
Example: "wget link.exe.xml"

I am currently in linux using firefox.

references:
https://www.gog.com/forum/general/any_md5_check_available/post4
https://www.gog.com/forum/general/gogrepopy_python_script_for_regularly_backing_up_your_purchased_gog_collection_for_full_offline_e/post3025
Post edited December 05, 2023 by solar_dome
avatar
rtcvb32: Another option is to use md5sum generator as soon as your files are downloaded and keeping a list.
avatar
Braggadar: Even better: pull the GOG server xmls and store them alongside the downloads for later verification. Generating and keeping the post-download checksum leaves you open to the tiny possibility that the file is corrupt on your end.
Gah, I keep meaning to keep the xmls but always forgot. However it's not the local md5 that's stored, it's the one from the GOG servers , what you lose from not keeping the XMLs is the chunk verification ( which is kinda useless offline to be honest ). GOGrepoc stores the md5 from the server and whether or not the current file already passed the md5 check, the calculated hash of the local file isn't stored.
avatar
rtcvb32: Another option is to use md5sum generator as soon as your files are downloaded and keeping a list.
avatar
Braggadar: Even better: pull the GOG server xmls and store them alongside the downloads for later verification. Generating and keeping the post-download checksum leaves you open to the tiny possibility that the file is corrupt on your end.
True... Though with TCP/IP plus error correction incorporated into internet communication these days, the likelihood of a corrupted file is very low, unless you resumed an incomplete file or something due to power outage. And the likelyhood of a bitflip on the hard drive shortly after download is also very low.

But i agree, better confirmation is preferred.
avatar
rtcvb32: Another option is to use md5sum generator as soon as your files are downloaded and keeping a list. You can then have it verify files at a later date for corruption. Well that works at least for the version you downloaded, and each version of the file is labeled differently. The process can even be automated via a script.

But people should go with whatever's most comfortable for them. Even doing simple CRC32 checksums will show blatant errors and incomplete files.
Yes and No.

Yes, if you used Galaxy to download the Offline Installers, which Galaxy would check using its API or SDK. In that scenario it would be beneficial to create your own checksum record.

If not via Galaxy, and not using one of the third party programs that can check via the GOG API or SDK, then you really are just playing Russian Roulette.

So clearly you need some program that can report an error when downloading, and if it doesn't report an error, then creating your own checksum record is likely worthwhile ... that's if that program did not create such for you.