it-swarm.com.de

DLL konnte für MSI-Installer nicht ausgeführt werden

dll could not be run

Ich vermute, es ist ein Problem mit Windows Installer. Ich habe versucht, den Dienst neu zu starten, aber ohne Wirkung. Ich kann nichts installieren, das mit . Msi endet. Manchmal bekomme ich eine solche Fehlermeldung:

enter image description here

Protokolle der Ereignisanzeige:

Python-Installationsprogramm:

Produkt: Python 2.7.3 - Fehler 1723. Mit diesem Windows Installer-Paket ist ein Problem aufgetreten. Ein DLL, das für den Abschluss dieser Installation erforderlich ist, konnte nicht ausgeführt werden. Wenden Sie sich an Ihr Support-Personal oder Ihren Paketanbieter. Aktion CheckDir, Eintrag: _CheckDir @ 4, Bibliothek: C:\Users\x\AppData\Local\Temp\MSI570C.tmp

SSDLife-Installationsprogramm:

Produkt: SSDlife Pro - Fehler 1723. Mit diesem Windows Installer-Paket ist ein Problem aufgetreten. Ein DLL, das für den Abschluss dieser Installation erforderlich ist, konnte nicht ausgeführt werden. Wenden Sie sich an Ihr Support-Personal oder Ihren Paketanbieter. Aktion WIX_TestVersion, Eintrag: WIX_TestVersion, Bibliothek: C:\Users\x\AppData\Local\Temp\MSIA32E.tmp

Auf Fehler 1723 suchen: Dieser Fehler kann auftreten, wenn Sie eine veraltete Version von Windows Installer haben

Ich habe ein paar Links für Windows Installer, aber keiner von beiden hat Windows 7 auf der Liste der unterstützten Betriebssysteme.

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

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

Windows (7 x 64) ist aktuell.

Versuchen Sie auch dieses Fixit: http://support.Microsoft.com/mats/Program_Install_and_Uninstall

Es konnten jedoch keine Probleme gefunden werden.

23
Kedar

Ich bin auch auf dieses Problem gestoßen. Alexey Ivanovs Antwort hat mir nicht ganz geholfen, aber es hat mich dazu inspiriert, C:\Users\x\AppData\Local\Temp zu untersuchen.

Fehlermeldungen waren wie immer nur zur Hälfte sinnvoll. In meinem Fall fehlte das DLL nicht - Das Installationsprogramm hatte keine Zugriffsberechtigung für den Ordner . Ich habe nicht versucht, das Installationsprogramm als Administrator auszuführen. Dies hat für mich keinen Sinn ergeben, da ich bereits ein Administratorkonto verwendet habe und damit gerechnet hätte, dass die Benutzerkontensteuerung die Erhöhung der Berechtigungen übernimmt. Wie so viele Dinge in Windows ist auch dies für mich ein Rätsel.

Nachdem Sie Properties > Security im Ordner C:\Users\x\AppData\Local\Temp aufgerufen und dieser Everyone die Berechtigung Full control erteilt haben, haben die zuvor fehlgeschlagenen Installationsprogramme jetzt funktioniert! Hurra! Da Everyone bereits Zugriff auf Read und Write hatte, vermute ich, dass Full control auch eine erforderliche Execute-Berechtigung hinzugefügt hat.

Was ich mich jetzt frage, ist, wie dies überhaupt passiert ist und wie die richtigen Berechtigungen für dieses Verzeichnis lauten sollen.

26

Eine einfache Problemumgehung besteht darin, den Befehl Shell als Administrator auszuführen (suchen Sie einfach cmd.exe und klicken Sie dann mit der rechten Maustaste auf -> Als Administrator ausführen), gehen Sie zum Speicherort des MSI-Pakets und führen Sie msiexec /i packagename.msi aus. Es hat bei mir funktioniert.

8
Marco Lanzetta

In Ihrem System muss eine erforderliche DLL fehlen.

In beiden beschriebenen Fällen hat Windows Installer versucht, eine benutzerdefinierte Aktion in einer DLL auszuführen. Diese .tmp-Dateien: C:\Users\x\AppData\Local\Temp\MSI570C.tmp und C:\Users\x\AppData\Local\Temp\MSIA32E.tmp sind wirklich DLL Dateien, die aus der MSI extrahiert wurden.

Aber aus irgendeinem Grund konnte die DLL nicht geladen werden.

Das Wichtigste ist, herauszufinden, welche DLL fehlt. Wechseln Sie in Ihrem temporären Verzeichnis, während die Fehlermeldung auf Bildschirm angezeigt wird, und überprüfen Sie, ob die temporäre DLL-Datei noch vorhanden ist. Wenn es dort ist, kopieren Sie es mit der Erweiterung DLL. Um herauszufinden, welche der erforderlichen DLL fehlen, können Sie das Dienstprogramm depends.exe von Visual Studio verwenden.

Wenn die temporäre Datei bereits entfernt wurde, besteht die einzige Möglichkeit, die DLL abzurufen, darin, sie aus dem Paket aus der Tabelle Binary zu extrahieren .

Ich habe zwei wahrscheinlichste mögliche Kandidaten: Visual C++ - Laufzeit fehlt oder .Net-Laufzeit fehlt. Es ist jedoch nur eine Vermutung ...

1
Alexey Ivanov

Ich habe versucht, was Dimadima vorschlug, aber ich hatte immer noch ein kleines Zugriffsproblem. Ich habe ein Tool für Win 7/Vista ausgegraben, das sich "Take Ownership" nennt. Durch Rechtsklick wird ein Kontextmenü hinzugefügt, und Sie können "Eigentümer werden". Ich dachte zu versuchen, dass es wie ein Zauber funktioniert.

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

0
Jarmerson