Archive tester

TC Archive Tester's Facebook page: https://www.facebook.com/archive.tester/ - If you find this software useful, please consider supporting developer.

Description

"Archive tester" is a Windows frontend desktop tool that aims to facilitate testing the integrity of massive collections of mixed archive files such as *.7z, *.bz2, *.gz , *.rar *.tar, *.xz, *.zip, *.exe, *.r00/r01, *.z00/z01, *.001... and also *.flac audio files.

What problems does it solve/help with

"Archive tester" is a UI relying on UnRAR.exe (included), 7-zip (can be configured) and or flac.exe (can be configured).

It helps by

  • Scanning your drives or folders for testable files, based on file extension
  • Queuing the testing of mixed archives types (no need to launch tests separately and/or go from one software to another)
  • Running parallel tests (~multithreading), which speed testing of multiple single-threaded algorithm encoded files
  • Generating logs for each tested files (or optionally only for unsuccessful tests).
  • Settings can help tuning and scaling the work.

"Archive tester" is here to bring you bad news: some of your archive files are (probably) broken, corrupted... and if they don't include recovery data and if you don't have backups, they may be lost forever.
Well, hopefully this is not your story! "Archive tester" is a tool to help detecting corrupted archive files across multiple paths/drives showing progress indicators and writing logs. Just give it a few settings and let it run.

Since the end of the nineties, yes that was last century, I have been into various kinds of digital creations. These last years I started doing photography and even more video than I did in the past. Hence I accumulated approximately 25 to 30 terabytes of data.

Over time, I lost a very few archives... Yet some were corrupted but I managed to recover most of those. I have in mind to, someday, write a more detailed page about my archiving processes. Not to tell you what you "should" do but in case you find some inspiration there.

Someday, I tested the integrity of a hard disk using HD Tune. The test passed. Anyway, immediately after, I tested the same disk using the constructor's testing tool, but then, the test failed! All other similar disks from the same brand passed tests, so this was not a constructor conspiracy to make me buy another hard disk. (I think it was a Western Digital Green or a Samsung Spinpoint, I had a lot of both.)
First lesson, all disk testing softwares are not made the same. (But this is not the issue that is address by "Archive tester".)
Yet, on a some drives that passed all tests, I still happened to find some corrupted archives.
Second lesson, testing disk surface integrity is a thing, but you really need to test integrity at file level as well.

Since then, I put everything I archive in *.rar archives, even when there is no actual space gain because this way they are testable and, to some extent, recoverable *. Yet this testability can be automated!

I know that there are command lines that allow to test paths recursively, but for long and numerous archive tests I wanted something more handy that would give me more control, more progression information and would already do a part of the work of reading the logs for me. That's why I started "Archive tester". **

* RAR's recovery record feature saved multiple files for me already. To achieve the same with other formats that I know, you have to generate extra parity using PAR2.

** Command lines also happen to do redundant testings of multivolume archives. I didn't investigate this that much.

Back to top

Screenshot

TC's Archive tester v0.1.3.0 screenshot
Back to top

News

2023-06-11: Version 0.2.2.1, test file sets, some web page rework

Version 0.2.2.1

Released version 0.2.2.1, see Change history.

Downloadable Test file sets

Added downloadable Test file sets

Web page

Moved parts of content to seperate pages...

... and changed some presentation, including presentation of download hashes.

2023-04-15: "Plans and ideas" section update

"Plans and ideas" section of this page has been renamed to "Backlog - Dreams" and updated.

2023-04-9: Version 0.2.2.0 released

This update brings various "quality of life" improvements, some bug fixes, some UI behaviours changes, things that should make it feel somewhat steadier.

New features/main changes:

  • "Clear inputs" feature (button)
  • "Overwrite (inputs) on drop" feature (checkbox)
  • Time progress indicators will now update every half second and not only when a file test ended
  • Fix: Skipped files counters counted files twice.
  • (time) "Since started a file" indicator. When running parallel tests (according to "Configuration > Settings > Parellel tests count", the UI has "Since started a file" when running single tests, the UI has "Spend on current file indicator"
  • Fix? : Should stop failing at stopping running tests when stopping and an attempt to fix potential "uncatchable" exceptions when stopping process was implemented. (Since the issue is random and cannot be reproduced at will, only time will tell if it is actually gone.)
  • Some UI elements resizing behaviours improved
  • ...

For a more complete list of changes, please read version change log on this page.

The update I started working on in September 2022 was discarded. The reason is that there are features that I would like to add, there are things in the code that I would like write differently, I would like to make a WPF UI just so I learn it as many "interesting" job offers actually require WPF (I would have thought it "almost old" stuff)... but some of these changes feel like a complete project on their own, some changes are inter-dependant so that I want to do A before B but I also want to do B before A... and I don't find time to go into such big or intricate changes. Hence, I focused on things that didn't require such big changes but that I feel could bring substantial user experience improvement. I have been using version 0.2.1.0 for four years now and it does accomplish its purpose.


Older news

Back to top

Downloads

Link Version Date Size SHA256 hash Requires uninstalling
previous version
Comments
TC-Archive_tester-0.2.2.1-Setup.7z
TC-Archive_tester-0.2.2.1-Setup.rar
TC-Archive_tester-0.2.2.1-Setup.zip
0.2.2.1 2023-06-11 1,85 MB (1.940.505 bytes)
1,94 MB (2.038.994 bytes)
1,92 MB (2.015.222 bytes)
.7z SHA256 .txt
.rar SHA256 .txt
.zip SHA256 .txt
?
TC-Archive_tester-0.2.2.0-Setup.7z
TC-Archive_tester-0.2.2.0-Setup.rar
TC-Archive_tester-0.2.2.0-Setup.zip
0.2.2.0 2023-04-09 1,84 MB (1.937.538 bytes)
1,94 MB (2.036.261 bytes)
1,91 MB (2.012.556 bytes)
.7z SHA256 .txt
.rar SHA256 .txt
.zip SHA256 .txt
?
TC-Archive_tester-0.2.1.0-Setup.7z
TC-Archive_tester-0.2.1.0-Setup.rar
TC-Archive_tester-0.2.1.0-Setup.zip
0.2.1.0 2019-02-12 1,24 MB (1.303.554 bytes)
1,29 MB (1.358.430 bytes)
1,24 MB (1.310.551 bytes)
.7z SHA256 .txt
.rar SHA256 .txt
.zip SHA256 .txt
No This version has been used for more than 4 years. It is not perfect, but it certainly does the work it's made for.

Test file sets - Older downloads

Back to top
Back to top
  • Windows running .NET framework 4.0+ (<-- not up to date, changed in latest versions)
  • 7z.exe (tested with version 16.04 [64] ) to test *.7z, *.bz2 (BZip2), *.gz, *.tar, *.wim, *.xz, *.zip files. Output needs to be in English!
  • flac.exe (tested with version 1.3.2 win32/win64 tested) to test *.7z files. Output needs to be in English!
  • To test *.rar files, UnRAR.exe is provided with the application. Output needs to be in English!
Back to top

Setup

  1. Download the software package from this page, extract the files and run "setup.exe".
  2. At first run, you have to agree with the licence.
  3. Go to "Settings" tab.
    1. In "Preferences" subtab, the path to the folder where you want logs to be written in "Log folder" field. This is where the result logs will be generated. If it does not exist yet, it will created when the first log file need to be written.
    2. In ".exe files" subtab, fill the paths where "7z.exe" and "flac.exe" can be found. UnRAR.exe should be set already as its license allows its inclusion to this software.
      (You may find 7z.exe through http://www.7-zip.org/ and flac.exe through https://xiph.org/flac/ )

There are some more settings in the "Settings" tab. For now I'll let you explore them.

Usage

For now, you can find some more explanations in the "About" tab.
Back to top
  • Process could get broken if .exe files command line outputs change. In that case you would most likely get "Failed" test results for files that are not actually broken. (Which is safer than the other way around.)
  • As 99.99% of my archives are *.rar files, and even my *.flac files are in *.rar archives, RAR is the format I tested the most by simply using the application. Hence the other formats are getting less intense testing.
Back to top

There are a lot of things that I would like to add/change to this project. On the other hand, early versions have done the work they were expected to for years now... And I can absolutely not focus full time on it. Hence, time between upgrades may be very short or very long.

And by the way, if I get support for it I may be able to give it more attention.

Thing I would like to do next.

Date inserted
in this backlog
Description Comments
? Make a WPF version of the UI This is likely the very first thing I would like to do as I would like to learn WPF, and it really doesn't look really complex when already knowing WinForms, WebForms and yet MVC... but if I do it before the other two "code rework" points, that may result in doing some work twice... thinking about this.
? Rework parts of the core library code
? Rework parts of the UI code
(long ago) Add possibility to use DLLs (like UnRAR.dll instead of UnRAR.exe)
? Add a detailed view of the tests that are currently running.

Things that I think would be significant improvement but I really can't get into them at this time.

Date inserted
in this backlog
Description Comments
(long ago)

Make file type/tester association more flexible.

Including:

  • Handling multi-volumes
  • Handling of *.exe archive files
(long ago) Make nicer logs I could make them like a well presented HTML+JavaScript reports etc... Though, this, typically feels like a whole project on its own...

Things that I don't see like priorities at all

Date inserted
in this backlog
Description Comments
(long ago) Doing more multi-threading so that the "test phase" could start as soon as the "discovery phase" as discovered testable files. But I am not sure if this would be "such" an improvement.
(long ago) Video tutorials/How to use?
(long ago) Improvements to this web page
(long ago) Replacing the licence screen with "Welcome" screen including the licence and some required settings such as .exe file paths If I remember well, I was talking of some kind of "first run" configuration process.
? Make the project open source. I'm really asking myself questions about this... but rather in a direction where my answer will be "no"... but "maybe".

    Known issues

    • 2023-10-28: I noticed that some FLAC files are reported as corrupted when flac.exe 1.4.2 or 1.4.3 are used as testers but not if the same files are tests with flac.exe 1.3.2 (those are the version numbers I have done actual tests with). This doesn't seem to be an issue on Archive Tester side but on FLAC's side.
    • If last file(s) testing is significantly slower than previous files, estimated time to finish may become negative, which makes sense from a purely mathematical point of view, but this notation may be confusing. This may get changed in a future version.
    • "Exceptions at test time" counter is greyed out but is not reset when re-launching the tested. It should be reset.
    • In Windows 11, the fields in Configuration > Testers are always grey out (inactive) and empty (displaying placeholder text). Though, testers can actually be selected using the "Select" button, even if their path won't display. (Tested with .rar and .flac files, will try to correct at some point.)
    • Bugs when using a very short timeout settings or a 00:00:00 timeout value were fixed in version 0.2.2.1, however using extremely short timeout may still result in wrong file counts. Probably due to things timing out while they are still being initialised. I leave the tracking of this bug for another time for now, but, to avoid these, I would recommend not to use time out smaller than 00:00:02, however, the precise treshold probably depends on execution speed and the errors are eaier to trigger in Release than in Debug. Anyway, such short time out is not expected to be useful. In my usual use cases a time out of several hours is more appropriate.)
    • Making installers and certificates and so on is not my cup of tea... it sometimes necessary to uninstall previous version.
    • ...
Back to top