La DLL n'a pas pu être exécutée pour les programmes d'installation MSI

23

dll n'a pas pu être exécuté

Je suppose que c'est un problème avec Windows Installer. J'ai essayé de redémarrer le service mais sans résultat. Je ne suis pas en mesure d'installer quoi que ce soit qui se termine par .msi . Parfois, je reçois un tel message d'erreur:

entrez la description de l'image ici

Journaux de l'observateur d'événements:

Programme d'installation de Python:

Produit: Python 2.7.3 - Erreur 1723. Il y a un problème avec ce package Windows Installer. Impossible d'exécuter une DLL requise pour terminer cette installation. Contactez votre personnel d'assistance ou le fournisseur du package. Action CheckDir, entrée: _CheckDir @ 4, bibliothèque: C: \ Users \ x \ AppData \ Local \ Temp \ MSI570C.tmp

Programme d'installation de SSDLife:

Produit: SSDlife Pro - Erreur 1723. Il y a un problème avec ce package Windows Installer. Impossible d'exécuter une DLL requise pour terminer cette installation. Contactez votre personnel d'assistance ou le fournisseur du package. Action WIX_TestVersion, entrée: WIX_TestVersion, bibliothèque: C: \ Users \ x \ AppData \ Local \ Temp \ MSIA32E.tmp

Recherche sur l'erreur 1723: cette erreur peut se produire si vous disposez d'une version obsolète de Windows Installer

J'ai obtenu quelques liens pour Windows Installer mais aucun d'eux n'a Windows 7 sur la liste des systèmes d'exploitation pris en charge.

https://www.microsoft.com/en-us/download/details.aspx?id=25 et

https://www.microsoft.com/en-us/download/details.aspx?id=8483&WT.mc_id=MSCOM_EN_US_DLC_DETAILS_131Z4ENUS22007

Windows (7 x64) est à jour.

A également essayé ce Fixit: http://support.microsoft.com/mats/Program_Install_and_Uninstall

Mais il n'a trouvé aucun problème.

Kedar
la source
@Serge oui, avast, a essayé de désactiver et d'exécuter le programme d'installation en ce moment, mais cela ne semble pas aider
Kedar
nettoyez votre dossier temporaire et réessayez.
Moab
@Moab non, cela n'aide pas
Kedar
Veuillez spécifier le système d'exploitation sur lequel vous observez le problème.
Alexey Ivanov le
@Moab tous
Kedar

Réponses:

26

J'ai aussi rencontré ce problème. La réponse d'Alexey Ivanov ne m'a pas vraiment aidé, mais elle m'a néanmoins inspiré à enquêter C:\Users\x\AppData\Local\Temp.

Comme d'habitude, les messages d'erreur n'étaient qu'à moitié utiles. Dans mon cas, la DLL ne manquait pas - le programme d'installation n'avait pas les autorisations pour accéder au dossier . Je n'ai pas essayé d'exécuter le programme d'installation en tant qu'administrateur - cela n'avait aucun sens pour moi étant donné que j'utilisais déjà un compte administrateur et que je m'attendais à ce que l'UAC gère l'élévation des privilèges. Quoi qu'il en soit, comme beaucoup de choses dans Windows, tout cela est un peu un mystère pour moi.

Néanmoins, après être allé Properties > Securitysur le C:\Users\x\AppData\Local\Tempdossier et lui avoir donnéEveryone l' Full controlautorisation, les installateurs qui avaient été à défaut maintenant travaillé précédente! Hourra! Depuis Everyonedéjà eu Readet Writeaccès, je pense que cela a Full controlégalement ajouté une Executeautorisation nécessaire .

Ce que je me demande maintenant, c'est comment cela s'est produit en premier lieu, et quelles sont les autorisations correctes sur ce répertoire.

Dmitry Minkovsky
la source
1
Cela résout mon problème! Mais je pense que c'est un problème de sécurité pour donner à tout le monde un accès complet au dossier temporaire d'un utilisateur. Je viens de m'accorder un accès complet et ça marche. Par défaut, le répertoire avait juste des «autorisations spéciales» pour l'utilisateur.
Kedar
Ouais, cela a plus de sens que de donner la permission de Everyone:-). Quoi qu'il en soit, je me demande quelle peut être la cause sous-jacente de ce problème. J'avais des problèmes avec plusieurs installateurs, dont l'installateur iTunes, un installateur très populaire! Je me demande ce qui s'est passé qui a brisé les autorisations sur ce répertoire.
Dmitry Minkovsky
J'ai vérifié d'autres comptes limités / admin sur la même machine et tous semblent avoir les autorisations correctement définies.
Kedar
Cela n'a pas fonctionné pour moi (Windows 7, 32 bits). C'était le cas . Mon erreur, cependant, était "Il y a un problème avec ce package Windows Installer. Un programme exécuté dans le cadre de l'installation ne s'est pas terminé comme prévu. Contactez votre personnel de support ou le fournisseur du package."
aliteralmind
Cela n'a pas fonctionné pour moi, même si les symptômes étaient similaires. Il s'est avéré qu'il s'agissait d'une installation PIP conflictuelle. Cela m'a corrigé: stackoverflow.com/a/23350061/797945
Jagu
8

Une solution de contournement simple consiste à exécuter le shell de commande en tant qu'administrateur (recherchez simplement cmd.exe, puis cliquez avec le bouton droit -> exécuter en tant qu'administrateur), puis accédez à l'emplacement du package MSI et exécutez msiexec /i packagename.msi. Ça a marché pour moi.

Marco Lanzetta
la source
1
Ce n'est pas une solution de contournement (n'installe pas tous les logiciels correctement), et cela ne fonctionne pas (pour ce problème spécifique)
Kedar
Une petite erreur: voici la bonne commandemsiexec /i packagename.msi
Cette solution fonctionne parfaitement et est meilleure que de donner les autorisations complètes du dossier Temp à tout le monde juste pour un installateur. (Assurez-vous de lire le deuxième commentaire pour la syntaxe correcte.)
Gaurav Kumar
+1 Cette solution doit également être incluse dans la réponse choisie ci-dessus. Cette réponse choisie devrait être le dernier recours de chacun.
tom_mai78101
1

Votre système doit manquer une DLL requise.

Dans les deux cas que vous décrivez, Windows Installer a tenté d'exécuter une action personnalisée située dans une DLL. Ces fichiers .tmp: C:\Users\x\AppData\Local\Temp\MSI570C.tmpet C:\Users\x\AppData\Local\Temp\MSIA32E.tmpsont vraiment des fichiers DLL extraits du MSI.

Mais pour une raison quelconque, il n'a pas réussi à charger la DLL.

La chose la plus importante est de savoir quelle DLL est manquante. Pendant que le message d'erreur est à l'écran, accédez à votre répertoire temporaire et voyez si le fichier DLL temporaire existe toujours. S'il est là, copiez-le avec l'extension DLL. Ensuite, pour savoir quelle DLL de celles requises est manquante, vous pouvez utiliserdepends.exe utilitaire de Visual Studio.

Si le fichier temporaire est déjà supprimé, la seule façon d'obtenir la DLL est de l'extraire du package, de la Binarytable.

J'ai deux candidats possibles les plus probables: le runtime Visual C ++ est manquant ou le runtime .Net est manquant. Mais ce n'est qu'une supposition…

Alexey Ivanov
la source
Je ne vois que le journal des erreurs créé dans le répertoire temporaire. Rien d'autre. Mais en cherchant à extraire des fichiers du programme d'installation, j'ai essayé la commande msiexec pour extraire Python et tous les fichiers sont maintenant disponibles comme ils le seraient dans une installation normale. Sauf que je ne vois aucune entrée dans la liste des logiciels installés. Ajout de python au chemin, cela fonctionne comme prévu ...
Kedar
1
Je suppose que cela se produit trop rapidement pour être remarqué. Oui, vous pouvez extraire des fichiers du package Windows Installer, mais il n'effectuera pas d'enregistrement de programme car le produit n'est pas installé (du point de vue MSI). Ces fichiers DLL tmp ne font pas partie de l'image d'installation, ce sont des assistants qui sont exécutés pendant l'installation. Pour l'obtenir, vous pouvez utiliser l'outil Orca ou décompiler le msi avec WiX; cependant, vous avez déjà Python.
Alexey Ivanov,
Je pense que je peux vivre sans avoir enregistré le logiciel. Commande complète: msiexec / a python.msi / qb TARGETDIR = "C: \ install_path"
Kedar
@ 101 Si c'est le cas, alors le programme d'installation est cassé, je veux dire que c'est un bug: le programme d'installation ne doit pas dépendre de logiciels supplémentaires, y compris le runtime MSVC - il doit être autonome. S'il a besoin de MSVC 2008 ou 2010, ces packages doivent être installés avec le produit (contenus dans le programme d'installation lui-même).
Alexey Ivanov
-1

Aucune de ces solutions n'a fonctionné pour moi, cependant lorsque je suis allé directement dans le dossier de téléchargement, j'ai fait un clic droit sur l'icône de l'installation que je voulais effectuer et j'ai cliqué sur "Exécuter en tant qu'administrateur" qu'il a installé sans plus de messages d'erreur.

girlymomma88
la source
Les installateurs MSI n'ont pas cette option.
Kedar