2011-01-07 18 views
7

Tengo la siguiente configuración para eliminar y copiar un archivo de WIX.wix El directorio está en el perfil de usuario pero no aparece en la tabla RemoveFile

<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> 

me sale 4 errores relacionados con ICE64 - El directorio 'xxx' es en el perfil de usuario, pero no aparece en la tabla RemoveFile. xxx = {UserSandboxesAppData, DatabaseAppData, GleasonStudioAppData, GleasonAppData} Alguien más tenía un problema muy similar aquí: Directory xx is in the user profile but is not listed in the RemoveFile table.. Pero esa solución no me ayudó.

¿Qué debo cambiar?

gracias, Venkat Rao

Respuesta

9

Usted querrá añadir algunos elementos RemoveFolder debajo de sus componentes para mantener ICE64 feliz.

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

Para más detalles sobre la eliminación de datos por usuario y la gestión de pasar todas las pruebas de validación de ICE, visita How to create an uninstall shortcut (and pass all the ICE validation) por Rob Mensching.

+0

No quiero eliminar ninguna carpeta, solo quiero eliminar un archivo. ¿Hay una manera de hacer eso? –

+1

Tendrás tu RemoveFile en la instalación, y RemoveFolder en la desinstalación para mantener feliz a ICE64. – saschabeaumont

Cuestiones relacionadas