Lubert
Posts: 14
Joined: Mon Jan 04, 2021 8:36 am

Uninstaller for multi-instance not working

Tue Sep 06, 2022 9:00 am

I have created an installer project (using advanced installer 19.8.1) that allows to install multiple instances of our product.

The installation and uninstallation of the main instance works fine, so the installation of other instances.

The problem: If i want to uninstall one of the other instances the installer seems to do a lot (the progressbar is progressing) but
in fact it does nothing and leaves the whole installation behind. There are no errors or warnings. At the end of the installation
the installer brings the message that the uninstallation was successfull, and that ist just not true.

After three days of investigation i hope you can bring some light into the darkness :)

Attached you will find my project file and a log file for the uninstalltion...
Attachments
AI Setup d.gov Aktenplan API.aip
My Project File
(170.39KiB)Downloaded 262 times
UnInstall-Log.txt
MSI-Log-File
(655.94KiB)Downloaded 258 times

Liviu
Posts: 1035
Joined: Tue Jul 13, 2021 11:29 am
Contact:  Website

Re: Uninstaller for multi-instance not working

Wed Sep 07, 2022 10:35 am

Hello,

Unfortunately, I cannot open your attached project due to its repository dependencies.
repo.png
repo.png (28.2KiB)Viewed 13483 times

Therefore, in order for us to further investigate this, can you please forward to us all the necessary dialogs from the Repository so we can open your project? You can upload them here or you can send the files by email to support at advancedinstaller dot com.

Otherwise, can you please send us a sample project that can be build and which can replicate the encountered behavior?

However, could notice in the uninstall log file, multiple lines like this:
MSI (s) (70:B4) [09:29:38:869]: Allowing uninstallation of shared component: {CC68322F-7EB9-4B42-A737-FD5A95A6CFA8}. Other clients exist, but installed to a different location
MSI (s) (70:B4) [09:29:38:870]: Allowing uninstallation of shared component: {791A42E1-01FC-4E0A-B490-7E67426FD670}. Other clients exist, but installed to a different location
MSI (s) (70:B4) [09:29:38:871]: Disallowing uninstallation of component: {2B65D142-871C-44C9-8504-37D55783BAE7} since another client exists
MSI (s) (70:B4) [09:29:38:871]: Disallowing uninstallation of component: {2B65D142-871C-44C9-8504-37D55783BAE7} since another client exists
MSI (s) (70:B4) [09:29:38:871]: Disallowing uninstallation of component: {2B65D142-871C-44C9-8504-37D55783BAE7} since another client exists
MSI (s) (70:B4) [09:29:38:871]: Disallowing uninstallation of component: {2B65D142-871C-44C9-8504-37D55783BAE7} since another client exists
MSI (s) (70:B4) [09:29:38:871]: Disallowing uninstallation of component: {B2B05DF4-57EF-43AB-BF87-9762E4F7B080} since another client exists
(the list is bigger, but I selected only a few)

Basically, this means that your files are somehow shared between multiple setups.

Every resource from an installation package has a component assigned. A component is a piece of the application or product to be installed. Examples of components include single files, a group of related files, registry keys, resources, etc.

If you find the above lines in the log file, then this is the reason why your files are not removed. Basically, this can happen if the same components are shared between multiple packages installed on the same machine. Windows Installer keeps a refcount (reference count) for the components and does not allow removing them until all the applications that use them are removed.

For testing purposes we always recommend using virtual machines with clean states so that when something goes wrong you can easily revert to a clean state of the virtual machine.

Are you able to reproduce this issue on a clean machine?

Best regards,
Liviu
________________________________________
Liviu Sandu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Lubert
Posts: 14
Joined: Mon Jan 04, 2021 8:36 am

Re: Uninstaller for multi-instance not working

Thu Sep 08, 2022 12:43 pm

While I am testing I want to provide you with the missing repository files (see attached).

What I do not understand:
If there is a refcounter on the components: Why is the first instance working properly and only the
other instances do have this problem?
Attachments
repo.7z
Repository files
(839.03KiB)Downloaded 238 times

Liviu
Posts: 1035
Joined: Tue Jul 13, 2021 11:29 am
Contact:  Website

Re: Uninstaller for multi-instance not working

Fri Sep 09, 2022 9:16 am

Hello,

Thank you for the resources.

Unfortunately, I'm not able to reproduce the issue when I build your project with dummy resources (using a debug version).

I've followed this scenario:

1. install main application
2. install one instance
3. install second instance
4. install third instance
When I uninstalled the second or third instance everything worked as expected. The instance was successfully removed from the application folder and Control Panel. It left behind only the logging file.
test.png
test.png (19.26KiB)Viewed 13458 times

As I previously mentioned, this issue may happen only on your machine since the components are shared between multiple packages (that is what the Windows Installer says in the log).

Therefore, can you please test your setup on a clean machine and let me know if the issue persists?

Best regards,
Liviu
________________________________________
Liviu Sandu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Lubert
Posts: 14
Joined: Mon Jan 04, 2021 8:36 am

Re: Uninstaller for multi-instance not working

Tue Sep 13, 2022 8:26 am

Hello Liviu,

i already want to say thank you for your help in this subject.

You are right if i just install our service on a clean machine and do an de-installalltion it works as intended.

After some further investigation i found out that on the machine, where the problem was discoverd, the version had
been upgraded before(from version 3.1 to version 3.2).

So i tried to upgrade my version - on another blank machine - from 3.1 to 3.2. The installer then
said its done and i am on version 3.2 but in fact he did nothing more than changing the version number from 3.1 to 3.2.
Every file in the installation directory remains untouched :(

If i then try to uninstall this not really upgraded version - the uninstaller is not capable of doing this...

So my next question is: why does my installer not perform the upgrade correctly?

Therefore i created another log from the upgrade-process for one instance. Again hoping that helps..

I also want to provide you with the older version of our Advanced Installer project...

Best regards,

Lubert
Attachments
Upgrade-Log.txt
(589.01KiB)Downloaded 251 times
AI Setup d.gov Aktenplan (OLD) API.aip
(169.83KiB)Downloaded 249 times

Liviu
Posts: 1035
Joined: Tue Jul 13, 2021 11:29 am
Contact:  Website

Re: Uninstaller for multi-instance not working

Tue Sep 13, 2022 1:09 pm

Hello Lubert,

Thank you for the details.

It appears that the old version is not detected. In the log file the OLDPRODUCTS property is not set. This property is set in the upgrading MSI if the package found an older version installed on the target machine.

In your project you have the "Detect and upgrade all languages, excluding the specified ones" option selected in the Upgrades page. Can you please check the last option "Detect and upgrade all languages" and see if it works?

Also, in the log file the Product Code for your latest version is {64139018-5F46-49C0-AA67-9A49ACBC2EB5}, while in your .AIP project is a different one.

This may also happen when you are using the same project (or copies) to create different installation packages. Did you manually copy the .AIP project and then use it for a newer version? Please keep in mind that when you copy the .aip (project file) and reuse it to build another installer package all the GUIDs for product, components,etc. in the two projects will be identical and thus will conflict if you install it on the same machine. So, if you want to reuse an existing .aip file to build another installation package you should use our "Save As Template..." option.

If the above option does not help, you can also try enable the "Always overwrite existing file" option from the Operations tab of the Folder Properties.
always.png
always.png (180.41KiB)Viewed 13417 times

Please let me know if that helped.

Best regards,
Liviu
________________________________________
Liviu Sandu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Lubert
Posts: 14
Joined: Mon Jan 04, 2021 8:36 am

Re: Uninstaller for multi-instance not working

Thu Sep 15, 2022 7:54 am

Hello Liviu,

unfortunately none of your solutions helped us:

Changing the detection to "Detect and upgrade all languages" brought no difference. Changing the folder operation to overwrite existing files
made no difference, too.

Creating a new project from template resulted in a different product and our QM wasn't then able to upgrade the old installation what they
wanted to do in the first place.

So i decided to start from scratch and comprehend what our QM does and created a logfile for every installation step performed.
I gave every log file in the attachment a corresponding number to the following steps so you can easy follow my description:

1. Installed the older version as main - every works fine
2. Installed the older version a new instance (inst1) - every works fine
3. Installed (to upgrade) the new version for inst1 - no errors during the installtion but: no file was changed and the new version number is shown
4. Installed (to upgrade) the new version for the main instance - every works fine there
5. Tried to uninstall inst1 - no errors but the de-installation was just not done. Every file was left behind.
6. Tried to uninstall the main instance - every works fine

Something surprising happend when i tried to do it again but change the order of step 3 and 4 (upgrading the main instance first
and then inst1): The out installer said an upgrade would be fullfilled but then, in the main installer i was only able to start an uninstallation...

I added this as logfile 7.

I know that are many logfiles and i really hope this detailed description can help you to find whats wrong in my project.

So i want again say thank you for your help and for your time and patience :)

Best regards,

Lubert
Attachments
adv.7z
All the log files
(146.77KiB)Downloaded 250 times

Liviu
Posts: 1035
Joined: Tue Jul 13, 2021 11:29 am
Contact:  Website

Re: Uninstaller for multi-instance not working

Fri Sep 16, 2022 1:49 pm

Hello Lubert,

Thank you for the details.

I've been able to reproduce your scenario when building your projects with dummy resources. Basically the upgrade is not installed for the instance of the first version. The v2 upgrade of the instance is also not removed as expected.

The upgrade of the secondary instances works only if the steps below are implemented (this steps are necessary only when the "Build major upgrades for multiple instances" option is not used):
- keep the same extract folder between versions (remove [|ProductVersion] from extract location in the "Builds" page)
- check the "Do not delete extracted MSI and CAB files" option from the same page

Please follow these steps:

I. Open the old .AIP project file:

1. Go to the Product Details page and uncheck the Override Windows Installer programs list entry option.

2. Go to the Multiple Instances page and check the Generate new GUIDs for all installing components option.

3. Go to the Builds page and check the Do not delete extracted MSI and CAB files option. In the Extract location field I added: [AppDataFolder]Aktenplan\install

The extract location needs to be the same for both projects.

II. Open the newer version of your .AIP project:

1. Go to the Upgrades page and click on the Change ProductCode and component's GUIDS blue link and choose Change.

2. Go to the Multiple Instances page and check the Generate new GUIDs for all installing components option.

3. Go to the Builds page and check the Do not delete extracted MSI and CAB files option. In the Extract location field I added: [AppDataFolder]Aktenplan\install
builds.png
builds.png (28.95KiB)Viewed 13376 times

That's all. After that I tested the following scenarios and everything worked as expected:

1. Install 3.1.0.0
2. Install 3.1.0.0 instance1
3. Run 3.2.0.0 and upgrade 3.1.0.0 instance1 --> now the files are overwritten.
4. Uninstall 3.2.0.0 instance 1 --> has been successfully removed.

Please let me know if that helped.

Best regards,
Liviu
________________________________________
Liviu Sandu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Lubert
Posts: 14
Joined: Mon Jan 04, 2021 8:36 am

Re: Uninstaller for multi-instance not working

Mon Sep 19, 2022 3:16 pm

Hello Liviu,

I tested the new settings today and i can say we are close but the cow is not from the ice yet.

If I followed your instructions and installed / uninstalled the application in the correct order - it was working as intended.

But if i upgrade the main instance first and then the inst1:
Selection.png
Selection.png (25.21KiB)Viewed 13331 times
The installer correctly said that an upgrade will be performed (in german letters :) ) :
Question.png
Question.png (26.51KiB)Viewed 13331 times
Then the options dialog is shown with the only enabled option: "Entfernen"=Remove:
remove.png
remove.png (28.95KiB)Viewed 13331 times
And you won't believe me if i am saying that if i continue the upgrade will be done instead an de-installation :D

So i have two problems left now:
1. Get the installer working that an upgrade of the main instance can be done without having trouble upgrading the second instance
2. If we get it working: the application is already installed multiple times - is there a way to patch the old installations that they work
with the new behaviour?

Lubert
Posts: 14
Joined: Mon Jan 04, 2021 8:36 am

Re: Uninstaller for multi-instance not working

Mon Sep 19, 2022 3:17 pm

Here's the corresponding log file for the upgrade-process...
Attachments
Install-Upgrade-Inst1-Log.txt
(117.65KiB)Downloaded 269 times

Liviu
Posts: 1035
Joined: Tue Jul 13, 2021 11:29 am
Contact:  Website

Re: Uninstaller for multi-instance not working

Wed Sep 21, 2022 1:32 pm

Hello Lubert,

I have tested this with a sample project and I can indeed confirm the behavior.

It appears that this happens when the Enhanced User Interface feature is enabled.

Now, I can't say for sure whether this is a limitation of our multiple instances feature or a bug. By design, our multiple instances feature is quite limited.

I have forwarded this to our development team and hopefully this will be fixed in a future version of Advanced Installer. As soon as we have a resolution on this we will let you know.

I apologize for the inconvenience.

Best regards,
Liviu
________________________________________
Liviu Sandu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Lubert
Posts: 14
Joined: Mon Jan 04, 2021 8:36 am

Re: Uninstaller for multi-instance not working

Thu Jan 12, 2023 9:56 am

Hello Liviu,

can you roughly estimate when this issue will be fixed?
It has become really urgent for us in the meantime...

BR
Lubert

Liviu
Posts: 1035
Joined: Tue Jul 13, 2021 11:29 am
Contact:  Website

Re: Uninstaller for multi-instance not working

Thu Jan 12, 2023 2:10 pm

Hello Lubert,

Unfortunately, this has not yet been fixed.

I'm afraid I can not give an ETA for this. Once a fix will be available, we will update this forum thread.

For now, I have increased the ticket's priority and hopefully this will be fixed in a future version of Advanced Installer.

Best regards,
Liviu
________________________________________
Liviu Sandu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

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

Re: Uninstaller for multi-instance not working

Wed Mar 08, 2023 3:47 pm

Hello Lubert,

This has been fixed in version 20.4 of Advanced Installer, released on March 2nd, 2023.

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

Lubert
Posts: 14
Joined: Mon Jan 04, 2021 8:36 am

Re: Uninstaller for multi-instance not working

Thu Feb 08, 2024 9:25 am

Hello Catalin,

unfortunately the problem has returned: again the installer will not update any satellite-instances :(

The installer is seemingly doing a lot of things but at the end of the day it does nothing...

Find the associated run log file attached...

Best regards ,
Lubert
Attachments
RunLog.txt
(321.92KiB)Downloaded 18 times

Return to “Common Problems”