I know it is a very commonly faced problem. But, there is a slight difference, my WPF installs perfectly and runs on Windows 7 and Windows 8 OSes. But, when tried to install
It's because your developer machine had .NET 4.5 installed, while your client machines only had .NET 4.0 installed. The .NET 4.0 client machines can't read the manifest, as they expect SHA-1, while the .NET 4.5 developer machines can.
I was able to solve my issue by removing the signing of the manifest.
If you right-click your project and go to properties then to the Signing Tab; uncheck the Sign the ClickOnce manifests and Sign the assembly.
I'm not sure what this does in terms of security but my app installed after I removed these options.