What she said.
Mark, have you gone through the READ ME and tried the test app that comes with the project?
The ReadMe, despite having a seemingly great amount of detail and even a section called "Step by Step", nonetheless presumes a lot of pre-knowledge about how Kaju works on the part of the user. In this case, the info on that URL says only "you must also set... the UpdateURL where it will get its update information", which is pretty ambiguous.
I have actually printed the ReadMe and looked at it carefully but as Julia says I think it assumes some knowledge of Kaju. Before I saw this post I did not have any version sub-directories but when I saw Julia's structure it was clear I did not fully understand everything I needed to know.
I have experimented for a while before posting here. Hopefully this will get me past the "signature marker" error.
Good progress but a few more issues. One cosmetic and one fatal.
After sorting out the URL and a few other issues I am now presented with the Update Available window when I request the update.
There is a label near the top that says:
"You have version 1.1. Would you like to install version 1.2.0?
My running version is 1.1.0 but the "bug version" portion (third number from the left) is missing. I assume that the trailing dot is a period for the sentence. I think I see maybe why this happens in the Kaju code that creates the display version but I don't want to fix it if there is going to be a new release anytime soon. I have NOT tried it with something other than zero for the "bug version".
I got to the point of downloading the ZIP and Clicking INSTALL. All seemed to go OK until it tried to relaunch the EXE and it was not found. There was an open CMD window but nothing in it. When I closed the message box the CMD window closed. I searched the computer and the EXE file is NOT on the machine BUT it is in the ZIP file when I manually download it and look.
I looked at the Update Log file and there were no errors.
I tried a couple of times and managed to catch a Windows dialog box that I think was the decompressing of the ZIP with a down arrow to show the details. I clicked the downarrow and I thought I saw the EXE file name briefly appear but no errors then the dialog closed.
On one of the test, but before clicking the "Quit and Install" button, I looked and the new EXE was found in a folder called "<mypath>- decompressed". That directory appeared to be the whole structure with all of the supporting files.
After the failure message all of the supporting files are installed EXCEPT the EXE file is missing.
For I have no idea what reason Kaju stopped working today, I always use the same updater app, same files same workflow. I build one version on Xojo2018R3 I pushed the update, worked well. then today I had to push another update , so like 1 week interval, same things same steps , the app does not work anymore .
For the first debugging it seems that the app gets downloaded on the Temp folder, then it restarts but it stop on replacing the app with the new version. If I open the app from the temp folder it works well and no errors so somehow the copy script or whatever was there stopped working .
any idea on this ?
Do you set the UpdateInitiater property to nil in
the App.Destructor App.Close?
From the Read Me:
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. Unfortunately, that's not always true so you should force the issue by inserting App.UpdateInitiater = Nil into your App.Close event.
Well good to know that . so far I noticed and I guess it's weird that if I have more than one alpha or beta releases will not work, once I put final release it will work so in a way it ignores the stages, but not sure, I will put the nil and see what happens.
I'm trying to update to the latest version of Kaju.
What is the security token doing?
The update file now makes a security token:
// Add a security token // dim rawKey as string = Crypto.GenerateRandomBytes( 8 ) dim encodedKey as string = EncodeBase64( rawKey, 0 ) thisVersionData.Value( Kaju.kNameSecurityToken ) = encodedKey
But the check is kinda strange:
if thisElement.Lookup( Kaju.kNameSecurityToken, "" ) = "" then raise new KajuException( KajuLocale.kMissingReason + " security token", CurrentMethodName ) end if
There is only a check if the security token is there. Well, the token itself is only random bytes. Does this make sense?
Kaju is working perfectly in the Mac version of my app, but I recently started working on the Windows version and it is failing. It seems that the connection is working to the server and getting/parsing the JSON file there is working, but the update window never opens. At one point I forced open the window at an early stage of processing and everything seemed to work. If I force it open later (for instance adding 'Self.Visible = True' at the end of the ChooseUpdate method then the app hangs there.
Has anyone had similar trouble on Windows?