v3.0
Warning
The ImageStore-Migrator asset in this release cannot run — it fails with "Globalization Invariant Mode is not supported."
Use v3.0.1 to migrate. The module itself is unaffected.
A library is now a single file. No database server, no instance, no connection string.
pwsh
Import-Module .\ImageStore.dll
New-ImageStoreDatabase D:\Library\library.dbThat creates the file, builds the schema and opens it. Later sessions just open it:
Open-ImageStoreDatabase D:\Library\library.dbRequirements
- Windows
- PowerShell 7.6 or later
- .NET 10 Desktop Runtime
Sql Server is no longer needed or supported.
Upgrading an existing library
Download ImageStore-Migrator below and run it once. It reads the old database without modifying it, so your Sql Server library stays intact as a fallback:
ImageStore.Migrator --source "server=(LocalDB)\MSSQLLocalDB;AttachDbFilename=D:\DataStore.mdf;Integrated Security=True" --target D:\Library\library.db
If you would rather not migrate, v2.0 is the last Sql-Server-only release and remains available.
Keep the database file on a local disk
SQLite coordinates access through file locking, which is unreliable over SMB and other network shares, and write-ahead logging cannot be used there at all. A database on a network share risks corruption.
This does not restrict where your images live. ImageStore stores paths, not image content, so images on a NAS with the database on a local disk is a normal and safe arrangement.
Also in this release
- The database is now closed automatically when the module is removed and when PowerShell exits, so
-waland-shmfiles are not left beside it. Compress-ImageStoreDatabaserunsVACUUM.- Fixed: searching for a file name containing an apostrophe (
Don't.jpg) never matched. This was broken in every previous release, including under Sql Server. - Path, file name and extension comparison stays case-insensitive, as before. One limitation worth knowing: SQLite folds ASCII only, so accented characters now compare exactly —
CAFÉandcaféare treated as different.
A note on this release
This changes where your data lives, which is a bigger step than the usual release. The migration tool does not touch the source database, and v2.0 stays available, so there is a way back if something does not work in your library.