J'ai un installateur dont l'installation initiale sera effectuée par un humain, mais les mises à jour doivent être effectuées automatiquement.Est-ce que WiX peut faire autre chose que des fichiers RollBack et Log si le programme d'installation échoue? Comme redémarrer?
L'échec de l'installateur de manutention est un problème. Je dois planifier l'échec de l'installateur: j'utilise l'élément < RollbackBoundary /> dans le Bootstrapper pour obtenir un bon état, puis j'utilise à la fois le journal WiX et un journal de mes propres moyens pour documenter l'échec.
Cependant, ce n'est pas assez bon.
Il existe un programme (appelons-le X.exe). Si-et en cas d'échec du programme d'installation, je dois revenir à l'état que l'installateur était avant le programme d'installation a commencé et:
- Restart X.exe ou
- Redémarrez la machine cible de telle sorte que X.exe peut démarrer (j'installe X.exe dans le dossier de démarrage de l'ordinateur cible, c'est aussi ce que je fais pour une installation réussie - redémarrer la machine cible).
- Résolvez le problème de manière encore imprévue.
Existe-t-il autre chose que la journalisation que WiX peut faire pour une défaillance de l'installateur? Est-ce qu'il y a une condition que je pourrais attraper, ou ... n'importe quoi?
J'ai appris WiX à travers le livre fantastique WiX 3.6: A Developer's Guide to Windows Installer XML (par Nick Ramirez), mais je ne trouve rien pour résoudre mon problème là-bas, je ne peux pas non plus le trouver sur les interwebs. J'espère qu'il y aura quelque chose d'évident que j'ai manqué. Est-ce que quelqu'un sait comment faire face à l'échec de l'installateur en plus de les enregistrer et de l'appeler un jour?
Sur la base de l'absence de réponses et le manque de trouver la réponse à ma question dans les ressources existantes, je me rends compte que je demande simplement Windows Installer en faire trop.
J'espérais qu'il y aurait un moyen de faire quelque chose comme:
if (installation fails)
{
do something (besides rollback and logging)
}
Je me demande si d'autres programmes d'installation offrent des fonctionnalités comme ça? Ou s'il y a un autre moyen d'obtenir une machine cible pour faire quelque chose si le programme d'installation échoue?
Les installations MSI sont transactionnelles - elles fonctionnent complètement ou échouent complètement, donc votre commentaire "Si-et-quand l'installateur échoue, je dois soit revenir à l'état l'installateur était avant que l'installateur ne démarre "ne s'applique pas. La machine sera dans l'état où elle était avant l'installation, sous réserve d'actions personnalisées ayant des actions de restauration, etc. Les installations MSI utilisent également la restauration du système pour prendre des photos du système. – PhilDW
Ah, c'est le "soit" dans le commentaire. Cela rend la phrase entière insensée. Je vais retirer ça ... – Bob
La phrase a beaucoup plus de sens maintenant - je réalise que les MSI sont transactionnelles. Je veux faire quelque chose si le MSI échoue. – Bob