cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
LouisE
Level 3

Do empty folders create a Windows Installer Repair?

IS 2021 R2 - Basic MSI

Trying to determine what is causing a Repair, when the product is started. 

Component creates folder (no files installed to that folder).  I see the folder was created (before the product is manually started by clicking on the desktop shortcut).  When the product is started, repair starts.  Event log says that the folder was not found.

Am considering putting some Dummy.txt files in that folder, before starting the product.  Also considering manually creating another desktop shortcut to start the product, thus circumventing the advertised shortcut that the installer created, and possible preventing a repair.

Anyone have any thoughts on this?

Labels (1)
0 Kudos
(8) Replies
Revenera_Ian
Revenera Moderator Revenera Moderator
Revenera Moderator

Hi @LouisE,

Thank you for your post.

The issue that you are describing sounds like autorepair. It also sounds like you took at look at the Event Viewer log, but there are specific Event IDs that you need to look for (see below):

The best practice approach for diagnosing and troubleshooting autorepair is to check the Event Viewer > Application log. What we're looking for is a component's missing keyfile or something of that nature that's causing the autorepair. A keyfile is a file that the installer "keys off of" to determine whether a component is installed. If a keyfile is missing then the installer will trigger autorepair to reinstall that missing component.

In the Application log, you will find warnings from event source Msilnstaller with Event IDs 1001 and 1004:

The message details will look like this:

Event ID: 1001
Description: Detection of product "{AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE}", feature "Test" failed during request for component "{BBBBBBBB-CCCC-DDDD-EEEE-FFFFFFFFFFFF}"

Event ID: 1004
Description: Detection of product "{AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE}", feature "Test", component "{BBBBBBBB-CCCC-DDDD-EEEE-FFFFFFFFFFFF}" failed The resource "C:\Program Files\MyCompany\test.exe" does not exist

Please give these suggestions a try. Do they work for you?

Hope this helps.

Please let us know if you have any questions or concerns. Thanks!

0 Kudos

Please look at attached image.  In the component table, the last column is the KeyPath, as you can see it is empty.  Is it IS policy that you should not creating components that have no files, that you should at least put in a dummy file?

Went and looked at the previous emails from users, and yes, they showed the missing folder, and problem with feature errors.

0 Kudos
Revenera_Ian
Revenera Moderator Revenera Moderator
Revenera Moderator

Thank you for your reply, @LouisE.

If the key path is missing, I believe that could cause issues. A key path or key file are what Windows Installer uses to determine if a component is installed, so either a key path or a key file is required. If a key path or key file is missing, Windows Installer triggers and attempts an autorepair to install the missing component. So yes, based on my experience, it is probably best to at least put in a dummy file and set the dummy file as the key file.

Please give this a try. Does it work for you?

Please let us know if you have any questions or concerns. Thanks!

0 Kudos
LouisE
Level 3

We have two product installers.  I checked the installer for the other product, and it also has some components that create empty folders (no files in those components).  That product does not have the repair problem.  In the components table those components also have nothing in the KeyPath column.   They are not installing to the INSTALLDIR and instead are installing to the ProgramData product subfolder.  Is that a factor\reason why that product does not have the Repair problem?  The only difference in the component properties is that in this second product, those components have the .net dependency scan turned on (but I do not see that as a factor that makes any difference).

0 Kudos
skrueger
Level 6

Does the folder habve an entry in the CreateFolder table?

Stefan Krueger
InstallSite.org / InstallSite.de
0 Kudos
LouisE
Level 3

In both products, for those folders that were being created empty, there are entries in the CreateFolder table (no matter if installing to InstallDir or ProgramData).  In a test of adding dummy.txt files to those folders, the entries in the CreateFolder table went away.

My problem is that I cannot recreate the issue on my test VM's (clean snapshots), it only appears to happen on the product developer\testers systems, and at customer sites (and it is not consistent, in that it does not happen every time they start the product).  I am wondering if their systems are somehow corrupt.

0 Kudos
varul
Revenera Moderator Revenera Moderator
Revenera Moderator

Hi @LouisE , 

 Could you please share verbose log on repair time,

Launch the setup.exe in cmdlet and generate verbose log and share the log file.

 

BMSI LOG:
=========
Setup.exe /v"/l*v c:\test.log"

Do you have any customaction that creates this folder? Is this folder related to any specific component? could you please share your project ism file.

0 Kudos
LouisE
Level 3

Please see attached document.  Now not sure the repair is cause by missing folder.

0 Kudos