Comments (14)
Hi!
Right now, FXLauncher can only detect that the local version is not the same as the server version. In other words, it doesn't know if it has a newer or older version, just that it is different. I suspect that your new client will then download the older version, and this is the reason for the crash.
I will add another piece of info to the manifest so that it includes a timestamp as well. I'll also add an option to not downgrade, and set this to be the new default. That should solve your problem.
I will try to get this feature complete in a couple of days and get back to you.
As for JRE updates, this is for now handled by javapackager, so you would need to distribute a new installer to update the JRE. As mentioned in #16, we will include the ability to ship/download/update the JRE in a future rewrite. We're also looking at adding some kind of store functionality to the downloader as well. So, if you have the FXLauncher runtime installed, you can automatically launch new software from an url like fxlauncher://host/app.xml etc :)
from fxlauncher.
I committed some code that should deal with this. Do you have time to check it out and build it locally to test if this solves your problem? Basically do a git clone then mvn install and update your version dependencies to 1.0.12-SNAPSHOT. Then rebuild the app.xml manifest file and deploy, then create a new installer with a never manifest and check that it leaves you with the current version. Then you can try to deploy a never version to your repo to see that the app updates. OK?
from fxlauncher.
that was fast :-)
i tryed with the new version and now the client downgrades and starts with the old version, i thought the downgrade should be blocked by default?
from fxlauncher.
Yes it should, but you need to have new manifests both in the "upgraded" app and on the server. It will fail until you have updated manifests in both places. Does that make sense?
from fxlauncher.
yes, but now i have got the new one on both, server and client and it is still downgradeing
from fxlauncher.
OK, I'll investigate ASAP and get back to you :) Can you post both manifests?
from fxlauncher.
so while typing this i found that the "acceptDowngrade" was automaticly set to true, so i looked into the source code and saw that you automaticly set this to true while generating the manifest, but a can not give this as a parameter, could you make it possible to give this as a parameter or even automaticliy set it to false?
from fxlauncher.
Haha, sorry about that. I committed a fix. Will make it configurable later, but can you retry in the mean time?
from fxlauncher.
now it works, update is working and downgrade is blocked
from fxlauncher.
Great! I'll add an option to control the property tomorrow and release 1.0.12.
from fxlauncher.
I added the --accept-downgrade=true|false parameter to the create manifest step. Would you like to confirm that this is working as expected before I release?
from fxlauncher.
working good!
but one idea for style in the pom.xml file: i think this
<arguments>
<argument>${app.url}</argument>
<argument>${app.mainClass}</argument>
<argument>${app.dir}</argument>
<argument>--accept-downgrade=false</argument>
</arguments>
looks a bit crazy and i think to enable or disable the downgrade possibility maybe very essential for every application, so my idea wold be to set the acceptDowngrade Parameter like you do with baseURI, launchClass and appPath.
from fxlauncher.
A much cleaner solution would probably be to add all parameters as named. That would look better and be easier to reason about both for users and while maintaining the launcher. This would be a breaking change, but it will be implemented at some point.
For Gradle however, this is hidden, since we have a Gradle plugin. I might write a Maven plugin as well, that would make it easier to configure, and this would just be an implementation detail which I could refactor without bothering users.
from fxlauncher.
I'm closing, will release shortly :)
from fxlauncher.
Related Issues (20)
- The parameter 'executable' is missing or invalid HOT 1
- exec-maven-plugin, Command execution failed, TornadoFX HOT 7
- When create installer for window facing issues **Error: Bundler "EXE Installer" (exe) failed to produce a bundle.** HOT 14
- Wix Custom template support HOT 4
- deployApp error
- Unable to load class 'javax.xml.bind.JAXB' HOT 1
- Unable to run Application HOT 4
- Using fxlauncher for TornadoFx App HOT 6
- FXLauncher downloads corrupted JAR files HOT 7
- Exception when run fxlauncher with --app parameter only
- How to set heap space application
- how to use fxlauncher to package an offline standalone app HOT 2
- Is it possible to make one fat jar including all dependencies?
- FXlauncher with ant project HOT 1
- Download from Github Releases or Actions artifacts
- MSI Installer not working
- Requires a function that explicitly informs when a required attribute is missing.
- can't update newest version from server HOT 1
- Exception in thread "FXLauncher-Thread" java.lang.IllegalAccessError: class fxlauncher.Launcher$1 (in module fxlauncher) cannot access class com.sun.javafx.application.PlatformImpl (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.application to module fxlauncher HOT 1
- Deployed to the local disk, and there seems to be an error in the progress
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fxlauncher.