bad read of entry 0 from compressed archive

Hi,

We have a number of client installations that are able to successfully check for updates periodically using wyupdate (2.6.18.4) when executed from our own Windows service application.

One of the installations, though, gets the following error every time wyupdate is invoked: Error: Unable to check for updates, the server file failed to load. Message: bad read of entry 0 from compressed archive.

Obviously there is nothing wrong with the .wys / .wyu files, for other installations don't get this error.

When we manually invoke wyupdate.exe from a command line with the same parameters as used by our application, no errors occur. We are even able to perform an update (when available) manually from a command line with no problems either...

Is there something corrupt on that particular installation? Anything we can check to assist in troubleshooting this?

Thanks a lot,Alex

This sounds like the file was partially downloaded. And thus the error. Retrying the update should work.

Thanks Wyatt.

The application is designed to check for updates every N minutes (in this case 10).We also define error handlers for AutomaticUpdaterBackend.{CheckingFailed, BeforeChecking, DownloadingFailed, etc.}

So if any of them are invoked, we write the error details to Windows application event log. In this particular case CheckingFailed is invoked every time a check for an update is made, resulting in a log entry every 10 minutes.

Why would this particular installation's download be partially downloaded every time?

Thanks again!

Just to add... Retrying the update continues to result in the same error. Since we re-try every N minutes, this same error is added to the log every time.

It's sounds like a bad file is being cached. We'll look into this.

Calling ForceCheckForUpdate(true) will re-download the *.wys from your server.

Yep, we're already invoking ForceCheckForUpdate( true ) every N minutes anyway...

...if ((DateTime.Now - m_objBackend.LastCheckDate).TotalMinutes >= m_iCheckFrequencyMinutes && (m_objBackend.UpdateStepOn == UpdateStepOn.Nothing || m_objBackend.UpdateStepOn == UpdateStepOn.UpdateAvailable) ){ m_objBackend.ForceCheckForUpdate( true );}...

So we hoped that the .wys file is re-downloaded every time to avoid caching issues.

Considering that the manual invocation of wyupdate from a command line succeeds and an update takes place successfully, is there something different when the check for updates occurs from a Windows service (with /fromservice param)?

Hi Wyatt,

This error is still occurring, even after re-tries.Is there any way to delete the cached file? What would be the location of that file?

Thanks,Alex