Вопрос

Я хотел, чтобы Wix удалить папку AppData при удалении, поэтому я посмотрел на RemoveFolderex и следил за несколькими сообщениями / руководствами о том, как его работать.Насколько я могу сказать, моя реализация должна работать, но это не так.Я использую следующее:

<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="AppDataFolder">
        <Directory Id="PRIVATEDATAFOLDER" Name="MyApp"/>
    </Directory>
</Directory>
<Property Id="PRIVATEDATAFOLDER">
    <RegistrySearch Root="HKCU" Key="Software\AppCo\MyApp" Type="raw" 
                    Id="APPLICATIONFOLDER_REGSEARCH" Name="PrivateDir" />
</Property>
<DirectoryRef Id='PRIVATEDATAFOLDER'>
    <Component Id="PrivateData" Guid="myGuid">
        <CreateFolder Directory="PRIVATEDATAFOLDER"/>
        <util:RemoveFolderEx Property="PRIVATEDATAFOLDER" On="uninstall"/>
        <RemoveFolder Id="PRIVATEDATAFOLDER" On="uninstall"/>
        <RegistryValue Root="HKCU" Key="Software\AppCo\MyApp" Name="PrivateDir" 
                       Type="string" Value="[PRIVATEDATAFOLDER]" KeyPath="yes"/>
    </Component>
</DirectoryRef>
.

Есть что-то, что я здесь делаю не так?

Редактировать: После проверки игрового журнала я получаю ошибку:

wixremovefoldersex: Ошибка 0x80070057 : отсутствует Папка.

Это было полезно?

Решение

В ваших журналах, над ошибкой ' 0x80070057 : отсутствует Свойство папки: privateatatafolder' Есть ли линия журнала, такая как «игнорирование запрещенной недвижимости PrivateatataFolder», и если так, вы пытались добавить 'Secure="да"' к вашему привитататафальтеру имуществу?

Другие советы

Используйте другой идентификатор для свойства, чем каталог.Они столкнулись, что вызывает пустое свойство при удалении Foldersex, пытаясь обработать его.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top