12
votes

Comment exécuter une action personnalisée WIX après l'installation?

J'utilise WIX3 pour installer le service WCF à IIS.

Comment puis-je utiliser ma fonction d'action personnalisée (C #) après l'installation terminée? I.e. J'ai besoin d'ouvrir un fichier web.config installé et de remplacer l'hôte Name avec réel.

Des idées?


0 commentaires

3 Réponses :


9
votes

Vous pouvez le programmer après InstallAinaliser Action dans Installexecuesequence .


1 commentaires

Précis pour le séquencer quand il veut, mais la réponse de Christoper est une meilleure solution pour ce qu'il veut réellement accomplir.



8
votes

Il existe une séquence d'actions dans Windows Installer. Le tutoriel Wix a un bonne section sur les événements ( et est une excellente ressource quand même).

Un exemple typique d'obtenir quelque chose à exécuter après l'installationFinalize est d'obtenir l'application installée pour démarrer. P>

<InstallExecuteSequence>
   <Custom Action='LaunchFile' After='InstallFinalize'>NOT Installed</Custom>
</InstallExecuteSequence>


1 commentaires

Si votre personnage utilise la propriété exécutée de la page de personnalisation pour exécuter une commande de script, cela ne fonctionnera pas et signale une erreur d'heure de compilation de : " [Insérer le nom d'identification d'action] est une action personnalisée dans le script. Il doit être séquencé entre l'action Installinitialize et l'action InstallFinalize dans la table Installexecusequence "



6
votes

Pourquoi voudriez-vous:

1) besoin d'une action personnalisée? 2) Faites-le après l'installation au lieu de l'installation?

Wix a une extension intégrée pour la manipulation de ce que vous essayez de faire:

élément XMLFILE (extension UTIL)

Il mettra à jour votre XML une fois que le fichier a été installé et gérera également les scénarios de restauration.

Qu'est-ce que vous devrez écrire une CA, cependant, c'est la lecture de la valeur XML dans une propriété TI Poignée de réparation et des situations de mise à niveau. Lire:

Modèle "Notez" de la propriété de Wix Toolset >.