2011-01-07 9 views
7

Ho la seguente configurazione per eliminare e copiare un file da WIX.wix La directory si trova nel profilo utente ma non è elencata nella tabella 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> 

ottengo 4 errori relativi a ICE64 - L'elenco 'xxx' è nel profilo utente, ma non è elencato nella tabella RemoveFile. xxx = {UserSandboxesAppData, DatabaseAppData, GleasonStudioAppData, GleasonAppData} Qualcun altro ha avuto un problema molto simile qui: Directory xx is in the user profile but is not listed in the RemoveFile table.. Ma quella soluzione non mi ha aiutato.

Cosa devo cambiare?

Grazie, Venkat Rao

risposta

9

Ti consigliamo di aggiungere alcuni elementi RemoveFolder sotto i componenti per mantenere ICE64 felice.

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

Per ulteriori dettagli sulla rimozione dei dati per utente e riuscendo a superare tutti i test di convalida ICE, controllare How to create an uninstall shortcut (and pass all the ICE validation) da Rob Mensching.

+0

Non desidero rimuovere alcuna cartella, voglio solo cancellare un file. C'è un modo per farlo? –

+1

Avrai RemoveFile al momento dell'installazione e RemoveFolder al momento della disinstallazione per mantenere ICE64 felice. – saschabeaumont

Problemi correlati