LukasErtl
Occasional contributor

DLLs from System32 folder are not removed on 32bit Windows during uninstall

Hi,

I have basic msi installshield 2019 project. This project installs few files into System32 folder. It works fine, it installs directly into System32 on Windows 7/10 32bit version and into SysWOW64 on Windows 7/10 64bit. All files are marked as NOT permanent in project and they are removed on 64bit version of Windows. They are NOT removed during uninstall on 32bit version of Windows.

The setup of project shall use variable [SystemFolder] to distribute the component and feature.

Do you know what could be the issue??

Lukas

Labels (1)
0 Kudos
4 Replies
shunt
Revenera Moderator Revenera Moderator
Revenera Moderator

Re: DLLs from System32 folder are not removed on 32bit Windows during uninstall

Before you attempt the uninstall - check the dll reference count on the machine:

[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionSharedDLLs]

 The reference count for the problematic dll's should be 1 , so when it uninstalls it is removed. If the ref count is any higher before you attempt the uninstall this could identify what the issue is.

Does this happen on every machine you install/uninstall or does it only occur on a single machine where you are testing the installer?

0 Kudos
LukasErtl
Occasional contributor

Re: DLLs from System32 folder are not removed on 32bit Windows during uninstall

Hi, thanks for the tip, but the count is set to 1. so it shall be uninstalled. But it is not. See the screenshot created right after the installation. When I perform uninstall, the records are removed from the registry entry, but the files are kept in System32 folder.

I tested it on 3 machines, 1 with Windows 7 32 bit, 1 with Windows 10 32bit and 1 with Windows 10 64bit. On the 64bit version the files are removed from SySWoW64 folder. Those machines are virtualized, so I start every test with clear machine.

I believe this could be issue with some redirection during installation, but I dont know much about this.

Lukas

0 Kudos
shunt
Revenera Moderator Revenera Moderator
Revenera Moderator

Re: DLLs from System32 folder are not removed on 32bit Windows during uninstall

For the problematic files - find their respective components which they belong to and change the component setting to Shared = No

Rebuild and test again.

If this still doesn't help, can you try and create a uninstall log and post it here with the name of one of the components that is not getting removed?

0 Kudos
LukasErtl
Occasional contributor

Re: DLLs from System32 folder are not removed on 32bit Windows during uninstall

Hi, 

I did try to set the component as NOT shared, but it did not help.

Please, see attached uninstall.txt file. One of the problematic component is "CodecACM" with file "G723A32.ACM" or another "FarPointLib" with "FPSPR70.ocx". I could not find any record of removing those files in the log.

 

0 Kudos