File in use from System.exe

Our application contains some fonts in one of its installed folders.Without starting the application, we use the following command line to update "PATH_TO_APP\wyUpdate.exe /skipinfo"The update starts and at some point when the progress bar is at 2/3 of completion we get a window displaying that one of the otf files we have in the font folder is in use by System.exeIs this some kind of wyUpdate bug? The font exists in the windows fonts folder as well, but I don't think there should be a conflict with that.

Is this some kind of wyUpdate bug?

No, it's telling you a file is in-use, and thus wyUpdate can't replace it until the program using the file closes. In Vista and newer you have to option of killing the process(es) using the file(s). In this case it sounds like a program named "System.exe" is using the file. So, either kill that program or wait for it to finish whatever it's doing.

I wish it was that easy.As far as I can remember, System.exe is not your typical process (search for it).Trying to kill it from your GUI does not work!Waiting for it does not work either.Canceling the updater ends up saying everything was updated and it corrupts the application as it has not finished properly.

Canceling the updater

Killing the update process will do that. If you just kill the wyUpdate process, then yes, you'll be left in a bad state. If you cancel the update, by clicking the "Cancel" button and waiting for it to roll-back the update, then you will actually rollback the update.

As far as updating in-use files, currently wyUpdate requires files that youi want to update to not be in-use.

I cancel the update, I don't kill the Updater process.This is why I think there is a bug in wyUpdate.Also, sometimes I see the following crash:

System.ComponentModel.Win32Exception (0x80004005): The operation completed successfully at wyUpdate.frmFilesInUse.GetProcessesUsingFiles(IList`1 filePaths) at wyUpdate.frmFilesInUse.bw_DoWork(Object sender, DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

Seems to me you need to fix something in your code.

Oh, we already have that fixed in the wyUpdate source code (see the trunk source code of wyUpdate). The next version of wyBuild will have the latest wyUpdate binary.

And I guess the new wyBuild will be under development for a few mode years 😉

No. It'll be out later this year.