

- Xojo fixed field install#
- Xojo fixed field update#
- Xojo fixed field code#
- Xojo fixed field series#
- Xojo fixed field windows#
If Kaju cannot find the tools it needs, the Result will be set to UnsupportedOS after you call ExecuteAsync or Execute. All recent versions of MacOS and Linux should be supported. Kaju will work the same way on Mac, Windows, and Linux.
Xojo fixed field update#
If your update information is not on a secure website, it shouldn't matter which you use, but we still recommend ExecuteAsync moving forward. The older class is used when you choose the synchronous Execute and set AllowRedirection to False (Unfortunately, the URLConnection class has no way to disallow redirects and we can only fake it in asynchronous mode.)ĮxecuteAsync will report its result in the ExecuteAsyncComplete event while Execute will report its results immediately. The more modern implementation is preferred and used when you choose ExecuteAsync. Xojo has introduced the URLConnection class, an update to the classic HTTPSocket and HTTPSecureSocket classes.

Kaju has two ways to start the update process, and. If there was a connection error with ExecuteAsync check the LastError property too. To discover what UpdateChecker found, you can check the Result property in the ExecuteAsyncComplete event after using ExecuteAsync (preferred) or directly after calling Execute. If they do choose to install, the update window will be sent to the back so it will be closed last. Since none of this is modal, the user can continue to use your app with the update window waiting in the background. If they choose to install, Quit will be called.

Xojo fixed field install#
If the user chooses to update, the class will download and verify the binary, then offer the user the opportunity to Quit & Install or Cancel. Kaju will handle everything else by going to the UpdateURL to see if there are any updates available for that version of the app, then ask the user about them. For more information, look here.Ĭall the ExecuteAsync (preferred) or Execute method of the Kaju.UpdateChecker. Note: Due to changes in the MacOS, accessing an insecure URL will require entries in your app's plist file. (Conversely, a URL that does not start with "https:" will be accessed normally.) If that URL () starts with "https:", it will be accessed securely. At the least, you must also set the ServerPublicRSAKey (more on this later) and the UpdateURL where it will get its update information. In the Constructor, you have to provide a FolderItem for a folder where Kaju can save its preferences, one that is unique to your app. ImplementationĬreate a new Kaju.UpdateChecker instance and fill in its properties.
Xojo fixed field code#
There is example code in the Kaju Update Test project. The user must manually start the new app, so your code should warn them and force the app to quit.
Xojo fixed field windows#
Important: Due to limitations in the Windows and Linux OS's, a 64-bit app that is launched after an update from the 32-bit version will not work properly. If you plan to allow 32-bit to 64-bit updates on Windows and Linux, you must include code that will force the user to manually relaunch the app after such an update. If appQuitting then // This "if" is not strictly necessary

You've determined that you need to cancel the That code should look something like this:Įvent CancelClose(appQuitting As Boolean) As Boolean (It doesn't matter if there is an update scheduled at the time.) This will prevent an update from happening if the user quits later without choosing Quit & Install again. In those cases, you must call Kaju.CancelUpdate. The only other special code you'll need is in the CancelClose event of any window where the close is actually being cancelled, i.e., where you have the event return True. Unfortunately, that's not always true so you should force the issue by inserting App.UpdateInitiater = Nil into your App.Close event. Important: Kaju does its magic by launching a command-line script when the UpdateInitiater gets set to Nil, which should happen when the app quits. Kaju expects to find that and will handle it for you. You need to add one property to your App class, UpdateInitiater As Kaju.UpdateInitiater. Important: Do not drag the folders directly from the directory. Open the included Admin App or Test App, copy the Kaju Classes folder, then paste it into your project. In other words, set it up, write the code to call it, then forget about it. It is meant to be a single, turnkey solution with minimal involvement by you.
Xojo fixed field series#
It is designed as a series of Xojo classes in a central module and a Window. Kaju is a pull system where the client application gets information from a known URL. A Xojo module and Admin apps to enable self-updating Xojo apps.
