wix该目录位于用户配置文件中,但未在RemoveFile表中列出

时间:2011-01-07 16:38:25

标签: wix installer windows-installer

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

1 个答案:

答案 0 :(得分:11)

您需要在组件下添加一些RemoveFolder元素,以使ICE64满意。

<RemoveFolder Id="RemoveThisFolder" On="uninstall" />

有关删除每个用户数据和管理通过所有ICE验证测试的更多详细信息,请查看Rob Mensching的How to create an uninstall shortcut (and pass all the ICE validation)