J'ai un composant qui exécute un couple d'actions XmlConfig : une à l'installation et une à la désinstallation :
<Component Id="machine.config.Update" Guid="573DF5B0-438D-498d-8919-C4B96835C1EF">
<RegistryKey Root="HKLM" Key="[REGISTRYKEY]\Settings\[TITLE]" Action="createAndRemoveOnUninstall">
<RegistryValue Action="write" Type="integer" Name="MACHINEMEMORYLIMIT" Value="1" KeyPath="yes"/>
</RegistryKey>
<util:XmlConfig
Id="CacheNode.memoryLimit.add"
File="[WindowsFolder]\Microsoft.NET\[FRAMEWORKDIR]\v2.0.50727\CONFIG\machine.Config"
Action="create"
ElementPath="/configuration/system.web/processModel"
Name="memoryLimit"
Node="value"
On="install"
Value="90" />
<util:XmlConfig
Id="CacheNode.memoryLimit.remove"
File="[WindowsFolder]\Microsoft.NET\[FRAMEWORKDIR]\v2.0.50727\CONFIG\machine.Config"
Action="delete"
ElementPath="/configuration/system.web/processModel"
VerifyPath="/configuration/system.web/processModel"
Name="memoryLimit"
Node="value"
On="uninstall" />
</Component>
Le composant fait partie d'un correctif que je peux installer et annuler. Le problème est que l'action de désinstallation ne se déclenche pas lorsque je désinstalle le correctif. Ce qui est étrange, c'est que la même action XmlConfig s'exécute si je la modifie pour devenir On="install"
. Je vois que la clé de registre est correctement supprimée lors de la désinstallation. Pourquoi l'action XmlConfig ne se déclenche-t-elle pas également ? J'ai vérifié les journaux et je n'ai pas vu d'erreurs ou d'explications sur la raison pour laquelle cela ne s'est pas produit.
Mise à jour : L'action XmlConfig fonctionne lors d'une désinstallation complète. Mais pas lors d'une réinitialisation de patch.