I have an application (VS2003 currently) that dynamically loads dll's which contain data entry forms, reports and other classes for a variety of tests. Each test has a separate dll. The dlls are not compiled into the application, but dynamically loaded.
Here is how that works: Each dll is named with a pattern that includes the test name: eg FieldTest_ABC.dll or FieldTest_XYZ.dll. Based on the user selecting which test to load up, the test's name (eg "ABC") is passed into a routine which checks for the existince of file FieldTest_ABC.dll and if it does exist, loads it up using reflection.
SO....I have used the version 1 of applictaion updater block but I had to customize it for this scenario. Additionally, since there can be many tests and we only add new onces occasionally, I did not want updater to download ALL of the old tests ever time. We have users on dialup and this is a bad thing for them. In the long run, the success was inconsistent and the the entire thing was broken by the update of BITS in the windows operating system. I can't say that my client was very impressed and web deployment has been the absolute
BAIN 
of my .NET development experience for over 3 years.
Now comes click once. I have not spent a lot of time with it but have looked over some of the documentation. I would like to know if either of the above scenarios are easily handled (without major in ClickOnce customization) before I spend a lot of time going down a possibly dead-end path. I am considering updating the entire application (which is a complex app with many layers) and this also means upgrading my ws security from wse2 to wse3, so its a big undertaking - and is only worth it if I can FINALLY get this type of deployment to work successfully.
Thanks very much for any leads
julie lerman