Zsolt Kollarits
Posts: 374
Joined: Fri May 29, 2015 10:36 am

Silent update problem by updater service

Dear Advanced Installer,

We have analyzed a very weird issue with our automatic client rollout updates: for years we were doing the automatic .exe rollout mechanism in the same way:
- configured the updater project as per you will see in the attached screenshot -> generated a .tuic file
- on our client we passed the .tuic file for the updater service

Now the entire mechanism stopped working, although we did not touch our updater project at all. The only thing we did is that we upgraded to AI 22.8.

The actual problem is that our updater dialog is just hanging after some time. It starts the installation, we can see in task manager that even the prerequisites are being installed, but the entire process is taking too long, at some point the dialog is just gone.

After a quite long investigation we figured out that the problem is caused by this line in our .tuic file:
NoGUICommandLineSwitch = /exenoui /qn
If we remove /exenoui and /qn - important that both of them must be removed - the the updater can install our .exe file.

Do you have any idea why this issues started to be happening and whether AI upgrade 22.8 might be causing it?

In a separate email I will send some attachments for better understanding!

Best regards,
Zsolt
Catalin
Posts: 7528
Joined: Wed Jun 13, 2018 7:49 am

Re: Silent update problem by updater service

Hello Zsolt,

First of all, apologies for the quite delayed reply.

Could you please send me the resources again as I didn't manage to grab them in time?

Make sure that the following are included:

- the AIP file for your main project

- the Updater Configuration File

- V1 so I can install it and perform the upgrade via updater after + the .TUIC file (not quite sure what that is)

Additionally, please let me know of the test-case on how to reproduce this on my end as well (if it's just launching the updater manually on my end, then no need for a test-case, but if there is anything special I might need to do, please do let me know).

Regarding the issue, to be quite honest with you, I am not aware of any bugs that might have been introduced in version 22.8. However, a good test case for this would be to download the latest version (e.g. on a VM), rebuild your setup there and retry the test. If this no longer reproduces, then it most likely has been fixed in the meantime.

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Catalin
Posts: 7528
Joined: Wed Jun 13, 2018 7:49 am

Re: Silent update problem by updater service

Hello Zsolt,

I have had a look over the resources you provided, but I'm afraid I couldn't find the culprit - everything seemed to be configured correctly.

If this is still and issue on your end, please provide the v1 of the installer as I previously requested so I can run a test on my end and see if I can reproduce the issue.
- V1 so I can install it and perform the upgrade via updater after + the .TUIC file (not quite sure what that is)

Additionally, please let me know of the test-case on how to reproduce this on my end as well (if it's just launching the updater manually on my end, then no need for a test-case, but if there is anything special I might need to do, please do let me know).
In your case, are you able to reproduce the issue on multiple machines, or is it happening on your main machine only?

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Zsolt Kollarits
Posts: 374
Joined: Fri May 29, 2015 10:36 am

Re: Silent update problem by updater service

Hi Catalin,

I've just sent to email via WeTransfer for you, the v1 and v2 version of our TheClient.exe product. Naturally we are about to install v2 over v1 with your Updater service.
The .tuic file is the one we are generating with your updater project -> we selected .tuic as a format. If you open up the file you will understand its role.

Problem 1:
1. If in the updater project we use the default /exenoui /qn flags which are appearing in your textbox by default, then usually the updater service is not able to install v2. The update start, we click on the Next button, the green-progress-bar dialog is just in progress, and few seconds later we get an error dialog. The dialog does not give a specific error, it is just saying there was a problem with the installation.
As I mentioned we figured out that if we remove the /exenoui /qn and replace it by anything else e.g. /L*Vx log.log (-> you see this in the .tuic now, but please use the exenoui qn flags to be able to reproduce th eproblem), then the installation works.

Problem 2:
We just found out that if some files are in use e.g. by another user, then the updater green-progress-bar dialog is just staying on the screen kind of forever. I will attach a logfile, the installation log is saying, that there is a file in use. We can accept the fact that the installation cannot be completed due to that file, however it's a quite "strange" user experience to leave your dialog on the screen forever. Forever means if we leave our VM there for half an hour and check it afterwards, the installation is still going on. Don't you think you should handle those situations (installation is blocked due to a file) in a different way? E.g. notifying a user about which file is blockin the installation?

Best regards,
Zsolt
Attachments
hanging_conv.zip
(332.2 KiB) Downloaded 17 times
Zsolt Kollarits
Posts: 374
Joined: Fri May 29, 2015 10:36 am

IMPORTANT! Silent update problem by updater service

Dear Advanced Installer,

Could you please handle this ticket as extreme important as it is blocking our release.

Thank you!

Best regards,
Zsolt
Zsolt Kollarits
Posts: 374
Joined: Fri May 29, 2015 10:36 am

Re: Silent update problem by updater service

Dear Advanced Installer,

Could you please deal with this ticket?

In the meantime we found out some more things, I would split up the issues into 2 parts as I did in my last letter.

Issue 1:
Key to reproduce: you should have "NoGUICommandLineSwitch = /exenoui /qn" this line in the updater files (in our case in the .tuic file)
What happens: it seems some prerequisites, e.g. ODBC cannot be installed, and that is why the updater install dialog is showing an error screen (I attach it).
I also attach the logfile.

Note: we can install our prerequisite manually by double-clicking on the exe or even silently by using the same command line arguments in cmd that we have in the .aip project.

Issue 2:
This issue is the consequence of Issue 1. We figured out that removing the "NoGUICommandLineSwitch = /exenoui /qn" line from our updater (.tuic) file is NOT RESULTING in an error dialog. In this case the installation is going on and there are 2 sub-cases here:

A) No files is blocked by a service our application -> success, our installer installs the newer version of our product

B) 1 or more files are locked by a service or application -> updater service cannot cope with the installation, the installation will be hanging, the updater's green progress bar dialog stays on screen kind of forwere. We never ever get an error.

So we need a solution for Issue 1, and if that is solved, we will put back the original "NoGUICommandLineSwitch = /exenoui /qn" line into the updater files as the entire updater procedure was much more stable by having that line. For example we have never ever seen any hanging install dialog.

Please check the logfile I attached and let us know what the problem is!

We release our product already a day ago, we need a solution asap! I'm also sending our .aips again.

Best regards,
Zsolt
Attachments
error_odbc.png
error_odbc.png (11.37 KiB) Viewed 567 times
issue1.log
(827.13 KiB) Downloaded 23 times
Catalin
Posts: 7528
Joined: Wed Jun 13, 2018 7:49 am

Re: Silent update problem by updater service

Hello Zsolt,

I have tested the manual installation and can confirm that it works, as you mentioned.

However, this is not without its issues, as it seems that during a silent installation, explorer.exe is stopped as it seems to be keeping some files in use (also managed to reproduce this on Uninstall from Control Panel). Do you also reproduce this on your end? I'm asking as this might be related to the file in use issue you mention here:
B) 1 or more files are locked by a service or application -> updater service cannot cope with the installation, the installation will be hanging, the updater's green progress bar dialog stays on screen kind of forwere. We never ever get an error.

Most likely, this issue appears due to this mounted image:
Screenshot_78.png
Screenshot_78.png (4.77 KiB) Viewed 401 times
When I'm trying to test with the updater, it says that it can not connect to your server.
Screenshot_77.png
Screenshot_77.png (9.11 KiB) Viewed 401 times

Here's what I did on my end:

1. installed v29.4

2. went to the installation folder (PFX86) and launched the updater from there

With the newer version, 34.0, you provided a .TUIC file (you sent the EXE and the TUIC file) - should I do something with that? I tried copying that in the installation folder (where the updater is) for version 29.4, but it didn't help.

Manually entering the URL you provided in the configuration file for updater also leads to an unreachable site:
Screenshot_79.png
Screenshot_79.png (39.43 KiB) Viewed 401 times
What happens: it seems some prerequisites, e.g. ODBC cannot be installed, and that is why the updater install dialog is showing an error screen (I attach it).
I have also noticed that you have added this prerequisite 3 times in your project and it doesn't seem to be any difference between them, so not quite sure why you added it 3 times?
Screenshot_80.png
Screenshot_80.png (30.52 KiB) Viewed 401 times

Could you please try to move ODBC as "before main package" and let me know if that helps here?
Screenshot_81.png
Screenshot_81.png (1.54 KiB) Viewed 401 times
Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Zsolt Kollarits
Posts: 374
Joined: Fri May 29, 2015 10:36 am

Re: Silent update problem by updater service

Dear Catalin,

We should try to focus on the logfile in which you see that ODBC installation is failing. This is our main problem, and that´s why we are getting the error dialog for sure. The logfile is clearly showing, that ODBC is failing and this makes the entire installation to fail.

Answering your question:
On purpose we have 3 times the ODBC prerequisite in the setup, if you are searching for keyword "ODBC" you can see that those prerequisites are feature-based prerequisites, and we would like to install them only when a certain feature is installed (TheReplicationServer, TheServer, TheTenantsManager).
That´s why we would like to install them During Main Package, while the features are being installed. If none of those 3 features are selected by a user, then we DO NOT want to install them.

My questions:
1. Why ODBC is installed during the silent installation none of those features are selected by the user.

2. I will attach a screenshot, for every ODBC we turned on the "Continue main installation even if the prereq is not installed" checkbox, so we don´t know why this prereq installation problem is blocking the entire silent install procedure, and why our product is not being installed still.

Best regards,
Zsolt
Attachments
continue.png
continue.png (22.34 KiB) Viewed 391 times
Zsolt Kollarits
Posts: 374
Joined: Fri May 29, 2015 10:36 am

Re: Silent update problem by updater service

Dear Advanced Installer,

In my last letter I wrote this:
"
My questions:
1. Why ODBC is installed during the silent installation none of those features are selected by the user.

2. I will attach a screenshot, for every ODBC we turned on the "Continue main installation even if the prereq is not installed" checkbox, so we don´t know why this prereq installation problem is blocking the entire silent install procedure, and why our product is not being installed still.
"

Here 1) issue is not an issue, we performed some more tests, ODBC is only installed if a belonging feature is also installed.

But still our main question is why ODBC installation is failing, if the setup tries to install it. Due to that the entire silent setup is failing (screenshot). Could you please give us some ideas based on the install log file, why ODBC installation is failing?

Best regards,
ZSolt
Zsolt Kollarits
Posts: 374
Joined: Fri May 29, 2015 10:36 am

Re: Silent update problem by updater service

Dear Advanced Installer,

Some more info from me: although I wrote in my last email that

1. Why ODBC is installed during the silent installation none of those features are selected by the user. -> this is not an issue anymore, but basically it is still the issue. Sorry for the misunderstanding.

So it seem ODBC prerequisite is always being installed by our setup in silent upgrade mode (when using /exenoui /qn). Issue 2 is that it cannot be installed somehow. Issue 3 is that prevents our product from being installed by the silent updater service, so that we get an error dialog.

Could you please check our .aip and tell us asap why ODBC is always installed, and how to prevent that? We really disabled almost all features - for sure we disabled the ones (3) which have ODBC feature as a child-feature - but still in the install log we see ODBC is tried to be installed every time.

Best regards,
Zsolt
Catalin
Posts: 7528
Joined: Wed Jun 13, 2018 7:49 am

Re: Silent update problem by updater service

Hello Zsolt,

Thank you once again for the feedback on this.
Could you please check our .aip and tell us asap why ODBC is always installed, and how to prevent that?
I have checked the log file you send and found out that the feature is set to be installed via the MigrateFeatureState action.

The MigrateFeatureStates action is used during upgrading and when installing a new application over a related application. MigrateFeatureStates reads the feature states in the existing application and then sets these feature states in the pending installation.
Screenshot_82.png
Screenshot_82.png (9.55 KiB) Viewed 295 times

This is a Standard Action (proprietary to Windows Installer) over which we do not have much control.

It can be disabled, if needed, from the "Upgrades" page:
Screenshot_83.png
Screenshot_83.png (28.58 KiB) Viewed 295 times

Regarding the issue with the ODBC, I was just browsing through our forum for related issues and just found this thread with you from a few years ago:

Prerequisite cannot be installed, because it requires a reboot

I have a feeling that this might be the reason why the prerequisite fails, as it seems the ODBC Driver requires a reboot.

Could you please check that and let me know if it helps?

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Zsolt Kollarits
Posts: 374
Joined: Fri May 29, 2015 10:36 am

Re: Silent update problem by updater service

Hi Catalin,

Thank you for your answer.

Regarding the MigrateFeatureState action part: is it safe to disable that? I mean isn't that action is responsible for determining whether that the user will get the same set of features after the upgrade procedure?

So the uses has version 1.0 installed on his PC with a set of features. None of his features contain the ODBC prerequisite, only 3 features contain that, and the user does not have any of those installed.
The user would like to install version 2.0 of our product with silent upgrade, so after the upgrade he would like to have the exact same set of features. Will he get the same features if we disabled that checkbox you proposed?

We still don't understand why ODBC is being installed - even if the migratefeaturestate action is turned on - if none of the "ODBC features" are installed for version 1.0.

Regarding the ODBC installation problem, we are aware of that old ticket, and due to that we are performing all of our tests after a machine reboot. Also our biggest problem is that our entire product upgrade is blocked by the ODBC installation. If ODBC wouldn't be installed due to an error, but the installation would still continue and the customer would see version 2.0 of our product on his PC afterward, it would be already half-solution.

So why the entire updater process is just throwing an error in case of the ODBC installation problem?

Best regards,
Zsolt
Catalin
Posts: 7528
Joined: Wed Jun 13, 2018 7:49 am

Re: Silent update problem by updater service

Hello Zsolt,

I wanted to do a followup on this, as I've investigating your scenario intensively today.

I eventually managed to reproduce the issue, although it only happens in a particular scenario.

I am only able to reproduce this if the feature containing the ODBC sub-feature is set to install during the installation of v1 (29.4.0). The log file is the exact same as the one you sent me, where it states that MigrateFeatureState sets the feature to be installed. This makes me think that in your case that feature must have been installed beforehand.

If that is not installed in the first place, it will not be installed afterwards in v2.

Although I managed to reproduce this, I still didn't get to the bottom of it (e.g. why this is happening), so please allow me a bit more time as I'll come back to this tomorrow to further investigate it. I know that this is really important for you guys and I'm trying to assist you with maximum priority.

Thank you very much for your understanding!

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
Zsolt Kollarits
Posts: 374
Joined: Fri May 29, 2015 10:36 am

Re: Silent update problem by updater service

Hi Catalin,

I also tested this today on my side, and I figured out finally why ODBC is always installed, even if no feature that contains ODBC is installed.

In our servers setup (server build type) we have 3 features that contain ODBC: TheServer, TheTenantsManager, TheReplicationServer
In our client setup - the one we are testing right now, the client rollout scenario - has only one that contain ODBC: TheReplicationServer

So far in our setup TheTenantsManager feature was included into TheServer build only, while its child feature for ODBC prerequisite was included in TheClient and TheServer build types too. Please see the attached screenshots.

It seems, and you can see that from the intall logfiles too, even in TheClient.exe setups somehow the TenantsManager's ODBC child feature (PRE_ODBCX64_TheTenantsManager) was installed, it was set to "local" after the migration.

We have a feeling it can be a bug in Advanced Installer, because:
1. If we create a parent feature (Feature A) which is not even existing in a build type (in TheServer)

2. We create a child feature (Feature B) it which is available in every build type (TheServer, TheClient) -> this is a mistake, it should be also turned off for TheClient

3. Feature B is set to "Use parent feature installation settings"

4. At this point we would expect, that even if Feature B is enabled for TheClient, then no matter what, it won't be installed on TheClient installations because it's parent is not even existing in TheClient build. So if the parent is not there, then no matter if the child is existing in TheClient builds, it should use it's parent installation settings, so it should NOT be installed. So this is a kind of bug, because logic would say based on the settings we set in our .aip project, that every feature below TheTenantsManager won't be available in TheClient.exe.

Now we disbaled the TheClient checkboxes for the PRE_ODBCX64_TheTenantsManager feature and ODBC is not installed every time if we install a TheClient.exe.

Best regards,
Zsolt
Catalin
Posts: 7528
Joined: Wed Jun 13, 2018 7:49 am

Re: Silent update problem by updater service

Hello Zsolt,

As promised, I'm following up on this as I managed to reproduce the issue on my end and find the culprit.

Basically, it seems that the "Continue with the main installation" flag is ignored in EXE packages during a silent installation.

I have created a ticket in our bug tracking tool with maximum priority so that this can be fixed asap.

I am really sorry for any inconvenience this has caused you.

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

Return to “Common Problems”