我希望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 :缺少文件夹属性:privateatafolder

有帮助吗?

解决方案

在您的日志中,高于'错误0x80070057 :缺少文件夹属性:privateatafolder'是否有一个日志线,例如“忽略不允许的属性riveatedatafolderafolder”,如果是这样,您是否尝试过添加'secure=“是”到您的riveTateAtafolder属性?

其他提示

对属性的不同id而不是目录。它们被冲突,导致recoupfoldersex尝试处理它时的属性为空。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top