Wssindex disk cataloger version 9.3 is now available. This is
mostly a bug fix release. See the
changelog for details.
Licensing
WssIndex 9.3 is released as
GPL 3.0 freeware.
(7 was the highest version number for console-mode versions of WssIndex.
These versions are hopelessly obsolete and no longer supported. However,
databases created by any previously released version of Wssindex can be
read by the current version.)
System requirements
Windows 7 or higher. (Windows 11 has been tested and works.)
Older versions of Windows will likely yield unresolvable missing DLL
errors.
Windows versions no longer supported by Microsoft, i.e. anything
older than Windows 10, get only minimal testing and are not recommended.
64-bit version requires 64-bit Windows.
The main version of WssIndex is available as 32- and 64-bit executables.
Both are built with Microsoft Visual C++ 2019. Needed Qt DLLs are
included in the package. The installers may, with permission, download
Visual Studio runtime files from Microsoft if they are not already
installed.
All versions look and operate identically. Needed DLLs are
installed in the same directory as the program, so both versions of
WssIndex, and other Qt-based programs, can co-exist. Performance
differences are minimal, but the 64-bit version is not subject to the
2 GB process space limit imposed by 32-bit Windows so larger databases
are possible. You'll need 4 or more GB of physical memory to take
advantage of the increased capacity.
Note: WssIndex installers are now digitally signed. This should make
it less likely that virus scanners will block downloading or
installation. If you're worried, you can submit the download URL to
VirusTotal which
will download the installer and scan it with multiple scanners.
In a locked down environment, you might need to remove the marker that
Windows adds to downloaded files. To do this, right-click the installer
in Windows Explorer and check the "Unblock" box. (And if you're
so tightly locked down that the unblock option is not available, you
should talk to an admin before installing anything.)
Qt Project Only needed
if you want to build from source.
Support for non-Windows operating systems
One reason for choosing Qt for WssIndex was its support for multiple
platforms. Early on, the Qt-based version of WssIndex was only a viewer
without Unicode support. At this stage, I copied the source to a Fedora
12 Linux system. After a few trivial code changes, it compiled and
worked. But, there are some serious obstacles to ports to other
systems:
Drive letters: The concept of drive letters is unknown to most
operating systems, so indexing by drive letter doesn't make sense.
Indexing by UNC path could be done instead.
File extensions: Not all operating systems use file extensions to
identify file types. To extract information from, say, JPEG files,
you first have to distinguish them from other files. Reading even the
beginning of every file to determine its type would slow indexing
considerably.
Windows-specific functions: Qt does not have OS-independent
functions to get file system information (volume name, free space,
used space, identify a mounted volume) or to eject a disk, so these
are done with Windows-specific code. Equivalent code would be needed
for each operating system supported.
Case sensitivity of file names: The Windows file system is
case-insensitive but case preserving. Other systems are case
sensitive. This leads to potential ambiguities when copying
comment/category information during re-indexing.
Byte order: Windows systems use little-endian
byte ordering.
Current code would probably break in many places on a machine using
big-endian byte order.
Support for non-English languages
Qt is designed to make it easy to translate the user interface into
other languages. Text strings are marked in a way which allows them
to be extracted for a (human) translator. A table of translated text
is applied at run time. One executable supports multiple languages
through different tables. Widgets that make up the user interface
resize themselves to make text fit, so if a translated string has a
different number of characters than the original, adjustments are
mostly automatic.
WssIndex mostly follows the standards necessary to allow translation, but
no translations currently exist because none have been requested.
Documentation
If I had time to write good documentation, I'd do something else. [Anon]
WssIndex for DOS had a long manual, which is largely obsolete, in
WordPerfect format which is certainly not as popular as it once was.
Here are a few important notes:
Program windows save their positions and sizes when closed
"normally," i.e. not by using the X at the top
right of the window. You'll almost certainly want to adjust sizes and
positions the first time you run WssIndex.
The default configuration does not display all available database
fields. Use the Table-design option to control which fields are
displayed.
For the most part, WssIndex does not use complex queries with
multiple criteria. Instead, it uses simple queries with options to
add to or select from the currently displayed results.
Watch for bubble help when your mouse hovers over selected dialogs.
It's easy to imagine a disk catalog containing many millions of
files. WssIndex keeps the entire catalog in memory, so it will
suffer a performance hit if virtual memory needs to be used, and the
32-bit version cannot exceed the 2 GB process space limit imposed by
Windows. The 64-bit version does not suffer from this limit. There
are technical limitations on how many (scrollable) lines Wssindex
can displayed at once. So, query results are broken up into pages
of configurable size (the default is 100,000 entries but 1,000,000
is allowed).
To edit volume names, comments, categories or extra-info, just
double-click on the displayed value. To delete a volume, right-click
on it in the volume list.
Alternating row colors is recommended to improve readability of
layouts that spread file information across multiple lines;
elsewhere it's optional.
Qt supports styles, or as most programs call them, skins, to
change how the program looks. WssIndex's style menu allows limited
skinning. There's a built-in Windows Modern Style, based on
code by Michal Mecinski and an option to load a style file.
Currently there are no loadable style files included with Wssindex
so this option is not very useful. Style files can be specified on
the command line by -stylesheet=sheetname. (Equal sign with no
surrounding spaces is required.)
WssIndex is very picky about the tags on mp3 files while players
tend to silently ignore problems. To get a "second opinion"
on the validity of an mp3 file, try
Mp3Val or
Mp3Utility. These will confirm some, but not all of the errors
that WssIndex reports.
Mp3Tag will fix many tagging errors
when saving tags.
Extracting information from self-extracting files such as program
installers currently recognizes a rather limited number of formats.
Watch for improvements in future releases. Other archive and media
file types also need to be added.
Databases written by any previous version of WssIndex can be read;
they will be converted to the new format when saved. WssIndex used
to put information extracted from files in to the Comment And
Category fields. Except for extracted comments, this was probably a
bad idea. Such information now has its own field. Existing comment
and category data will not be moved.
The sort algorithm used is
stable.
This means that if, for example, you want to sort with file name as
the primary key and file extension as the secondary key, you can
click first on the extension column header and then on the file name
header and the you'll get the same result as a single sort with two
keys. WssIndex can also do a single sort with multiple keys. A
single sort is faster, but the user time to set it up will be more
than the time saved unless the database is fairly large.
Google, because when you have a
programming problem, someone else has probably had the same problem, asked
for help, and had an answer posted on the net.