I want to use Java Webstart to keep my application up-to-date. I chose the option
<update check="always" policy="prompt-update"/>
When a new version of my jar is available, this works fine the first time. I will be asked if I want the new version. If I say yes, the new version is taken, if I say no, the old version is kept. However, if I choose to keep the old version, the next time I call the jnlp file, I won't be asked anymore and the new version will always be taken.
Is there any way to fix this problem, such that the user can decline each time to use the new version and to keep the old one?
I tried also
<update check="always" policy="prompt-run"/>
and it had the same behavior, i.e. the first time, I could decline and my application would not run, and the second time the new version would always be taken.
A change request has been filed to investigate and address this issue that you raise attention to.
I tend agree that when check='always' and policy='prompt-update' (the update dialog says it is optional), users should be able to delay the update as long as they want, not just this one time.
I am just curious as to why application developers want their app users to completely control when the application update should happen. Would it is more preferable to have users have limited control on update delays? This way the application releases and their usages would be more predictable from the developer/publisher point of view?
To answer your question: It might be possible that a new version requires some new hardware or software that the user does not have. Thus, to keep the old version which works fine, the user might want to keep the old one. Or the new version has a different behavior or design and the user prefers the old one.