Pack & Go

Pack and go makes it easy to transfer IMatch databases, settings, presets and apps between computers.

You can start Pack & Go from the Database menu in IMatch or also from the Windows Start menu (search for Pack) or the IMatch program group.

What is Pack & Go?

Pack & Go is a standalone application included in photools.com IMatch. It knows which files need to be backed up and can optionally include any number of databases in a backup operation. Pack & Go combines all backed up files into a single, compressed package file.

The resulting package file can be easily archived and later un-packed and restored on the same or another computer. Pack & Go supports any number of package files, which enables you to maintain several generations of important files and databases and keep them over a longer period of time.

Pack & Go has two purposes:

Transferring Data Between Computers

In this function Pack & Go is used to easily transfer IMatch settings, apps, presets and databases between multiple computers. Ideal when you want to take IMatch with you while shooting on-location or during a vacation.
See also the topic Traveling with IMatch for more info on how to use IMatch on multiple computers.

Simple Backup (if you have nothing else)

In this function, Pack & Go is used to backup all important IMatch files and one or more databases into convenient package files. These files can be archived and backed up with your other data.

See also the help topic Backup for more information about how to backup your system.

It is not supported to restore a Pack & Go package created with an older IMatch version on top of a newer version. Newer IMatch versions may introduce changes in the folder structure used by IMatch, and restoring an older package on top of that will cause problems.

Make sure to update IMatch on all your machines to the same version. Re-create all Pack & Go packages you have afterwards.

What Pack & Go Is Not?

Pack & Go is no replacement for regular (daily!) backups created with a real backup software.
If you have no daily backup routine in place - you definitely should! Your hard disk / SSD may die at any time, or a virus wipes your disk or encrypts all files! The only help in that case is a working and current backup of all your disks.

Pack & Go only backups selected files and optionally IMatch databases and cache files. It does not backup all files which make up an IMatch installation. It does not backup important system files, your Windows installation files or data maintained by other applications.

To backup your system properly, use the backup features built into Windows, or a specialized backup software.

How Pack & Go Works

All IMatch data is stored in two folders:

where N stands for the IMatch version (e.g., IMatch6).

See also the Backup help topic for detailed information about these folders.

Both folders and their sub-folders are created during the installation of IMatch. The physical locations of these folders varies between Windows versions, and you can change the location of some of the standard folders under Edit > Preferences > Application. Pack & Go is aware of this and will always use the correct folders.

PROGRAMDATA contains files like configuration data, presets and apps, which must be accessible for all IMatch users. In APPDATA IMatch stores per-user data, e.g. custom Annotation images.

Static and Volatile Folders

Not all of these folders contain volatile (changing) data. For example, the annotations the resources folder never change after installing IMatch. They are static. Other folders contain a mix of files shipped with IMatch and optional files created by IMatch users, e.g. custom presets or apps. These folders are dynamic.

Pack & Go does not backup static folders. It assumes that these folders can always be re-created and filled by installing IMatch or by repairing a broken installation via the Windows Control Panel. You first re-install IMatch, then run Pack & Go to get the custom files back.

Package File Contents

Pack & Go automatically packs all IMatch settings, apps, configuration files etc. And optionally:

Backing Up Databases

You can include one or more IMatch databases in a Pack & Go package file. Usually you will.

Diagnosis and Compact

If you include databases in your package, Pack & Go can optionally run a diagnosis on each database included database. It is recommended  to enable this option! It ensures that the database in the package file is healthy and usable.

Optionally, you can let Pack & Go compact and optimize the database before packing. This can be a lengthy process, depending on the size of the database. Maybe do that once a week, or when you have made many changes to the database.

See Database Diagnosis and Compact and Optimize for more information.

Packing Cache Files

Pack & Go can optionally include all cache files for the included databases. This often produces very large package files, but allows you to restore database and cache files on another computer, or on the same computer when you need to recover from a failure.

See the help topic on Caching for more information.

Package Files

The package files produced by Pack & Go use the .impag file extension. These files contain the compressed source data plus additional information Pack & Go needs to restore the files included in the package.

Pack & Go generates file names like IMatch_YYYYMMDD.impag, where YYYYMMDD stands for the current year, month and day. Pack & Go never overwrites an existing package file. If a package file with the same name already exists in the target folder (because you run Pack & Go several times on the same day), a consecutive number is appended to the file name.

Purging Old Package Files

You can instruct Pack & Go to delete older package files automatically after a certain period of time. This enables you to store package files into the same folder every day and to control when old package files are deleted.

Intelligent Restore

Pack & Go can restore the files included in a package to their original folders or to a new parent folder. Restore files to their original folders to recover lost files or to transfer the files in the package from one computer to another.

When you run Pack & Go on another computer and you want to restore IMatch presets, templates, scripts or the settings database, you may need to run Pack & Go as Administrator if the user under which you run Pack & Go has no write privileges to the folders to which Pack & Go has to restore files.

In such a case, Pack & Go will display 'file access denied' messages in the Protocol. If this happens, you either need to fix the file system permissions in Windows Explorer, or run Pack & Go via the "Run as Administrator..." command.

Pack & Go handles certain special cases during restore, e.g. when you restore files to another machine where the presets, scripts and appanel folders are located on a different disk. The same is true for the location of the settings database or the cache folders. Pack & Go uses the existing settings database on the target system to determine the folders for the restore on that computer.

You can only run Pack & Go on computers where IMatch is installed and has been executed at least once.

Restoring to a Different Folder

If you restore a package to a selected output folder, Pack & Go creates a sub-folder hierarchy below that folder which matches the folder layout in the package. You can then view and access individual files using Windows Explorer or other software.

Use this mode if you only want to restore selected files.
Unpack to a temporary folder and then copy the files you're interested in to their final destination using Windows Explorer.

Running Pack & Go

You can run it any time from IMatch via the Database > Pack & Go command. Since Pack & Go includes the global IMatch settings database in each package, it can only run when IMatch is closed. Pack & Go prompts you to close IMatch when you run it from the Database menu:

Just close IMatch and Pack & Go continues. Or click Cancel to continue working with IMatch.

Running Pack & Go Automatically (Backup Reminder)

Under Edit > Preferences > Application: Settings you can configure IMatch to automatically run Pack & Go at certain times. If you enable one of these options, IMatch runs Pack & Go when it closes automatically:

Configuring IMatch to run Pack & Go automatically.

If you enable this option, IMatch displays the Backup Reminder dialog box when it closes and the reminder is due::

When you run Pack & Go manually via the Database menu, the reminder dialog is not displayed when IMatch closes.

The Pack & Go Application

Pack & Go has only a few options and is designed to be simple to use. At the top of the Pack & Go window you see four tabs. By clicking on one if these tabs you choose the function you want to use:

The Pack & Go application window.

Pack

On this tab you create new packages.

Specify the output folder for the new package (the file name is generated automatically) and optionally add one or more databases to the list. Make sure all options are set the way you want them and click on the Start button to create the package file. Pack & Go automatically switches to the Protocol tab.

DiagnosisIf you enable the diagnosis option, IMatch runs a diagnosis on all databases selected before packing them. This ensures that only 100% valid databases are packed.
OptimizeIf you want to optimize and compress the database before packing, enable this option.

This will slow down the package creation, especially if you pack a huge or multiple databases.
It is usually better to run the optimize process manually via the Database menu in IMatch occasionally.

Cache FilesThis option allows you to include the cache files IMatch has created in the pack.
The resulting package will become much larger and usually you don't want to include cache files. Except the computer on which you restore has no cache files or you want to avoid IMatch re-creating the cache files on-demand.

Performance Tip:
If you include large databases in your package you should create the package file on another disk (if you have more than one disk in your computer).


Running a Command

This is a very useful option if you need to run a command when the package has been created. Maybe run a batch file, a PowerShell or Python script when the package is complete.

If you work with large databases and Pack & Go takes a while to produce the package, you may want to shut-down your PC automatically afterward. This way you don't need to check and let Pack & Go run on its own.

You can enter any command that could also be run from a Windows command prompt without administrative privileges. For example:

shutdown /s /t 30

This command shuts down the PC without asking, after allowing other applications to close and save data for 30 seconds.

{{result}}

This special token can be used in the command. It will be replaced by 1 when Pack & Go completed successfully and by 0 otherwise. You can use this in a batch script to control things.

{{msg}}

This special token is replaced with the last error message producd by Pack & Go. Again, this can be used as an argument for a script you run when Pack & Go is complete.

python c:\python\myscript.py {{result}} {{msg}}

This runs a Python script named myscript and provides the result and last error message as arguments. The Python script can use these arguments for whatever purpose.

When you run a command, Pack & Go closes automatically after running the command.

Protocol

The protocol tab shows an informative display of the operation currently running and the state of Pack & Go:

Here we see a typical protocol for a Pack operation. Pack & Go shows the folders and databases included in the package, where the resulting package file is stored and the number of files total data volume processed.

The Protocol File

Pack & Go writes a detailed protocol file (log file) to the file IMatchPackAndGo.txt. The file is created in the TEMP folder on your system. You can open the file by clicking on the link at the top of the protocol. The protocol file lists each file packed, the results of the diagnosis and compact operations etc. Review it if Pack & Go reports a warning or runs into an error.

The Package File

If Pack was successful, you can open the folder containing the package file via the link at the bottom of the protocol.

Verify

On this tab you can verify a package. Pack & Go automatically fills in the file name of the last created package file. If you want to verify another package file, use the Browse button to locate it.

When verifying a package, Pack & Go iterates over all packets in the package and checks if the data is readably and if the checksums of the extracted and de-compressed data match the checksums of the original data. If the verification completes without errors, the package is valid and usable. The result of the verification is again presented on the Output tab:

Protocol of a package file verification operation.

Verify also writes detailed information to the protocol file.

Restore

This tab extracts the contents of a package file, either into the original folders or into a selected folder.

What to Restore

Restore by default uses the last created package. If you want to restore another package file, use the Browse button to locate it.

Where to Restore

Restore to original folders

In this mode, all files in the package are restored into their original folders. Folder which do not exist are automatically created.

If you restore on a different computer, this mode determines the physical locations of movable folders like scripts, presets, appdata automatically and restores the data into these folders. The same is true for the settings database, which can also be located in a different folder than on the original computer.

Restore to a different folder

Choose this mode to extract all files in the package into a dedicated folder. Pack & Go creates sub-folders under this folder automatically. The top-level sub-folder gets the same name as the package file, which allows you to restore multiple packages into the same output folder.

This mode enables to you extract a package and to review and restore individual files.

Don't replace newer files

Especially when you restore to original folders, this option prevents Pack & Go from overwriting files which have been modified after the package was created. This option should usually be enabled.

Automatic Data Verification

During the extraction process, Pack & Go compares the checksums calculated for the original file with the data extracted from the package file. Only if they match the file is written to disk. After saving the file, IMatch calculates the checksum of the file on disk and compares it again with the checksum recorded in the package. This process makes extracting a package a bit slower but much safer.

File System Permissions

When you restore files into the special PROGRAMDATA folder (usually C:\ProgramData\photools.com\IMatch*), Windows may prevent Pack & Go from creating or replacing files.

Pack & Go in this case reports access denied errors in the protocol.

This happens when the user under which you run Pack & Go has no write privileges to the folders you are restoring to. You can check this by right clicking the folder in Windows Explorer (e.g. the C:\ProgramData\photools.com\IMatch* folder) and then selecting properties from the menu. Switch to the tab labeled Security and check which users are allowed to write to that folder. Make sure your current user has write and modify privileges.

See the Windows Help for details about file system permissions.

Alternatively, run Pack & Go under an administrative account by right-clicking the Desktop or Taskbar shortcut and then selecting Run as Administrator.

Using Pack & Go with a User Name Alias

IMatch stores many settings on a per-user basis, linked to a user name. By default it uses the name of the logged in user (Windows user name).

If you use IMatch on several computers and you use different user names on these computers, it maintains separate settings for each computer. If you don't like this, you can use the user name alias feature in IMatch to configure the same virtual user name for all computers.

Since the user name alias is stored as part of the IMatch settings database, you need to take some extra care when creating and restoring a package for the first time.

  1. Set a user name alias on PC1. Usually this will be the same user name you're already using on that computer.
  2. Create a Pack & Go package on PC1 and restore it on PC2.
  3. Start IMatch on PC2 and set the Alias to the same user name you use on PC1
  4. Create a Pack & Go package on PC2 and restore it on PC1.

These steps ensure that the user name alias configured on PC2 is part of the IMatch settings on PC1. When you transfer your settings from PC1 to PC2 in the future, the user name alias will be correctly restored on IMatch on PC2 will access the correct settings.