This demo shows how manual updates via ClickOnce are done.This example works without the BackgroundWorker.
View my article here for more information.