我有以下配置从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).