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>
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With