Devo sostituirlo a causa di un bug che blocca la disinstallazione del software, ma Windows non trova il file MSI se utilizzo l'utilità di ricerca file, ma penso che l'MSI sia memorizzato da qualche parte dove l'utilità Add or Remove Programs
può usarlo.Dove il file MSI viene copiato dopo l'installazione?
risposta
non è vero andare in% windir% \ installatore \
Anche se penso che i file possono ottenere rinominato. Non sai da dove si ottiene la mappatura del nome da ...
Questa directory diventa molto grande quindi la sposto su un'unità esterna. A volte questo può causare errori di disinstallazione o aggiornamenti rimandando la directory
eccellente! Sono sicuro che ora il file viene rinominato, ma puoi trovare il nuovo nome nel registro di Windows –
ahh felice che tu sappia come ottenere la mappatura –
Per il file MSI rinominato controlla l'attributo 'LocalPackage' all'interno del registro nel percorso -' [ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Installer \ UserData \
Forse l'msi è stato semplicemente cancellato. È possibile eliminare la cartella di installazione ed eseguire l'utility di pulizia msi e quindi reinstallare il programma.
modificato la domanda per chiarire –
MSIZAP (Windows Installer Cleanup) è uno strumento molto pericoloso. Vedi http://robmensching.com/blog/posts/2009/3/6/More-on-Haacks-Troubleshooting-Windows-MSI-Installers per ulteriori informazioni – saschabeaumont
È possibile forzare una registrazione/reinstallazione utilizzando con MSIEXEC, il metodo consigliato per aggiornare i pacchetti di installazione con errori che non possono essere altrimenti rimosso è quello di recache con un pacchetto fisso, quindi disinstallare come al solito.
MSIEXEC /fv setup.msi
Quando si installa un pacchetto utilizzando il servizio Windows Installer, il file MSI fa arrivare cache nel "% windir% \ Installer" nascosto cartella. Viene rinominato e il nuovo nome è una stringa esadecimale che non ha una correlazione evidente con il nome originale. Qualcosa come "123ab4.msi".
Non è difficile capire quale sia la copia cache della tua app. Il modo più veloce è quello di cercare il file memorizzato nella cache con le stesse dimensioni. Quando pensi di averlo trovato, passa il puntatore del mouse sul nome del file in Esplora risorse. Il tooltip verrà visualizzato e mostrerà i dati dal flusso di informazioni di riepilogo del pacchetto. Nome del prodotto, nome dell'autore e così via. Una volta trovato il file giusto, puoi modificarlo direttamente con uno strumento come Orca.
Se si sta solo provando a sistemare le cose sul proprio computer, la modifica diretta del database memorizzato nella cache potrebbe essere una buona opzione. Tuttavia, Microsoft fornisce un modo integrato per gestire un problema come questo. È possibile creare una patch (un file msp), che contiene la differenza tra il file msi originale e il file msi aggiornato. Quella patch potrebbe quindi essere distribuita a chiunque abbia già installato la tua app utilizzando l'installazione originale, e sarebbe facile da usare.
MSDN discute la creazione di patch qui - http://msdn.microsoft.com/en-us/library/aa368060%28VS.85%29.aspx
eliminazione della cartella nascosta in genere non è una buona idea, come quella rompe alcune funzionalità di base del servizio di installazione. Ciò include l'applicazione di patch, rilevamento e riparazione e la possibilità di eseguire l'aggiornamento tramite la migrazione anziché la disinstallazione e la reinstallazione.
Per vedere i nomi utili dei file msi in C:\Windows\Installer
fare clic con il tasto destro del mouse nella parte superiore di explorer e aggiungere il campo per visualizzare Oggetto (sarà probabilmente necessario selezionarne altri in quanto non è un nome predefinito, data modificata, ecc.) Da qui puoi trovare il file msi e usarlo per disinstallare i programmi.
avevo messo giù sacco di commenti nella risposta accettata così ho pensato che avrei preferito inviare una risposta dopo aver creato un sommario con qualche ulteriori dettagli:
InstallShield crea una copia dei file * .msi in %windir%\installer\
percorso in cui% windir% è una variabile di ambiente che di solito punta a C:\Windows\
. Prima di creare una copia di *.file msi lo rinomina usando una nomenclatura casuale ad es. Posso vedere un file chiamato 65ec5c99.msi
nella mia directory C:\Windows\Installer
.
Ora per capire il nome del prodotto reale per il file MSI rinominato ci sono due modi:
Controlla
LocalPackage
attributo all'interno di registro nel percorso -[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\<InternalUserId>\Products\<ProductGUID>\InstallProperties]
.InternalUserId
è una specie di tipoS-1-5-18
.ProductGUID
è un GUID come00058CD18F0BF523DA1072073D56715D
incorporato come proprietà pubblica all'interno del file MSI stesso. Puoi controllare questa proprietà pubblica aprendo il tuo file MSI usando qualsiasi strumento, ad es. orcaApri cartella
C:\Windows\Installer
in Esplora risorse. Cambia la vista della directory nella vistaDetails
. Aggiungi colonnaSubject
alla vista. Whooaa !! Il mistero è risolto. Il nome del prodotto è visibile proprio lì inSubject
colonna
- 1. Dove scaricare AdventureWorks2008.msi?
- 2. . Il file gitignore non viene copiato nell'archetipo JAR - Soluzioni alternative?
- 3. Rinomina dopo aver copiato utilizzando powershell
- 4. dove .apk file viene inserito nel telefono dopo l'installazione
- 5. da dove viene il termine flat-file?
- 6. Da dove viene il primo file binario?
- 7. file di Babel viene copiato senza essere trasformato
- 8. Il database non viene copiato correttamente in OnePlus Two
- 9. MSI non viene eseguito da C#
- 10. MSI non installa tutti i file quando viene eseguito RemovePreviousVersion
- 11. Angular.js Invocazione illegale su oggetto file copiato
- 12. C# perché App.config viene copiato nella cartella di debug e rilascio dopo la creazione?
- 13. Quando viene copiato un vettore, quando viene passato un riferimento?
- 14. MSI Installer permessi file/cartella
- 15. Il file Silverlight xap non viene copiato su ClientBin su Build Server
- 16. Perché il "file chiave di nome sicuro" viene copiato nel progetto?
- 17. File copiato su SysWOW64 anziché System32
- 18. Da dove viene il PHP salva i file temporanei durante il caricamento?
- 19. Perché dopo aver copiato il repository git in un'altra directory ho modificato i file?
- 20. In java web start dove viene scaricato il file jar?
- 21. Determina se il file copiato negli Appunti è un'immagine
- 22. Da dove viene importato il modulo?
- 23. std :: thread Perché l'oggetto viene copiato due volte?
- 24. Ottenere il nome del prodotto dal file msi in C#
- 25. Da dove viene l'UTI?
- 26. Da dove viene il valore predefinito mb_internal_encoding()?
- 27. Il file non può essere copiato nel Progetto
- 28. Il file viene utilizzato da un altro processo dopo File.Copy
- 29. Come viene copiato il codice oggetto nell'eseguibile quando si collega alla libreria statica?
- 30. Messaggio di errore del parser ASP.NET: impossibile caricare il tipo 'cerca'. dopo aver copiato i file da un altro progetto
Il raccomandata andata/** ** corretto per risolvere i problemi di disinstallazione è ** utilizzare per un aggiornamento minore per il prodotto installato "hotfix", e quindi attivare la sua sequenza di disinstallazione fissa ** come indicato di seguito da ** saschabeaumont **. L'aggiornamento secondario può essere fornito come un normale MSI o come pacchetto di patch (per prodotti enormi). –