Project opens with the wrong custom action order

Having trouble running Advanced Installer? Got a bug to report? Post it all here.
Post Reply
loganips
Posts: 22
Joined: Wed Jun 17, 2015 6:26 pm

Project opens with the wrong custom action order

Post by loganips » Mon May 13, 2019 9:55 pm

Hello,

I found a bug that occurs when opening a project with more than 20 custom actions in the wizard dialogs stage. An easy way to reproduce this is to create a project containing more than 20 custom actions (any kind, I just copy pasted a 'Set Installer Property' custom action) in the wizard dialogs stage. If you then save and reopen the project, some of the custom actions will be moved to the finish dialogs stage.

This is causing issues with our installer since the last 3 actions in the wizard dialogs stage are moved to the finish dialogs stage so they are not run in the correct place. Any feedback on this issue would be appreciated.

Thanks,
Logan

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

Re: Project opens with the wrong custom action order

Post by Catalin » Tue May 14, 2019 10:33 am

Hello Logan,
I found a bug that occurs when opening a project with more than 20 custom actions in the wizard dialogs stage. An easy way to reproduce this is to create a project containing more than 20 custom actions (any kind, I just copy pasted a 'Set Installer Property' custom action) in the wizard dialogs stage. If you then save and reopen the project, some of the custom actions will be moved to the finish dialogs stage.
I have tested this, but I was not able to replicate the same behavior. The custom actions were not moved to the "Finish Dialogs Stage". Is this reproducible in new projects, or is that particular to your project only? If that is reproducible in new project, then I should've been able to reproduce this since I have tested the scenario on a newly created project.

Could you please forward me a dummy .AIP file (that reproduces the behavior consistently) that reproduces this issue by e-mail at support at advancedinstaller dot com so I can further test this on our side (e.g. to add a new custom action, save the project, reopen it)?

Looking forward to hearing from you.

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

loganips
Posts: 22
Joined: Wed Jun 17, 2015 6:26 pm

Re: Project opens with the wrong custom action order

Post by loganips » Tue May 14, 2019 1:38 pm

Hello Catalin,

Thanks for the response.

This issue occurs both with our current installer project and a new test project I created to test this issue. After some further testing it appears this issue only occurs when the custom actions are placed at the end of the wizard dialogs stage. Putting them at the beginning does not cause this issue to happen.

I will be sending an aip file with the custom actions at the end of the wizard dialogs stage. Upon opening the file there should be two custom actions in the finish dialog stage. If you add another custom action after the ones in the wizard dialogs stage, then save and reopen the project, the new custom action should be moved to the finish dialogs stage.

Let me know if you have any other questions.

Thanks,
Logan

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

Re: Project opens with the wrong custom action order

Post by Catalin » Mon May 20, 2019 8:27 am

Hello Logan,

First of all, please accept my apologies for the delayed reply, but we were quite busy lately.

Thank you for the provided files. I have tested this and I was indeed able to replicate the behavior. I have forwarded to this to the developer team and hopefully this will be fixed in a future version of Advanced Installer. Unfortunately, as for this moment, I am afraid I can not give you any estimation on when this will be done. Thank you for your understanding.

I will update this thread as soon as this will be fixed.

All the best,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

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

Re: Project opens with the wrong custom action order

Post by Catalin » Mon May 20, 2019 1:47 pm

Hello Logan,

Followup to my last thread:

I have further investigated this and it seems that this is actually not a bug (as I have initially thought).

Here is the explanation to this:

Basically, in your sent sample, all the custom actions are added after the "User Selection" action group. The last action in sequence from the "User Selection" action group is "ProgressDlg".

The action that comes exactly after the "ProgressDlg" is the "ExecuteAction" standard action.

As you may already know, each action (both standard and custom) has a sequence number which helps Windows Installer figure out which action to execute and when.

For instance, the "ProgressDlg" has its sequence number equal to "1280", while "ExecuteAction" has its sequence number equal to "1300".

All of this can be seen by going to "Table Editor" page --> "InstallUISequence" table.

As you may have already noticed, between the two above mentioned actions is a difference of 19 (1281, 1282 ..., 1289). This basically means that only 19 custom actions can be added between the two above mentioned standard actions ("ProgressDlg" and "ExecuteAction").

Since you are trying to add more custom actions, the number is exceeded and the custom actions are moved.

This is also the reason why this only reproduce when the custom actions were added at the end of the "Wizard Dialogs Stage", because by adding it earlier, there were probably more than 20 sequence slots left.

Hope my explanation is clear enough.

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

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

Re: Project opens with the wrong custom action order

Post by Catalin » Mon May 20, 2019 3:16 pm

Hello Logan,

Another followup:

I have further talked to the developer in charge and we will try to improve this behavior.

What causes this to happen (the fact that we basically let the user make a mistake without warning him) is the fact that the check is done when the project is loaded. We will try to find a way in which the user is somehow notified before closing the project, if that is possible.

I will update this thread as soon as we will find a conclusive answer to this.

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

Post Reply