Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Directory NN is in the user profile, but is not listed in the RemoveFile table

Tags:

wix

When I am trying to create the installer i am getting the following error:

The directory ProgramMenuDir is in the user profile but is not listed in the RemoveFile table.

How do I resolve this issue? Below is the directory structure I am using:

<Directory Id="ProgramMenuFolder" Name="Programs">   <Directory Id="ProgramMenuDir" Name="E">     <Directory Id="Monarch" Name="Monarch">       <Component Id="Monarch" Guid="*">                                <RemoveFolder Id='Monarch' On='uninstall' />         <RemoveFolder Id='ProgramMenuDir' On='uninstall' />         <RegistryValue Root='HKCU' Key='Software\[Manufacturer]\[ProductName]'                                     Type='string' Value='' KeyPath='yes' />       </Component>     </Directory>   </Directory> </Directory> 
like image 230
subs Avatar asked Jul 20 '10 13:07

subs


1 Answers

As far as I can see, the problem is in the usage of <RemoveFolder/> element. If the 'Directory' attribute is omitted, it takes the directory of the parent component. In your case, it is a directory with Id="EFIMonarch". This explains why you get the warning for the outer directory (ProgramMenuDir), but don't get it for EFIMonarch directory.

Try replacing:

<RemoveFolder Id='ProgramMenuDir' On='uninstall' /> 

with

<RemoveFolder Id='RemoveProgramMenuDir' Directory='ProgramMenuDir' On='uninstall' /> 

Also, it is a good idea to be explicit for every RemoveFolder element.

Hope this helps.

like image 96
Yan Sklyarenko Avatar answered Sep 24 '22 21:09

Yan Sklyarenko