Annulation de l'installation suspendue .MSI à partir de la ligne de commande

9

Nous avons déployé un programme d'installation Java sur un grand nombre de machines, et il a gelé sur environ la moitié d'entre elles. Désormais, les déploiements suivants échouent en raison du message suivant:

L'utilisateur 'SYSTEM' a précédemment lancé une installation pour le produit 'Java 7 Update 10'. Cet utilisateur devra réexécuter cette installation avant de pouvoir utiliser ce produit. Votre installation actuelle va maintenant se poursuivre.

Suivi par:

Erreur 1704. Une installation pour Java 7 Update 10 est actuellement suspendue. Vous devez annuler les modifications apportées par cette installation pour continuer. Voulez-vous annuler ces modifications?

Si vous exécutez une installation de manière interactive, c'est très bien. Vous cliquez simplement sur "OK" puis sur "Oui", et ça continue. Mais si vous exécutez une installation en ligne de commande, elle s'arrête. Comment pouvons-nous annuler l'installation suspendue à partir de la ligne de commande?

Kasius
la source
donc quand vous dites «exécuter de manière interactive», voulez-vous dire exécuter le script ou simplement exécuter l'installateur java normal?
tony roth
Eh bien, j'ai déployé un script qui s'exécutait en arrière-plan pour installer Java. Il s'est bloqué sur de nombreuses machines et a laissé une installation suspendue. Maintenant, toutes les installations silencieuses que j'exécute se terminent avec l'erreur 1704. Si j'exécute l'installation de manière interactive (ce qui signifie que je me connecte, double-cliquez sur le .MSI et exécute les invites), cela me permet d'annuler l'installation suspendue. Comment puis-je annuler cette installation suspendue à partir de la ligne de commande?
Kasius
ok cette déclaration "J'ai déployé un script qui s'exécutait en arrière-plan pour installer Java." alors quand vous faites cela, vous l'exécutez dans le fond comme la même personne que dans l'utilisateur "SYSTEM"?
tony roth
essayez peut-être une désinstallation silencieuse docs.oracle.com/javase/1.5.0/docs/guide/deployment/…
tony roth
SCCM exécute l'installation en mode silencieux en tant que SYSTEM. Si j'exécute l'installation de manière interactive, comme n'importe qui, cela me permet d'annuler l'installation suspendue.
Kasius

Réponses:

8

Pour autant que je sache, il n'est pas possible d'annuler une installation MSI suspendue à partir de la ligne de commande à l'aide de MSIEXEC (il n'a pas de paramètre pour cela).

Quoi qu'il en soit, vous pouvez essayer d'exécuter la commande suivante:

REG DELETE HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\InProgress

Cette clé est créée lorsqu'une installation est en cours. La supprimer devrait vous permettre de réexécuter la configuration.

Tomas Dabasinskas
la source
ajouter un / f pour forcer la suppression sans question (ie: pour les scripts)
higuita
3

Si la réponse de Tomas ne résout pas le problème, vous pouvez essayer l' utilitaire MsiZap.exe .

Il supprime également les métadonnées laissées par les installations MSI, mais il ne vous oblige pas à trouver tous les emplacements où les informations sont stockées.

Par exemple, supprimer les informations inProgress:

msizap.exe p

ou supprimez les informations de restauration:

msizap.exe s
weberik
la source
msizap.exe a des problèmes avec les versions ultérieures de Windows. Il ne doit pas être utilisé sans discernement. Voici un autre outil (non testé par moi).
Stein Åsmul
0

J'ai découvert que dans Windows 10 (x64), vous pouvez essayer de supprimer la clé non pas dans HKLM mais dans la branche de registre d'utilisateurs actuelle HKEY_USERS \ SXX-XX -... \ Software \ Microsoft \ Windows \ CurrentVersion \ Installer \ InProgress

Pro
la source