

- #XOJO GET LIST OF PROPERTIES IN A MODULE INSTALL#
- #XOJO GET LIST OF PROPERTIES IN A MODULE UPDATE#
- #XOJO GET LIST OF PROPERTIES IN A MODULE CODE#
- #XOJO GET LIST OF PROPERTIES IN A MODULE SERIES#
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 GET LIST OF PROPERTIES IN A MODULE 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 (or any 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 GET LIST OF PROPERTIES IN A MODULE 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. 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 That code should look something like this:Įvent CancelClose(appQuitting As Boolean) As Boolean // You've determined that you need to cancel the // close, so. (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 GET LIST OF PROPERTIES IN A MODULE 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.
