views:

1000

answers:

2

Hi I have deployed a clickonce application, in my application i have 10 external dlls. Since the code inside my dll files keeps changing and it's tough to redistribute i went with clickonce deployment strategy. But i wanted to know a thing, if i make a change to one of the dll files and upgrade it's assembly version from 1.0.0.0 to 1.0.0.1, but do not change the publish version, it still is 1.0.0.0. Also i have set the update setting to be before application loads. I re ran the setup deployment but it did not run the updated assembly. What is wrong? I'm using VS2008 and C#.NET 2.0

+4  A: 

ClickOnce only cares about publish version for the whole project. Increment this in your "My Project" Publish tab and publish again.

Tom Willwerth
+2  A: 

I want to add to Tom's answer.

He is correct, ClickOnce only cares about the publish version for the project. However, once your application is started on a client's machine and it recognizes it's not the latest version, it starts comparing the file hashes from the application manifest (the application manifest is the one without the ".application" extension...go figure). Therefore, it only downloads files that have changed; yes, a recompile with no code changes is still a change.

And one final note. The download progress bar that appears when a client is downloading the latest version always shows the entire size of your application. However, rest assured that it is only downloading the changed files. I've done testing with a bandwidth monitor to confirm it.

whatknott
can you clarify the point of checking the latest version? is it the assembly version or the publish version which the application checks? i've set it to check for updates on every time before it is run.
Anirudh Goel
it checks the publish version. it completely ignores assembly versions, except that changing assembly versions will most likely generate a different file hash. so it's a two step process: 1. check the publish version 2. if the publish version is different, download all files with different hashes.
whatknott
that makes sense. Thanks a lot, it sure will help me!!
Anirudh Goel