29. November 2011 21:47
Recently I was setting up a one-click deployment for a customer. I had written a windows application for them, and it was getting troublesome to copy .msi files and re-install on several clients whenever I made changes to the program.
This was my first click-once deployment project, but everything went pretty smoothly until I tried the first client install. After you follow the instructions and set up the deployment folder, there is a file there publish.htm, that clients can view to do the initial program install. After that, the program is self-updating.
But the first install wouldn't work. The error message was pretty vague, and mentioned possibly the disk was full or there was something wrong with the disk.
After poking around and trying various things, I finally went through the installation error log with a fine tooth comb, and saw that it was complaining that a third-party dll that I was using already existed. So I went back to the publish property page for the project, and discovered that the dll was listed twice! I had copied the DLL into the same folder as the windows forms, and then put a reference to it in the project. Once I eliminated the DLL from the project's list of files, the deployment worked fine.
So, the moral is:
1. If the deployment fails, be sure to read the log file very carefully
2. Examine the Project Files page of the deployment, and make sure you don't have any duplicates!