There are some limitations in the features that WINE supports, although the core Registry extract/write functions work in exactly the same way in both Windows and WINE (despite earlier incorrect claims to the contrary). I have managed to get around most of these with modifications to the code, so there are only minor differences apparent to the end user:
- WINE does not support robocopy, so I’ve had to fall back on the much older and less flexible xcopy as an alternative in WINE. This requires an additional "discrepancy check" to check for superfluous files, as there is no "mirror" option. However, it runs virtually instantaneously even with a very slow storage medium, as we are only concerned about whether the file exists or not rather than a detailed timestamp. Changes made since backing up are always discarded on restoring, as xcopy is also missing an “ignore newer” option.
- I haven’t found a robust way to pause a batch script for a defined period under WINE, so there are a couple of “press any key to continue” prompts when restoring.
- “Advanced mode” is greyed out, as the Windows version is not relevant under an emulator. In principle, it should be perfectly possible to construct Linux/MacOS scripts that extract the Registry and copy the ProgramData and AppData folders directly from the host OS (e.g., by using rsync), so emulator users can exploit flexible automated backups as well. I might add that later, but let’s not run before we can walk!
- I’ve only tested it in 32-bit prefixes, as my PlayOnLinux generates errors if I try to create 64-bit versions.