Impossibile eseguire DLL per i programmi di installazione MSI


23

impossibile eseguire dll

Immagino sia un problema con Windows Installer. Ho provato a riavviare il servizio ma senza alcun risultato. Non riesco a installare nulla che termina con .msi . A volte ricevo un messaggio di errore del genere:

inserisci qui la descrizione dell'immagine

Registri del visualizzatore eventi:

Programma di installazione di Python:

Prodotto: Python 2.7.3 - Errore 1723. Si è verificato un problema con questo pacchetto di Windows Installer. Non è stato possibile eseguire una DLL richiesta per il completamento dell'installazione. Contattare il personale di supporto o il fornitore del pacchetto. Azione CheckDir, voce: _CheckDir @ 4, libreria: C: \ Users \ x \ AppData \ Local \ Temp \ MSI570C.tmp

Programma di installazione SSDLife:

Prodotto: SSDlife Pro - Errore 1723. Si è verificato un problema con questo pacchetto di Windows Installer. Non è stato possibile eseguire una DLL richiesta per il completamento dell'installazione. Contattare il personale di supporto o il fornitore del pacchetto. Azione WIX_TestVersion, voce: WIX_TestVersion, libreria: C: \ Users \ x \ AppData \ Local \ Temp \ MSIA32E.tmp

Ricerca sull'errore 1723: questo errore può verificarsi se si dispone di una versione non aggiornata di Windows Installer

Ho ottenuto un paio di collegamenti per Windows Installer ma nessuno dei due ha Windows 7 nell'elenco dei sistemi operativi supportati.

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

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

Windows (7 x64) è aggiornato.

Ho anche provato questo Fixit: http://support.microsoft.com/mats/Program_Install_and_Uninstall

Ma non è stato possibile trovare alcun problema.


@Serge sì, avast, ho provato a disabilitare ed eseguire il programma di installazione in questo momento, ma non sembra aiutare
Kedar,

ripulisci la tua cartella temporanea e riprova.
Moab,

@ Moab no, non aiuta
Kedar,

Si prega di specificare il sistema operativo in cui si osserva il problema.
Alexey Ivanov,

@Moab tutti loro
Kedar,

Risposte:


26

Ho riscontrato anche questo problema. La risposta di Alexey Ivanov non mi ha aiutato del tutto, ma mi ha ispirato a indagare C:\Users\x\AppData\Local\Temp.

Come al solito, i messaggi di errore erano solo parzialmente utili. Nel mio caso, la DLL non mancava: il programma di installazione non aveva le autorizzazioni per accedere alla cartella . Non ho provato a eseguire il programma di installazione come amministratore - questo non aveva senso considerando che stavo già utilizzando un account amministratore e mi sarei aspettato che UAC gestisse l'elevazione dei privilegi. Ad ogni modo, come molte cose in Windows, tutto questo è un po 'un mistero per me.

Tuttavia, dopo essere andato Properties > Securitynella C:\Users\x\AppData\Local\Tempcartella e aver dato Everyoneil Full controlpermesso, gli installatori che in precedenza avevano fallito ora funzionavano! Evviva! Dal momento che Everyoneavevo già avuto Reade Writeaccesso, sospetto che Full controlanche aggiunto un'autorizzazione necessaria Execute.

Quello che mi chiedo, ora, è come sia successo in primo luogo e quali dovrebbero essere le autorizzazioni corrette su questa directory.


1
Questo risolve il mio problema! Ma penso che sia un problema di sicurezza dare a 'Everyone' pieno accesso alla cartella temporanea di un utente. Mi sono appena concesso il pieno accesso e funziona. Per impostazione predefinita, la directory aveva solo "Autorizzazioni speciali" per l'utente.
Kedar,

Sì, ha più senso che dare il permesso a Everyone:-). Ad ogni modo, mi chiedo quale possa essere la causa di questo problema. Ho avuto problemi con diversi programmi di installazione, incluso il programma di installazione di iTunes, un programma di installazione molto popolare! Mi chiedo cosa sia successo che ha rotto i permessi su quella directory.
Dmitry Minkovsky

Ho controllato altri account limitati / admin sulla stessa macchina e tutti sembrano avere le autorizzazioni impostate correttamente.
Kedar,

Questo non ha funzionato per me (Windows 7, 32 bit). Questo ha fatto . Il mio errore, tuttavia, è stato "Si è verificato un problema con questo pacchetto di Windows Installer. Un programma eseguito come parte dell'installazione non è terminato come previsto. Contattare il personale di supporto o il fornitore del pacchetto."
aliteralmind,

Questo non ha funzionato per me sebbene i sintomi fossero simili. Si è rivelata un'installazione PIP in conflitto. Questo mi ha risolto: stackoverflow.com/a/23350061/797945
Jagu

8

Una semplice soluzione consiste nell'eseguire la shell dei comandi come amministratore (basta cercare cmd.exe e quindi fare clic con il pulsante destro del mouse-> esegui come amministratore), quindi andare al percorso del pacchetto MSI ed eseguire msiexec /i packagename.msi. Ha funzionato per me.


1
Non è una soluzione alternativa (non installa tutto il software correttamente) e non funziona (per questo problema specifico)
Kedar

Un piccolo errore: ecco il comando giustomsiexec /i packagename.msi

Questa soluzione funziona perfettamente ed è meglio che concedere a tutti i permessi completi della cartella Temp solo per un installatore. (Assicurati di leggere il secondo commento per la sintassi corretta.)
Gaurav Kumar

+1 Questa soluzione dovrebbe essere inclusa anche nella risposta sopra scelta. La risposta scelta dovrebbe essere l'ultima risorsa di tutti.
tom_mai78101

1

Nel sistema deve mancare una DLL richiesta.

In entrambi i casi descritti, Windows Installer ha tentato di eseguire un'azione personalizzata situata in una DLL. Quei file .tmp: C:\Users\x\AppData\Local\Temp\MSI570C.tmpe in C:\Users\x\AppData\Local\Temp\MSIA32E.tmprealtà sono file DLL estratti dall'MSI.

Ma per qualche motivo non è stato possibile caricare la DLL.

La cosa più importante è scoprire quale DLL manca. Mentre il messaggio di errore è sullo schermo, vai alla tua directory temporanea e verifica se il file DLL temporaneo esiste ancora. Se è lì, copiarlo con l'estensione DLL. Quindi per scoprire quale DLL di quelli richiesti manca, è possibile utilizzare l' depends.exeutilità da Visual Studio.

Se il file temporaneo è già stato rimosso, l'unico modo per ottenere la DLL è estrarlo dal pacchetto, dalla Binarytabella.

Ho due candidati più probabili possibili: Runtime di Visual C ++ mancante o runtime di .Net mancante. Tuttavia, è solo una supposizione ...


Vedo solo il registro degli errori creato nella directory temporanea. Nient'altro. Ma cercando di estrarre i file dal programma di installazione, ho provato il comando msiexec per estrarre Python e tutti i file sono ora disponibili come sarebbero in una normale installazione. Tranne che non vedo alcuna voce nell'elenco dei software installati. Aggiungendo Python al percorso, funziona come previsto ...
Kedar,

1
Immagino che accada troppo velocemente per accorgersene. Sì, è possibile estrarre i file dal pacchetto di Windows Installer, ma non eseguirà la registrazione del programma perché il prodotto non è installato (dal punto di vista MSI). Questi file DLL tmp non fanno parte dell'immagine di installazione, sono aiutanti che vengono eseguiti durante l'installazione. Per ottenerlo, puoi usare lo strumento Orca o decompilare la msi con WiX; tuttavia, hai già Python.
Alexey Ivanov,

Penso di poter vivere senza avere il software registrato. Comando completo: msiexec / a python.msi / qb TARGETDIR = "C: \ install_path"
Kedar


@ 101 In tal caso, il programma di installazione è danneggiato, intendo dire che è un bug: il programma di installazione non deve dipendere da software aggiuntivo, incluso il runtime di MSVC, ma deve essere autonomo. Se necessita di MSVC 2008 o 2010, questi pacchetti devono essere installati lungo il prodotto (contenuto all'interno dell'installer stesso).
Alexey Ivanov,


-1

Nessuna di queste soluzioni ha funzionato per me, tuttavia quando sono andato direttamente alla cartella di download, ho fatto clic con il pulsante destro del mouse sull'icona dell'installazione che volevo eseguire e ho fatto clic su "Esegui come amministratore" installato senza ulteriori messaggi di errore.


Gli installatori MSI non hanno questa opzione.
Kedar l'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.