WiX RemoveFolderEx不工作?

WiX RemoveFolderEx不工作?,wix,installation,windows-installer,Wix,Installation,Windows Installer,我希望WiX在卸载时删除AppData文件夹,因此我查看了RemoveFolderEx并遵循了一些关于如何使其工作的帖子/指南。据我所知,我的实现应该是可行的,但事实并非如此。我正在使用以下命令: <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="AppDataFolder"> <Directory Id="PRIVATEDATAFOLDER" Name="MyApp"/&g

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

请为属性使用与目录不同的Id。它们发生冲突,这会导致RemovedFoldersEx尝试处理属性时属性为空。

在日志中,在“错误0x80070057”上方:缺少文件夹属性:PRIVATEDATAFOLDER”是否存在诸如“忽略不允许的属性PRIVATEDATAFOLDER”之类的日志行,如果是,是否尝试添加'secure=“是”“到您的PRIVATEDATAFOLDER属性?

这可能会对您有所帮助:我完全遵循了该指南,但我收到了上面的问题,但仍然没有骰子。日志:属性更改:添加APPFOLDER属性。其值为“C:\Users\\AppData\Roaming\AppCo\”。然后再往下一点:WixRemoveFoldersEx:错误0x80070057:缺少文件夹属性:APPFOLDER我将目录更改为“PrivateDataFolder”,将属性更改为APPFOLDER,但RemoveFolderEx仍不想工作。请在某处发布完整日志并提供链接。这会将属性添加到属性列表中,这些属性可以在安装期间从用户界面的客户端进程(以用户权限运行)传递到服务器进程(以本地系统权限运行)。服务器进程运行实际安装,无法接收用户界面中设置的属性值,除非在锁定的桌面环境中运行安装程序时,该属性通过SecureCustomProperties属性列表标记为安全。另请参阅。这也许是一个更好的解释。主要升级通常会失败,因为的ActionProperty属性项不在SecureCustomProperties列表中。