LastCheckDate not being set

Hello,

I'm working on an application that uses your WyUpdate. Presently I'm testing my application within an XP VM using .NET 4.0.

On my development machine, LastCheckDate is set properly so that the application doesn't continuously check for updates on startup - even if the update fails for some reason.

However, on my test machine (VirtualBox VM, Windows XP SP3 fully updated, .NET 4.0 full) I can restart my application over and over again and it will continuously check for updates. Clicking my manual update button (which just called forcecheckupdate) also doesn't properly update LastCheckDate.

This is a major gamebreaker for me. If I can't fix this we'll have to either back out of having an in-software updater or find another one. I don't want that though, since your updater works fine and I've spent enough time learning it.

Is there any reason this could happen? It's 100% reproducible within the VM, but I cannot reproduce it on my development machine no matter how hard I try.

This sounds like a configuration problem with your VM. None of us can reproduce this behavior here (even with VMs).

Look in the "%appdata%\wyUpdate AU". There should be a *.autoupdate file created for your app (and updated on every check). This is where the last check date is stored. Do you have it on the VM? Is it being stored in the first place? Is it being deleted?

This sounds like a configuration problem with your VM. None of us can reproduce this behavior here (even with VMs).

Look in the "%appdata%\wyUpdate AU". There should be a *.autoupdate file created for your app (and updated on every check). This is where the last check date is stored. Do you have it on the VM? Is it being stored in the first place? Is it being deleted?

Ah, this is the support that I love. There are two files, one with marked with the GUID I chose within my app, and one just called WyUpdate.exe.autoupdate. Closing and reopening my application doesn't delete them.

I don't have my update server setup at the moment. Looking in to the %appdata%\wyUpdate AU\WyUpdate.exe.autoupdate, there's a bunch of unreadable text followed by the error message. I don't see any date in either of them, but I'm assuming the unreadable text is the serialized date. It's the same story on my development rig though, and it doesn't have this problem.

On my VM, I deleted the files so they would be re-created. They are definitely being recreated in the exact same manner they were the first time.

I've managed to reproduce the error on my development rig.

All I did was go to File->Properties in WyBuild, copy the GUID, set GUID field in the automaticupdater equal to the GUID I copied, rebuilt WyUpdate, and then updated the WyUpdate and client.wyc to the new ones.

The result? My development rig now checks for updates repeatedly. It doesn't seem to be saving the date.

Could the GUID have something to do with it?

Hmmm, this is odd. What version of wyUpdate and the AutomaticUpdater are you using?

Don't use the same AutomaticUpdater GUID as the wyUpdate GUID. They have to be separate things. Also, I'm a bit unclear how you're reproducing this.

What GUID are you using in the AutomaticUpdater? (Please copy & paste exactly what you're using). What GUID are you using for wyUpdate?

Hmmm, this is odd. What version of wyUpdate and the AutomaticUpdater are yo using?

Don't use the same AutomaticUpdater GUID as the wyUpdate GUID. They have to be separate things. Also, I'm a bit unclear how you're reproducing this.

What GUID are you using in the AutomaticUpdater? (Please copy & paste exactly what you're using). What GUID are you using for wyUpdate?

The error is confusing. I managed to seem to repair it however.

What I was doing was this:

I built WyUpdate for release pointing to a non-existent URL that will be populated once the actual released version is ready. As such, WyUpdate was failing (on purpose) trying to connect to the URL that didn't exist. I did this purposefully figuring that the LastCheckedDate would update and it wouldn't bother me.

I'm speculating, but what it looks like is when WyUpdate searches for an update at a location it won't update LastCheckedDate when it fails. Once I uploaded a fake update to the web server it found the update, said it was up to date, and never checked again. This is what lead me to my conclusion.

I don't think I read this anywhere in the documentation for AutomaticUpdater or WyUpdate. I could be wrong though. If it's not in there (and I'm correct here), I would definitely recommend putting it there.

Yes, I suppose we should make a note of that. "LastCheckDate" means the last date the updates were successfully checked for. If an error happens, then it doesn't count it as a check (that wouldn't be very useful for end users).