开发者

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

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

The directory ProgramMen开发者_C百科uDir 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 other answers are still not working for you, try to check Suppress ICE validation option, Visual studio will ignore these validations, just follow this route:

YourProject -> Properties -> Tool Settings

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


Just writing this up for some others who may still experience this problem even after following the answer for this question.

I had the same problem, and even after explicitly specifying the Directory in the RemoveFolder did not help me, I tried to put this DirectoryRef containing the shortcut install/uninstall somponents right after the TARGETDIR within the same fragment and it helped fix my issue.


If following answer still still not working. Try to reboot your visual studio.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜