That's exactly the problem. I've detected that on some places, undetectable data (apparently valid) was entered using tampered versions of the software. Right now, the only way of knowing suspicious data (that should be phisically cheched) is by comparing dll client hashes vs hash versions on our servers. Of course it's impossible to avoid tampering, but detecting a tampered dll is not, so far. What I see right is that i'm gonna have to use a combination of our current checking method and your software. Our application is a combination of different Windows forms projects that invoke each other for different tasks. The started Project is Windows form Project that performs hash validation and software update. I copied client.wyc, wyserver.wys and wyserver.wys to bin/debug of that Project.
I added a reference to AutomaticUpdater.dll.
I declared a class variable:static AutomaticUpdaterBackend auBackend;
I created the following method that is called on main()
private void backendWyUpdate() {
auBackend = new AutomaticUpdaterBackend { //TODO: set a unique string. For instance, "appname-companyname" GUID = "MyOwnApp.20141119",
// With UpdateType set to Automatic, you're still in charge of // checking for updates, but the AutomaticUpdaterBackend // continues with the downloading and extracting automatically. UpdateType = UpdateType.Automatic
};
auBackend.ProgressChanged += auBackend_ProgressChanged; auBackend.ReadyToBeInstalled += auBackend_ReadyToBeInstalled; auBackend.UpdateSuccessful += auBackend_UpdateSuccessful; auBackend.CheckingFailed += auBackend_CheckingFailed; auBackend.ExtractingFailed += auBackend_ExtractingFailed; auBackend.DownloadingFailed += auBackend_DownloadingFailed; auBackend.UpToDate += auBackend_UpToDate; auBackend.Initialize();
//TODO: use the failed events for logging & error reporting: // CheckingFailed, DownloadingFailed, ExtractingFailed, UpdateFailed
// the functions to be called after all events have been set. auBackend.AppLoaded();
// sees if you checked in the last 10 days, if not it rechecks CheckEvery10Days();
// Blocks until "resetEvent.Set()" on another thread //resetEvent.WaitOne();
}
The problem: no event is triggered. As you can see, UpdateType = UpdateType.Automatic, so according to answers to similar questions on fums that should work.
Kindly advice.
Edgar Moreno