Каталог NN находится в профиле пользователя, но не перечислен в таблице RemoveFile

Когда я пытаюсь создать установщик, я получаю следующую ошибку:

Каталог ProgramMenuDir находится в профиле пользователя, но не перечислен в RemoveFile таблица.

Как я решаю этот вопрос? Ниже структура каталогов, которую я использую:

   <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>
48
задан Stein Åsmul 22 August 2018 в 16:52
поделиться

1 ответ

Насколько я понимаю, проблема заключается в использовании элемента . Если атрибут «Каталог» опущен, он принимает каталог родительского компонента. В вашем случае это каталог с Id = "EFIMonarch". Это объясняет, почему вы получаете предупреждение для внешнего каталога (ProgramMenuDir), но не получаете его для каталога EFIMonarch.

Попробуйте заменить:

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

на

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

Кроме того, рекомендуется указывать явно для каждого элемента RemoveFolder.

Надеюсь, это поможет.

72
ответ дан 26 November 2019 в 18:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: