The problem is that neither scripts nor binary executables are universal among all operating systems.
Java's "write once, run anywhere" is about as close as you can get, and the Java WebStart feature is about as close as you can get to true "universal install", but even it has limitations.
There are some systems that can take a single project and output multiple install packages for different OS's, but that's about it.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.