### Symptoms

When you restore a site in Windows server, you’ve got a runtime error e.g.:

Uncaught Codexonics\PrimeMoverFramework\build\splitbrain\PHPArchive\ArchiveIOException: fopen(C:/paths/prime-mover-import-files/testfile:4pm): failed to open stream: No such file or directory in C:\paths\plugins\prime-mover\build\splitbrain\php-archive\src\Tar.php:353

Typically this package originated and created from a NIX server (e.g. Linux server, or any NIX environments such as MacOS). And then it cannot be restored to Windows but can be restored to any NIX environments.

### Causes

The main cause of this issue is that Prime Mover tries to copy a file from a package to Windows file system with invalid filenames.

Common invalid file name in Windows includes having colon (:) in the filename that works in NIX environment but does not work in Windows. Please read this official Microsoft documentation regarding all list of characters that are not allowed in Windows.

For example, say you have an image inside your uploads directory in Linux server with this filename:

1-IMAGE 2021-07-21 20:04:24-1024x768.jpg

The filename contains a colon that works with Linux/Mac/Nix servers but it is not acceptable with Windows. What happens is that if you are trying to migrate this site (which is hosted on Linux server) to Windows server (e.g. XAMPP/MAMP in Windows or even IIS) – you will get runtime error.

### Solution

Prime Mover tries it’s best to handle this situation and if the host operating system rejects the filename, it throws exception runtime errors. Prime Mover cannot just simply rename this on the fly while it’s being copied because the file name might be be referenced somewhere else (e.g. your code, plugins, themes or even dB) thus it can result to 404s or missing images.

Prime Mover cannot just simply ignore or skip this file as this file might be something important for your website to work, otherwise your site won’t properly. Thus the best situation is to bail out and inform the user of this issue.

Once you know the issue that the filename is invalid, the most obvious solution is to rename the file at the source site. If you are trying to rename the file, make sure to update also the links and attachments that uses the image. Otherwise you will end up with 404.

Another solution that you can implement is simply to exclude the media files in your Prime Mover PRO exports. This requires that you have a PRO version license activated.

Finally the last solution is simply to delete the file in your source site. This is useful if you don’t need the file in your WordPress posts and content.

Once you have either renamed, exclude or delete the problematic file – please re-generate the export and restore it again on the Windows server. This time, you should not have any runtime errors.