WiX RemoveFolderEx 不起作用?

标签 wix installation windows-installer

我希望 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

最佳答案

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

关于WiX RemoveFolderEx 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25011050/

相关文章:

wix - Windows 安装程序错误 : "Object already exists"

.net - 将参数从 Bootstrap 传递到MSI bundle

wix - 使用动态实例名称安装MSI的多个实例

installation - 使用/qn(静默模式)执行 MSI 时如何找出默认值?

c# - Wix 中的自定义操作以操作字符串和设置属性

python - 如何在 Ubuntu 12.10 上安装 Google App 引擎?

java - 要求用户切换到新包的最愉快方式(删除实际应用程序并安装新应用程序)

wix - 如何使用Wix将一组文件复制到多个位置?

python - 为 Python 库创建 "Windows installer"

msbuild - 如何从 assemblyInfo.cs 读取程序集版本?