Error code 13 while copying file from FlashDisk

I delivered to customers more or less 50 devices based on Colibri VF61 256MB IT V1.2A and most of them work properly. I use Win CE6 V1.6b4.

A couple of them cannot boot anymore my Qt-based application; after my investigation I found that the reason is that QtGui.dll has not been copied into Windows folder (by AutoCopy feature).

If I try to copy manually QtGui.dll to somewhere else (SD card, Windows, …) I get the following error:
Error Copying File or Folder

Cannot copy ‘QtGui.dll’. Error code 13.

Which is the reason for this error?
I suspect that the source file is corrupted, but I can’t find the reason.

In the meanwhile I see that CE6 image has been upgraded to 1.7b6 and the release notes show a list of fixes that seems related to Flash corruption.

Where I can see the relase notes for 1.7b6?

What should I do now?

Is it safe that I upgrade all my devices to 1.7b6?

Thank you for your help; I’m a little bit worried about the impact of this bugs…

Error code 13 is ERROR_INVALID_DATA, so it cold well be that this is related to the recently fixed flash corruption problem.

There was a problem with the 1.7b6 release notes not showing up in the web backend… now it should be fixed so you can see the changes.

You can test 1.7b6. We plan to release it as 1.7 final next week if we don’t hear any negative feedback from our customers that are already testing it.

Note that just updateing to 1.7b6 will most probably not fix the issue, the file will be still corrupt. The best if if you then reformat the whole flashdisk (“format” button on the main “storage manager” control panel)

Another Tipp:
You don’t need to copy QtGui.dll (or other DLLs/EXEs) to \windows on each boot, you can just keep it in the same folder as you executable, put it to \Flashdisk\System or add the folder that you put them in to the dll search path:
[HKEY_LOCAL_MACHINE\Loader]
“SystemPath”=… (multi-sz)

Hi @germano.tx

for sure I’m going to test 1.7b6 and I let you know.

Cn you clarify a little bit which are the differences between the several approaches for DLLs/EXEs location? (loading time, performance, …).
I copy the DLLs to \Windows and my application to \Program Files at every boot because I was suggested to do this.

Hi @vix

If you leave DLLs and EXEs on FlashDisk they will (by default) be loaded with “on demand paging”.
This means that whenever a piece of the code is needed it will be read from flash and copied to RAM. This way the code can be executed faster as not the whole exe or dll needs to be loaded first, but it could lead to little delays when a rarely used piece of code is needed for the first time.
It’s a trade off between speed of initial code execution and consistent real-time behavior.

NOTE that you can disable the “on demand paging” in the registry to force the exe or dll to be loaded completely before execution.
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\MSFlash\EXFAT]
“Paging”=0

Hi @germano.tx

Note that just updateing to 1.7b6 will most probably not fix the issue, the file will be still corrupt. The best if if you then reformat the whole flashdisk (“format” button on the main “storage manager” control panel)

Is it ok if I restore the filesystem from a backup using UpdateTool?

Yes, you should be fine using the restore from update tool as it formats the store and recreates partitions automatically. Just make sure that your backup is not corrupted yet.