Make sure to test out your ClickOnce deployment very thoroughly in your client's environment. I am omitting details here, but there are many problems with ClickOnce. I have been supporting a ClickOnce application for 3.5 years now and have run into many problems with manifests, having to manually delete the sandbox storage folders so the updates install correctly, etc. - if you search online for ClickOnce problems you'll find quite a few issues in the MSDN forums and elsewhere, many of which MS does not appear to want to resolve as they've been open since Visual Studio 2005.
Also, be aware of a potential gotcha in ClickOnce prior to .NET 3.5 SP1. If you do not have your own software deployment certificate from a CA recognized by the client machines, Visual Studio uses a "temporary" certificate (*.pfx) which expires one year from creation. After that time, subsequent update releases will probably not install, and will show users scary messages about certificate expiration. Microsoft fixed this in .NET 3.5 SP1, but you had to dig through the release notes to find the comments that temporary or permanent certificates were no longer required. So - if you don't have a public CA certificate, and you'll be supporting this application for some time, then make sure you're on .NET 3.5 SP1.
Depending on the complexity of your scenario, since you ask about other solutions, we wound up using a "roll your own" approach that goes something like this.
Each updated release increments the assembly version as needed.
Build contains a custom step to auto-generate a file with the new assembly version.
The deployment project copies the version file to the output directory with MSI.
Each time the installed application runs, it compares its own version to the version in the version file in the deploy folder. If they differ, quit the application and launch the MSI, which we set to automatically remove older application versions.
This is a "poor man's ClickOnce" for an environment where there are no application deployment tools whatsoever avl (not even AD application advertising) so we made do. Again, this approach may not be sophisticated enough for you, but it works fine for us.
Best of luck.