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

Dll ne pouvait pas être exécuté

Je suppose que c'est un problème avec Windows Installer. J'ai essayé de redémarrer le service mais sans effet. Je ne peux pas 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

Journal des spectateurs d'événements:

Installateur Python:

Produit: Python 2.7.3 – Erreur 1723. Il existe un problème avec ce package Windows Installer. Une DLL requise pour que cette installation ne soit pas exécutée. Contactez votre personnel de support ou votre fournisseur de colis. Action CheckDir, entrée: _CheckDir @ 4, bibliothèque: C: \ Users \ x \ AppData \ Local \ Temp \ MSI570C.tmp

Installateur SSDLife:

Produit: SSDlife Pro – Erreur 1723. Il existe un problème avec ce package Windows Installer. Une DLL requise pour que cette installation ne soit pas exécutée. Contactez votre personnel de support ou votre fournisseur de colis. Action WIX_TestVersion, entrée: WIX_TestVersion, bibliothèque: C: \ Users \ x \ AppData \ Local \ Temp \ MSIA32E.tmp

Recherche en cas d'erreur 1723: Cette erreur peut se produire si vous avez une version périmée de Windows Installer

J'ai eu quelques liens pour Windows Installer, mais aucun d'entre eux n'a de 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 x 64) est à jour.

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

Mais il ne pouvait pas trouver de problèmes.

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

Comme d'habitude, les messages d'erreur étaient à moitié utiles. Dans mon cas, la DLL ne manquait pas: le programme d'installation n'avait pas d'autorisations pour accéder au dossier . Je n'ai pas essayé d'exécuter le programme d'installation en tant qu'administrateur – cela n'a pas du sens pour moi étant donné que j'avais déjà utilisé un compte d'administrateur et je m'attendais à ce que 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 mystérieux pour moi.

Néanmoins, après être Properties > Security dans Properties > Security sur le dossier C:\Users\x\AppData\Local\Temp et en donnant à Everyone le Everyone l'autorisation de Full control , les installateurs précédemment défaillants fonctionnent maintenant! Hooray! Étant donné que Everyone déjà eu un accès en Read et en Write , je soupçonne que Full control également ajouté une autorisation d' Execute nécessaire.

Ce que je me demande, maintenant, c'est la façon dont cela s'est produit en premier lieu, et ce que les autorisations correctes sur ce répertoire sont censés être.

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

Votre système doit manquer une DLL requise.

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

Mais pour une raison quelconque, il n'a pas pu charger la DLL.

Le plus important est de savoir quelle DLL est manquante. Alors que le message d'erreur s'affiche à l'écran, accédez à votre répertoire temporaire et vérifiez si le fichier DLL temporaire existe toujours. S'il est là, copiez-le avec une extension DLL. Ensuite, pour savoir quelle DLL des requises est manquante, vous pouvez utiliser l'utilitaire depends.exe partir 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, à partir de la table Binary .

J'ai deux candidats possibles les plus probables: le temps d'exécution de Visual C ++ est manquant ou le runtime .Net est manquant. Cependant, c'est juste une supposition …

J'ai essayé ce que Dimadima m'a suggéré, mais j'avais encore un petit problème d'accès. J'ai creusé un outil pour Win 7 / Vista appelé prise en charge. Il ajoute un menu contextuel au clic droit et vous pouvez «Prendre possession». Je pensais essayer que cela fonctionnait comme un charme.

http://www.howtogeek.com/howto/windows-vista/add-take-ownership-to-explorer-right-click-menu-in-vista/

Aucune de ces solutions n'a fonctionné pour moi, mais quand je suis allé directement au 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.