Wix removefolderex non funziona?
-
20-12-2019 - |
Domanda
Volevo che Wix rimuovi la cartella AppData durante la disinstallazione, quindi ho guardato RemoveFolderex e seguì alcuni post / guide su come farlo funzionare.Per quanto posso dire, la mia implementazione dovrebbe funzionare, ma non lo fa.Sto usando quanto segue:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="AppDataFolder">
<Directory Id="PRIVATEDATAFOLDER" Name="MyApp"/>
</Directory>
</Directory>
<Property Id="PRIVATEDATAFOLDER">
<RegistrySearch Root="HKCU" Key="Software\AppCo\MyApp" Type="raw"
Id="APPLICATIONFOLDER_REGSEARCH" Name="PrivateDir" />
</Property>
<DirectoryRef Id='PRIVATEDATAFOLDER'>
<Component Id="PrivateData" Guid="myGuid">
<CreateFolder Directory="PRIVATEDATAFOLDER"/>
<util:RemoveFolderEx Property="PRIVATEDATAFOLDER" On="uninstall"/>
<RemoveFolder Id="PRIVATEDATAFOLDER" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\AppCo\MyApp" Name="PrivateDir"
Type="string" Value="[PRIVATEDATAFOLDER]" KeyPath="yes"/>
</Component>
</DirectoryRef>
.
C'è qualcosa che sto sbagliando qui?
Modifica: Dopo aver controllato un registro verbose ottengo l'errore:
WixRemoveFoldersex: Errore 0x80070057 : Struttura della cartella mancante: PrivatedAtaFolder
Soluzione
nei tuoi registri, sopra l'errore " 0x80070057 : Proprietà della cartella mancante: PrivatedAtaFolder 'C'è una linea di registro come" Ignorando la proprietà non consentita PrivatedAtaFolder "e in caso affermativo, hai provato ad aggiungere 'Secure="Sì"' alla tua proprietà PrivatedAtaFolder?
Altri suggerimenti
Utilizzare un ID diverso per la proprietà rispetto alla directory.Stanno scontrando, il che fa sì che la proprietà sia vuota quando rimossi è necessario tentare di elaborarlo.