If you decide to build your enterprise applications through .NET, may be the deployment strategy is one of the most important jobs in your whole project. Failure of the deployment strategy may result in lower customer satisfaction and also increase maintenance costs. Through my experience of building enterprise applications for banks and securities companies, I'll suggest four very clear reasons why you should not use Clickonce as your deployment strategy for your enterprise applications.
Three reasons why you should not choose Clickonce
Reason 1. Clickonce does not support proxy networks
If your customer company uses proxy servers for their network security and if your application is deployed under Clickonce technology, simply, your application doesn't get deployed under the proxy network.
And also I found that almost every bank and securities company uses a proxy network (HSBC, City Bank, Goldman Sachs.. and so on..). So if your clients are companies like that, just don't try to use Clickonce deployment because it does not work at all (there is a way to run Clickonce under a proxy network, if you have the power to order every customer to fix the settings of the machine.config file which is located very deep inside the Windows folder).
Reason 2. Assembly verification time is too long
Even though your application has a moderate number of assemblies, your clients should wait more than minutes to be deployed.
Reason 3. Customization is not allowed.
If you have more than 50 assemblies to be deployed, a financial company's network security device may disconnect your deployment process forcibly with sync flooding failure. Even though you know the cause of that failure, you can not GZip your assemblies into lesser than five physical files because Clickonce does not support doing that.