.NET CF Assembly corrupted after warm boot

111 views Asked by At

Our customer support came up to us with a weird problem. Every day there are some devices that didn't start our application because an error occured during the app launch phase.

While investigating the issue further I found the following post. Unfortunately it doesn't apply to my problem.

Windows CE deletes .NET CF on reset

The GAC is still present after a warm boot so the problem doesn't come from that corner.

While digging deeper into it we found that the problem is caused by a corrupted log4net.dll. Right before the problem arises there is a software update running. What happens there basically is:

- Download the new version
- Reboot the device (warm)
- A vendor specific CAB installer installs the CAB
- The device gets rebooted again
- A sysbackup is running
- Another warm boot
- Our own application is started

At the last step the app crashes with an error that the log4net assembly couldn't be found or is invalid (something like that). After comparing a working version of the assembly to the one on the device we found out that somewhere along the way of the software update the log4net assembly gets corrupted. Oddly there is a part of different config XMLs at the start of the assembly.
To me it looks a lot like there is something off with a buffer or offset. Did anyone see such a behavior before? We only see it on one out of two devices at the moment. Unfortunately our second device struggles with some other problems so they're not as widely spread as the first one on which the error happens. Therefore we can't say if it's limited to only one device type.

Any suggestions on this one?

0

There are 0 answers