【问题标题】:WiX RemoveFolderEx not working?WiX RemoveFolderEx 不工作?
【发布时间】:2014-07-29 08:24:20
【问题描述】:

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

【问题讨论】:

标签: wix installation windows-installer


【解决方案1】:

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

【讨论】:

  • 这会将属性添加到 SecureCustomProperties 属性列表中,这些属性可以从用户界面的客户端进程(以用户权限运行)传递到服务器进程(运行具有 LocalSystem 权限)在安装过程中。服务器进程运行实际安装并且无法接收在用户界面中设置的属性值,除非当安装程序在锁定的桌面环境中运行时通过 SecureCustomProperties 属性列表将该属性标记为安全。
  • 另见 Property element description。这也许是一个更好的解释。主要升级通常会失败,因为 Upgrade table 的 ActionProperty 属性项不在 SecureCustomProperties 列表中。
【解决方案2】:

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

【讨论】:

  • 试过这个,但还是没有骰子。日志: 属性更改:添加 APPFOLDER 属性。其值为“C:\Users\\AppData\Roaming\AppCo\”。然后再往下一点:WixRemoveFoldersEx:错误 0x80070057:缺少文件夹属性:APPFOLDER 我将目录更改为“PrivateDataFolder”,将属性更改为 APPFOLDER,但 RemoveFolderEx 仍然不想工作。
  • 请在某处发布完整的日志并提供链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-25
  • 2018-12-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多