We’re using JWS to deploy software to emergency call center operators (112, the european 911) in the south of Spain. Currently this is for a couple of dozen systems but this will finally run in most hospitals, police stations and fire brigades. So far we haven’t had any problems in production. We did have problems during development but like Ken said they were always related to wrong information in the JNLP or badly configured/functioning servers. (I’m not syaing there are no bugs in JWS, I’m sure there are, just that in our controlled environment we haven’t run into any problems)
For another application for the same client we tried the All-on-one-EXE solution but this gave us so many headaches we gave up after trying several products that are supposed to be able to do this. It seems to work okay for simple cases but for products with many dependent JARs and native libraries it was just classpath-hell (we were even unpacking all the JARs and putting them into one directory, this worked but we still had problems with the native libs).
In the end we’re just using a Windows installer which works in this case because all target systems will run Windows. Never figured out why they didn’t decide to use JWS for that application too.
NB: I talked about the classpath-hell for the All-in-one-EXE solution but I must admit that getting JWS to work for non-simple applications can cause headaches too. We never spent as much time on the All-in-one case as on JWS because there wasn’t a fixed requirement for that particular application, so we went with what was easiest to get working. But once you get JWS working it really easy for the user and you don’t have to worry about updates to the software because they’ll get installed automatically (well, in our case at least because the software does not run off-line).