![]()
If you create an uninstaller shortcut it will uninstall the entire app (all versions). You can use JWInstallApp to create an uninstaller shortcut:Īnd JWWindowsOS has methods to get the start menu programs folder for all users / the current user. Let me know if you'd rather I raised this on the forums. If I also create an uninstaller shortcut, will this only uninstall one of the application clients? Are updates to the JRE performed separately for each client? Is there a better way to set the launch properties as I had to to build a properties object using several calls to JWSystem.getAppLaunchProperty. Have I misunderstood or am I doing something wrong? Also a few more questions. I can see an exe has been saved for each client, however I can't run the EXE directly (I assume it needs the JWVAPP parameter). I only got a shortcut created for the first one. I have deployed to 2 servers and tried installing a client app for each server. JWInstallApp.exitJvm_ContinueAndSkipStandardSetup() continue with jwrapper setup but skip the standard shortcut installation JWSystem.saveLauncherShortcutForVirtualApp(FileSystemView.getFileSystemView().getHomeDirectory(), shortcutName, "Orchard_BPM", launchProperties, false) put shortcut on desktop (not sure where this would go on linux or mac, but currently we only support windows) tProperty("update_url", JWSystem.getAppLaunchProperty("update_url")) tProperty("bpm.EnvironmentName", JWSystem.getAppLaunchProperty("bpm.EnvironmentName")) tProperty("bpm.CodeBase", JWSystem.getAppLaunchProperty("bpm.CodeBase")) tProperty("bpm.parameterLookup", JWSystem.getAppLaunchProperty("bpm.parameterLookup")) Properties launchProperties = new Properties() Thanks, I've tried using JWSystem.saveLauncherShortcutForVirtualApp in a JWPostInstallApp as follows (instead of JWInstallApp.addAppShortcut) Install4j wants to make changes update#This requires the downloaded executable to retain the server address and pass it on right through the entire process through update and launch and finally into the app that will connect to the server. They need to not interfere with each other or get mixed up, and when the client downloaded from server X is launched it should connect to server X - the end user simply has one client per server (e.g. Lastly the version downloaded from one server may share a codebase or installation folder with the version downloaded from another server. This sounds simple but when the client apps need to be signed this is difficult in the extreme. We have now removed the need for the user to manage versions on both upgrades and downgrades. The client app now doesn't need to do any of its own updating or version checking because the version that is launched is kept in step with the server version. Secondly the installation framework (JWrapper) becomes aware of this taggable property (the Update URL) such that it can update from the local server and keep the versions in check. We have now removed the need for the user to identify the server to connect to. These clients, when they are downloaded, are tagged with the server's identity, meaning that when they run they know the server they came from and can automatically connect back to it. ![]() Here's how it works:įirstly the local server hosts its own copies of the client apps for download. This is a lot more difficult than it sounds but because this was an important case for SimpleHelp we wanted JWrapper to solve this well, and it does. Worse, if the user wants to run multiple servers or more than one version things get very complex and we end up back at complicated usecases with the end user trying to manage versions and point them at the right servers.Īs with most installer scenarios, the end user should ideally have to do and understand nothing.įor this particular usecase then the ideal would be that the user obtains a client, runs it, and the rest (identifying the server, matching versions, updating / downgrading) is done automatically. ![]() Install4j wants to make changes install#Here the end user organisation may run their server, install clients and have them connect to the local server (all catered for so far) but when it comes time to update the update should be tied to the local server, not a centralised copy or a provider website since the local server may not have been updated yet. Install4j wants to make changes software#Given the client-server nature of the software though it is important that the client stays in step with the server through both upgrades and downgrades and JWrapper has a special tag to cater exactly for this and again make it trivially easy for the developer.Ī less expected but more difficult case though is specific to on-premises software. Updating on the surface would appear to be the same problem in both Cloud and On Premises software but in fact they differ quite significantly.Ĭertainly the basic mechanism is the same - the software must connect to the server, check the version and update where necessary. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |