Unhappily accepting the “whole kit n kaboodle” with clickOnce- for now

I have really been trying to force ClickOnce to let me publish ONLY the changed files, but according to this forum post by David Guyer, I should probably just give up.

Here are my issues.

1) Moving the new deployment folder and manifest to the production server takes way too long.
  1a) part of the reason for this is that I have 3rd party dlls that I have as INCLUDED rather than Pre-Requisites. Even with all of my security, I’m a little nervous about controlling the deployment of 3rd party licensed tools and this feels safer. So with some Infragistics, Janus and XCeed components, this adds 4.5 MB to my deployment files. This is one place I will have to focus on paring it down. However, with the rate at which infragistics updates its components, this provides another excuse for leaving it in the Includes.

2) Even though all of the documentation promises that the client ONLY pulls down the new files from the server, the update dialog says that all 6MB are being downloaded and looking in the GAC I see all of the files in the latest folder, not just the new ones. This is acceptable wrt speed on the intranet, but what about our dialup users out there on the web. I’m not the only one who is questioning this.

UPDATE
I have been keeping at it and learned a little more about #2. Yes, I have to publish the entire app over again, but if I do it right, the files that are not new will not get downloaded. The way to acheive this is to make a copy of the previous deployment folder, which will mean all of the previous files will match up with the hash that the client machine has for them. Then use the MAGE tool to create the manifest. (See this msdn doc and look for the “next steps” section re: updating.) Then the client machine won’t bother pulling those down again and instead, grab them from the last folder. Or something like that. Either way, the client will still say “downloading xxxMB” where xxx is the size of the complete app, but it is only downloading new stuff from the web server and kind of “cross-loading” so to speak from a sibling folder already on the client.

Don’t Forget: www.acehaid.org

  Sign up for my newsletter so you don't miss my conference & Pluralsight course announcements!  

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.