Partial application updates in ClickOnce using Visual Studio assembly

I am using VS2008 to publish my application files using ClickOnce. I read somewhere that ClickOnce intelligently does only partial updates; which means that it only downloads files from a network share if the file was changed in subsequent updates. However, this did not work for me. So I did some research and came across this MSDN article - http://msdn.microsoft.com/en-us/library/ms404267.aspx . It says that if we build using VS, it will not perform partial updates. Can someone tell me why this is so? If so, is there any way to at least allow link libraries to be downloaded for the first time only. I use the Microsoft Practices Enterprise Library and some third-party controls (with huge Theme files).

Thanks Uniball

+5
clickonce
source share
1 answer

Partial updates work fine in ClickOnce, even when created in VS. However, if you have a solution consisting of several projects (for example, several class library projects and an executable file), then each time you restore all projects, the timestamp on the assembly files will change, even if the code is missing. Since ClickOnce really only looks at timestamps to decide whether to update the file, it will pull out (unchanged) the assembly as new files when the user updates it.

The workaround is to pull any dependent projects from the solution executable and build them separately. This means that any assemblies whose code does not change very often will only be reset to the client once. If you need to change the assembly, you simply open its solution and make changes, then open your executable solution again and restore it. The next ClickOnce update will disable both exe and modified builds.

Hope this is clear enough!

+7
source share

All Articles