Kaju Konfusion

Trying to implement the Kaju self-updater for the first time. My basic impression is that it’s slick as a whistle, but there’s a couple of points on which I’m not clear.
I have tried it with a practice update app and it seemed to work, but I’m unclear about a couple of points.

  1. I’m adding it to “myApp 2017”. I created a separate app (“myApp 2018”), zipped “18” , dropped the zip onto the proper field in Kaju Admin and generated the RSA key. I added that key to myApp 2017. But in the real world, I won’t be creating the new version of an app until 6 months or so. How will I be able to add the proper RSA key for 2018 to all of the 2017 apps in circulation? Guess I don’t understand how that works.

  2. For testing, I created a pretend update app. When I ran myApp 2017, the pretend update was DL’ed and placed beside the current app. The docs seem to suggest that the old version will just be replaced by the new version. They mention that only if you’re updating to 64 from 32 is it necessary to quit and restart. So if my old app is myApp 2017 and my new app is myApp 2018, will it be replaced? Do I need to inform the user to quit and find the 2018 app then relaunch?

Clarification for my addled brain much appreciated.

The answers:

  1. You will create and save the admin file, then copy the key from that file into your app. Later on, once you add updates through admin, your in-circulation apps will already have the right key. Just don’t lose that admin app file!
  2. Is this for Mac or Windows? For Mac, the app will retain its name whatever that is. My thinking was that, if the user renamed the app on purpose, an update shouldn’t name it back. On the Windows side, you provide the new executable name in admin and it will be launched once the update is complete. All the files that had corresponding versions in the update will be removed. I think that means the old executable too, but you should test. It may be that the old executable will remain alongside the new one if they are named differently. Of course, you can always have the new app look for the old executable and delete it then.

Thanks for your reply, Kem. I’m still being a bit thick. In the Kaju Admin app, under the “binaries” tab, I am told to “drop the Zip file here to calculate the hash”. Your answer #1 seems to say that it is not the .zip file, but the admin file which I drop here. But it won’t let me create that file until I fill in this text box. ???
If it’s the current version, then how do I build the app, zip it, drop it here then put the generated RSA code into the already built app?
If it’s the new version .zip, then how do I drop an app which I won’t build for 6 months?

I know I must be over thinking this, but once I get straight how to get the RSA key into my app, some building and testing (both Mac and Win, BTW) will show me how the rest works.

Thanks for contributing this module to the community. If (When) I get this working, I’ll definitely be making a contribution.

You get the public key from the button at the bottom. Do I need to make the Read Me clearer about this?

Further classification:. When you drop your zip file, the hash is presented for information only. You don’t need to manually copy that anywhere, it will be included automatically in the export.

Oooohhhhh! so the zip I drop is the CURRENT version of my app?
Steps then are: 1) Open Kaju Admin
2) get a public key by pressing that button
3) copy that to the current version of my app
4) build my current app
5) Drop the zip of my current app on the appropriate text box
6) ‘Export’ to create the Kaju Admin File which I will place on the web site for reading.

Thanks again.

Well, I guess you could, but since previous versions of your app didn’t have Kaju and the current version wouldn’t need to update to itself, there’d be no point.

No point to which step???
I can’t generate the file which I’m not supposed to not lose until I drop SOMETHING on that text box. Just a single answer please. What file am I to drop on the Hash textbox to be able to complete the process and generate the Kaju Admin file?

We seem to have a miscommunication.

  1. Open a new Admin file and save it.
  2. Use the button at the bottom to generate the public key that you copy into your app.
  3. You can export the JSON file to place on your web site so your app can find something when it checks for updates but, at this point, you do not have to fill in any version information. However, if you want to use the current version of your app as a placeholder or to test, that’s fine too.
  4. Don’t lose the file you saved in step 1.
  5. Later, when you’re ready to do an update, add a version, fill in the information, and drop the zip that contains the new version in the appropriate place.

I outlined these steps in the Step By Step section of the Read Me. Do I need to clarify it more?

What you outlined above is much clearer than what is in the Read Me. I was hell bent on creating something in the Kaju Admin app now, but I see that’s not necessary. Much testing on my part to follow.
Thanks again for your responses.

For the benefit of others who may be traveling down this same path…

Early testing indicates to me that line should read…
“You MUST export the JSON file to place on your web site so your app can find something when it checks for updates.” Otherwise you get a warning when your app is launched that the RSA key cannot be verified. That warning can be harmlessly dismissed, but would most surely freak out your users.