我有以下配置从WIX删除和复制文件。
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id="AppDataFolder" Name="AppDataFolder">
<Directory Id="GleasonAppData" Name="Gleason" >
<Directory Id="GleasonStudioAppData" Name="GleasonStudio">
<Directory Id="DatabaseAppData" Name ="Database">
<Directory Id="UserSandboxesAppData" Name="UserSandboxes" />
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
<DirectoryRef Id="UserSandboxesAppData">
<Component Id="comp_deleteBackup" Guid="*">
<RemoveFile Id="RemoveBackup" Directory="UserSandboxesAppData"
Name="DevelopmentBackUp.FDB" On="install" />
<RegistryKey Root="HKCU" Key="Software\Gleason\Database\RemoveBackup">
<RegistryValue Value="Removed" Type="string" KeyPath="yes" />
</RegistryKey>
</Component>
<Component Id="comp_createBackup" Guid="*">
<CopyFile Id="DBBackup"
DestinationDirectory="UserSandboxesAppData"
DestinationName="DevelopmentBackUp.FDB"
SourceDirectory="UserSandboxesAppData"
SourceName="Development.FDB" />
<RegistryKey Root="HKCU" Key="Software\Gleason\Database\CopyBackup">
<RegistryValue Value="Copied" Type="string" KeyPath="yes" />
</RegistryKey>
</Component>
</DirectoryRef>
我得到4个与ICE64相关的错误 - 目录“xxx”在用户配置文件中,但未在RemoveFile表中列出。 xxx = {UserSandboxesAppData,DatabaseAppData,GleasonStudioAppData,GleasonAppData} 其他人在这里遇到了类似的问题:Directory xx is in the user profile but is not listed in the RemoveFile table.。但那个解决方案对我没有帮助。
我需要改变什么?
谢谢你, Venkat Rao
答案 0 :(得分:11)
您需要在组件下添加一些RemoveFolder
元素,以使ICE64满意。
<RemoveFolder Id="RemoveThisFolder" On="uninstall" />
有关删除每个用户数据和管理通过所有ICE验证测试的更多详细信息,请查看Rob Mensching的How to create an uninstall shortcut (and pass all the ICE validation)。