我有以下配置从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
您需要在组件下添加一些RemoveFolder元素以保持ICE64满意.
<RemoveFolder Id="RemoveThisFolder" On="uninstall" />
有关删除每个用户数据和管理通过所有ICE验证测试的更多详细信息,请查看Rob Mensching的How to create an uninstall shortcut (and pass all the ICE validation).