DLL file disappears during an upgrade

Having trouble running Advanced Installer? Got a bug to report? Post it all here.
Post Reply
bjk68
Posts: 55
Joined: Tue Dec 01, 2009 12:45 pm

DLL file disappears during an upgrade

Post by bjk68 » Thu Mar 18, 2010 4:51 pm

We made an installer for upgrading our application from version 1.4.1 to version 1.4.2.
Before the upgrade, we manually replaced one of the dll's of this application (1.4.1.26111 replaced by 1.4.2.17065) to do some testing.
After that we upgraded the application using an MSI (containing a more recent version of this dll: 1.4.2.16627, but having a lower version).
After the upgrade this dll had disappeared from our application. :shock:
In the MSI upgrade logfile we read for this dll: Installed: Absent; Request: Local; Action: Null

Apparently the MSI decided that an upgrade was not necessary for this dll, because the version to be installed 1.4.2.16627 is lower than the version of the manualy replaced dll (1.4.2.17065).

My question is: How is it possible that this dll was was removed during the upgrade, when the MSI decided that the action should be null. Or has the uninstall phase it's own logic? Apparently this logic does not check the version of the dll on disk?

Can you explain this behaviour?

Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact:

Re: DLL file disappears during an upgrade

Post by Cosmin » Mon Mar 22, 2010 9:56 am

Hi,
My question is: How is it possible that this dll was was removed during the upgrade, when the MSI decided that the action should be null. Or has the uninstall phase it's own logic? Apparently this logic does not check the version of the dll on disk?
A major upgrade is a two-step process:
1) the old version is uninstalled
2) the new version is installed

For deciding if a file is installed or not Windows Installer uses the file versioning rules. Therefore, a file in the new package which has a version lower than the file already present on the machine will not be installed (Action: Null). However, when the old version is uninstalled the file on the machine is removed, so the file is missing after upgrade. This is a known Windows Installer bug.

As a solution is to use the "Install new version first and then uninstall old version" option in the Upgrades page. Or you can just simply enable the "Always overwrite existing file" option on your DLL file in "Files and Folders" page.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

bjk68
Posts: 55
Joined: Tue Dec 01, 2009 12:45 pm

Re: DLL file disappears during an upgrade

Post by bjk68 » Thu Apr 29, 2010 1:45 pm

Hi Cosmin,

It is good to know that this behaviour is caused by a known Windows Installer bug. Hopefully Microsoft will fix this soon.

When I follow your suggestion and change the Upgrade order to "Install new version first and than uninstall old version", I get a popup with the following information:
Your project contains some predefined Advanced Installer custom actions that are not compatible with this upgrade order.
- LZMA
Please can you explain which custom action this could be, because we have no custom action with this name. Even after I remove all custom actions, this message keeps popping up.

Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact:

Re: DLL file disappears during an upgrade

Post by Cosmin » Thu Apr 29, 2010 3:54 pm

Hi,

The action is used by the EXE bootstrapper and it shouldn't be a problem if you are not using LZMA compression for your installer (you can ignore it). Just make sure that the bootstrapper extraction path uses the "ProductVersion" property so it's unique for each version.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

bjk68
Posts: 55
Joined: Tue Dec 01, 2009 12:45 pm

Re: DLL file disappears during an upgrade

Post by bjk68 » Thu Apr 29, 2010 4:44 pm

Hi,

We currently have an empty extraction path, so the system's temporary folder will be used. When we use a relative path here "\[|ProductVersion]" the extraction fails while trying to use the folder \\?\06.01.01\ where 06.01.01 is our ProductVersion. The error is: There is not enough space in folder \\?\06.01.01\

How can we tell AI to extract to the [|ProductVersion] subfolder of the system's temporary folder?

It has to be the system's temp folder. We cannot use the user specific temp folder [TempFolder] because we have experienced issues with user directories not being available for some unattended installations.

Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact:

Re: DLL file disappears during an upgrade

Post by Cosmin » Fri Apr 30, 2010 2:08 pm

Hi,

Unfortunately relative paths are not supported. However, you can try this:

Code: Select all

[WindowsFolder]Temp\[ProductName] [ProductVersion]
Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

bjk68
Posts: 55
Joined: Tue Dec 01, 2009 12:45 pm

Re: DLL file disappears during an upgrade

Post by bjk68 » Thu May 06, 2010 1:07 pm

Hi Cosmin,
A solution is to use the "Install new version first and then uninstall old version" option in the Upgrades page.
Are you sure this has no adverse effect on other upgrade functionalities that AI offers, like
  • Upgrading Services
  • Upgrading Websites
  • Upgrading Registry entries
  • Upgrading Users and Groups
  • Upgrading SQL scripts
  • etc.
I am worried, that if we choose "Install new version first and then uninstall old version" as a standard way of distributing all our applications, that something could go wrong.
When an upgrade is limited to just the distribution of directories and files, all would work well, but when one or more of these AI specials is used, is a succesfull upgrade still guaranteed?
Or are there limitations?

Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact:

Re: DLL file disappears during an upgrade

Post by Cosmin » Thu May 06, 2010 1:34 pm

Hi,

I didn't say that this option will not affect the rest of the installation. It will. If your installation is more complex and you think this option may cause problems, you can try using the "Ensure that this file overwrites any installed target file" option in the Version tab of the "Edit File" dialog. It should make Windows Installer always overwrite the problematic file.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

bjk68
Posts: 55
Joined: Tue Dec 01, 2009 12:45 pm

Re: DLL file disappears during an upgrade

Post by bjk68 » Thu May 06, 2010 2:26 pm

Hi Cosmin,
try using the "Ensure that this file overwrites any installed target file" option in the Version tab of the "Edit File" dialog.
Thank you for your suggestion, but this results in loosing all file version information, because the version will always be 65535.65535.65535.65535.
The first three parts of the version number are essential to us.
Maybe you could add an option to AI to overwrite the last number only by 65535.

Another question:
This is a known Windows Installer bug.
Do you have an url reference to a Microsft website, where this bug is mentioned? We want to confront Microsoft with it, and ask them when they will fix this.

Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact:

Re: DLL file disappears during an upgrade

Post by Cosmin » Thu May 06, 2010 5:07 pm

Hi,
Thank you for your suggestion, but this results in loosing all file version information, because the version will always be 65535.65535.65535.65535.
Please note that this version is used only to determine if the file in your package should overwrite the already installed file. The actual file is not modified in any way.
Do you have an url reference to a Microsft website, where this bug is mentioned? We want to confront Microsoft with it, and ask them when they will fix this.
You can find it here. Since it depends on the package content and on the install actions sequence, most likely Microsoft won't fix it.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

bjk68
Posts: 55
Joined: Tue Dec 01, 2009 12:45 pm

Re: DLL file disappears during an upgrade

Post by bjk68 » Mon May 10, 2010 9:21 am

Try using the "Ensure that this file overwrites any installed target file" option in the Version tab of the "Edit File" dialog.
Please note that this version is used only to determine if the file in your package should overwrite the already installed file. The actual file is not modified in any way.
Thank you for your clarification.

We would like this Version property to be the default for all files within our AI projects. Could you add this as a checkbox on the "Upgrades" page in a future version of AI, so we don't have to change this property for all files anymore?

Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact:

Re: DLL file disappears during an upgrade

Post by Cosmin » Mon May 10, 2010 10:53 am

Hi,

We will consider making this option default. Thank you for your suggestion. Please note that you can also set this option for an entire folder through the Edit Folder dialog.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

gigixi
Posts: 1
Joined: Sun Oct 25, 2020 11:53 am

Re: DLL file disappears during an upgrade

Post by gigixi » Sun Oct 25, 2020 11:57 am

Hi, I have installed windows 10 on my PC everything has gone smooth ut now it appears some kind of error missing aaaamon.dll how can I detect from which program is missing this DLL file how to fix the problem by downloading and installing new aaaamon.dll file on the pc or to reinstall the whole Win 10? any help on how to detect the missing file and get rid of the error.
Last edited by gigixi on Mon Oct 26, 2020 3:56 pm, edited 1 time in total.

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

Re: DLL file disappears during an upgrade

Post by Catalin » Mon Oct 26, 2020 10:19 am

Hello and welcome to our forums,

I am not quite sure how your problem is related to our product, Advanced Installer.

Please note that on this forum we only offer assistance regarding our software.

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

Post Reply