我具有以下配置,可以从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)。
关于wix该目录在用户配置文件中,但未在RemoveFile表中列出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4627861/