badalambadad
Posts: 8
Joined: Thu Feb 08, 2024 4:34 pm

Updater GitHub Integration throws 0xE000000C

Hello,

I'm having issues doing successful update using the GitHub integration method.
At the very end of the update installation I get failed update and that error happened, although when I check everything seems in order and the update was installed correctly as the application was updated.
All I managed to get from the error logs was:
Update installation failed LastError: 0xE000000C

All I'm doing is clicking the updater section and setting the url to "https://api.github.com/repos/.../releases" where I have exe of the update installer.
Do I need to have separate update configuration project for this use case. I see no point in creating one when using GitHub integration for updating.
What is the full configuration flow if I want to do these kind of updating?


Kind Regards,
Goran
Catalin
Posts: 6608
Joined: Wed Jun 13, 2018 7:49 am

Re: Updater GitHub Integration throws 0xE000000C

Hello Goran,

Considering the details you've offered so far, it looks like the configuration is well done, except the condition you are using for the updates.

The Updater tool is using the condition defined in your Updater Configuration project --> "Update Installed Detection" tab as it follows:

- once before installing the update --> here, the condition should be false meaning the update is not installed

- once after installing the update --> here, the condition should be true, meaning the update was correctly installed

In your case, it seems that the second check is failing, although the update was installed just fine.

We have two options here:

1. make sure the condition is correct

2. enable the "Do not try to detect if update was installed" option from the "Update Installed Detection" tab

Hope this helps!

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
badalambadad
Posts: 8
Joined: Thu Feb 08, 2024 4:34 pm

Re: Updater GitHub Integration throws 0xE000000C

Hi Catalin,

Thank you for the answer!

I don't understand the usage of the updates configuration project when using and selecting github integration in the updater.
I don't see how the updater from my original installer and the updates configuration project are connected.

This is my updater
Image

I understand if I don't use GitHub integration, I need to build an updates configuration project then use the txt file generated and place it on a server. Then I'm selecting that txt file in the updater configuration url in the original installer. This way there is connection between the original installer and the updates configuration project.
But when I use the GitHub integration I don't see how an updates configuration project is relevant along with any selection or config done there.
Can you tell me what I'm not understanding?

Kind regards,
Goran
Attachments
updater.png
updater.png (111.28 KiB) Viewed 22673 times
Catalin
Posts: 6608
Joined: Wed Jun 13, 2018 7:49 am

Re: Updater GitHub Integration throws 0xE000000C

Hello,

You are indeed right, sorry for the confusion.

In the How to integrate the Updater with GitHub? article, it is specified that:
Screenshot_119.png
Screenshot_119.png (79.05 KiB) Viewed 22040 times

In your case, if you do not have an advinst_update.json file, then the above registry entry is checked. In case your setup is using another registry key, then your scenario will happen (i.e. you will be prompted with the error despite the update being correctly installed).

Hope this helps!

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
badalambadad
Posts: 8
Joined: Thu Feb 08, 2024 4:34 pm

Re: Updater GitHub Integration throws 0xE000000C

Hi Catalin,

Thanks for the answer!

I have checked what you asked and everything seems in order, but I still keep getting the error.

Here is the registry value
reg.png
reg.png (104.82 KiB) Viewed 21427 times
Here is the segment with the version from api releases json document from GitHub
"node_id": "RE_kwDOLW9Vks4Ii0vM",
"tag_name": "2.0.0.1",
"target_commitish": "main",
"name": "Git Installer update",
"draft": false,
"prerelease": false,
"created_at": "2024-02-23T12:46:03Z",
"published_at": "2024-02-23T12:56:40Z",

So I'm updating from 2.0.0.0 to 2.0.0.1, With the first installation the version is 2.0.0.0 in the registry. With the update the version is updated to 2.0.0.1.
I also tried adding advinst_update.json in the GitHub release, but with no success.

When I specify the registry key path do I use "HKEY_LOCAL_MACHINE\SOFTWARE..." or "HKLM\Software..." ?
In the initial install in the updater.ini the ApplicationVersion is 2.0.0.0 is that correct?
When I do the update and it is finished the version in ApplicationVersion is 2.0.0.1.

Do you know what might be the issue in this case?
I'm running out of ideas to try.

Goran
Catalin
Posts: 6608
Joined: Wed Jun 13, 2018 7:49 am

Re: Updater GitHub Integration throws 0xE000000C

Hello Goran,

Thank you for your followup on this and for sharing the details with me.
When I do the update and it is finished the version in ApplicationVersion is 2.0.0.1.
This would indicate that the new version was actually installed.

For instance, if you check the Control Panel, is the new version available there?

Additionally, please note that the Product Version field should have only 3 fields, as per the documentation provided by Microsoft.

I'm thinking that not respecting that might also impact the behavior.

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
badalambadad
Posts: 8
Joined: Thu Feb 08, 2024 4:34 pm

Re: Updater GitHub Integration throws 0xE000000C

Hello Catalin,

Thank you for the suggestions, but unfortunately nothing worked.

Yes, the version in Control Panel is the correct one after update.
I also changed the versioning to be with 3 numbers, but that also didn't work.

I tried adding advinst_update.json like these here;
1)
{
"RegistryKey": "HKLM\SOFTWARE\XX\XX\Version",
"Version": "2.0.1"
}
2)
{
"RegistryKey": "HKLM\SOFTWARE\XX\XX\Version",
"ProductVersion": "2.0.1"
}
3)
{
"RegistryKey": "HKLM\SOFTWARE\XX\XX\Version",
}
4)
{
"RegistryKey": "HKUD\SOFTWARE\XX\XX\Version",
"Version": "2.0.1"
}
5)
{
"RegistryKey": "HKUD\SOFTWARE\XX\XX\Version",
"ProductVersion": "2.0.1"
}
6)
{
"RegistryKey": "HKUD\SOFTWARE\XX\XX\Version",
}

nothing worked.

From some time back I got this from the updates log;
CanRunClean returns: true
DoErase started.
Failed to delete folder LastError: 122

But I'm not getting this at the moment.

Do you have any other suggestions for me?

Kind Regards,
Goran
Catalin
Posts: 6608
Joined: Wed Jun 13, 2018 7:49 am

Re: Updater GitHub Integration throws 0xE000000C

Hello Goran,

In order for me to run a test and further investigate this on my end, please forward me the following resources by email at support at advancedinstaller dot com:

- a copy of the AIP file for the penultimate version (e.g. if the latest version is 2.0, please forward me the AIP file for version 1.9)

- a download link for the setup (e.g. 1.9)


Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
badalambadad
Posts: 8
Joined: Thu Feb 08, 2024 4:34 pm

Re: Updater GitHub Integration throws 0xE000000C

Hi @Catalin,

I have sent an email to the support account.

Kind Regards,
Goran
Catalin
Posts: 6608
Joined: Wed Jun 13, 2018 7:49 am

Re: Updater GitHub Integration throws 0xE000000C

Hello Goran,

Thank you very much for providing the resources and I apologize for the quite delayed reply.

Upon further tests and investigations, I think I managed to find the culprit here.

Our updater.exe is a 32-bit process and by default, when checking for the condition (in our case a registry search), it looks in the 32-bit hive (the WOW6432Node).

Normally, when creating a normal updater it's possible to tell the updater to use the 64-bit portion of registries. However, it looks like we overlooked this case when creating the Git support.
Screenshot_128.png
Screenshot_128.png (21.47 KiB) Viewed 12725 times

I have added this on our TODO list and a fix should be available in a future version of Advanced Installer.

Until then, to work this around, I would suggest creating a copy of the Version registry in the WOW6432Node. To do so, create the registry --> right click on it --> "Go to Component" and make sure the component does not have the 64-bit flag checked.

This should ensure the Updater will find the version.

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
badalambadad
Posts: 8
Joined: Thu Feb 08, 2024 4:34 pm

Re: Updater GitHub Integration throws 0xE000000C

Hi Catalin,

thank you for the support!

That was the issue and the suggested workaround solved it!

Thank you again and kind regards!

Goran
Catalin
Posts: 6608
Joined: Wed Jun 13, 2018 7:49 am

Re: Updater GitHub Integration throws 0xE000000C

You are always welcome, Goran.

I am glad that I was able to assist.

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Common Problems”