2014-05-22 3 views
0

Je crée une configuration pour une application Web à l'aide de Windows Installer XML. La plupart des fichiers sont collectés à l'aide de l'outil thermique dans un fichier de construction personnalisé. Cela inclut le Web.config qui est modifié lors de l'installation.Empêche l'écrasement des fichiers Web.config

Est-il possible d'empêcher l'écrasement de ce fichier s'il existe, par exemple si j'effectue une mise à jour?

+0

duplication possible de [Copier si inexistant dans WiX] (http://stackoverflow.com/questions/1912037/copy-if-not-exist-in-wix) –

+0

Non, ce n'est pas un doublon ou au moins la réponse donnée dans: [link] (http://stackoverflow.com/questions/1912037/copy-if-not-exist-in-wix) ne correspond pas à mes besoins. Je ne peux pas fournir un numéro de version par fichier car j'utilise la chaleur pour rassembler ces fichiers. – Revoluzifer

Répondre

2

Si le MSI installe le fichier de configuration, puis qu'une action personnalisée ou une application le modifie, il ne sera pas remplacé sur une mise à jour à cause du file overwrite rules.

Il sera supprimé si vous le désinstallez, et cela inclut une mise à niveau majeure qui a RemoveExistingProducts au début de la mise à niveau. Lorsque MSI installe des fichiers de données, il définit la date de création et la date de modification comme étant identiques afin de pouvoir détecter si le fichier a été modifié après son installation sur le système. Modifier le fichier web.config pendant l'installation (probablement après que MSI l'a mis sur le système) est un code qui modifie le fichier. Ce truc est facile à tester. Installez un fichier de données avec MSI et examinez les dates, puis modifiez-le et examinez les dates à nouveau. De même, après votre installation, regardez les dates de modification et de création du fichier de configuration - elles devraient être différentes et donc une mise à jour MSI ne le remplacera pas comme décrit précédemment.

+0

Le fichier n'est pas modifié par une action personnalisée ou une autre application. La modification de Web.config se produit dans un composant en utilisant l'élément XmlFile de WiX. Encore une fois, mes étapes sont les suivantes: Récolter les fichiers Web publiés en utilisant la chaleur; Modifiez web.config en utilisant l'élément WixUtilExtension: XmlFile. – Revoluzifer

+0

Dans ce contexte, "une autre application" est un code qui modifie le fichier de données après qu'il a été mis sur le système, y compris les mises à jour Xml fournies par WiX. Voyez si l'explication mise à jour aide. – PhilDW

Questions connexes