Cosa succede quando si pubblicizza un MSI di un'applicazione attualmente in esecuzione?


1

Attualmente sto cercando di progettare un servizio che monitora e scarica gli MSI di aggiornamento. Il servizio verrà eseguito con un account predefinito con privilegi elevati (ad esempio SYSTEM) e scaricherà e pubblicizzerà un MSI.

Questo MSI sarà un aggiornamento di un'applicazione già installata. Capisco che le scorciatoie, ecc. Sono aggiornate sulla pubblicità, ma cosa succede se l'applicazione è già in esecuzione? Cosa succede se l'utente avvia una seconda istanza di un'applicazione già in esecuzione da questo collegamento?


Sono curioso, è per un ambiente di lavoro o per casa? Se sei a casa (e sei davvero interessato solo alle applicazioni attualmente installate), potresti voler dare Ninite un vortice. Dopo aver scaricato e installato le app, puoi rieseguire il programma di installazione in qualsiasi momento (o impostarlo come operazione pianificata) e scaricherà tutti gli aggiornamenti.
Robotnik

Risposte:


2

Dipende da come viene codificato l'MSI. Ad esempio, con WiX, devi implementare a azione personalizzata per determinare se l'app è già in esecuzione o se il file è bloccato per la scrittura. io pensare l'azione predefinita di un MSI se non hai azioni personalizzate è che getta solo un dialogo come "Abort, Retry, Fail" (o simile) se prova a scrivere su un file che è bloccato per la modifica (come sarebbe quando l'applicazione è in esecuzione).

Per gestire molti di questi casi angolari gestiti da applicazioni ben note (ad esempio Skype, Firefox e così via), ad esempio la chiusura di un'istanza in esecuzione, è necessario implementare codice personalizzato. Il semplice Windows Installer stesso (che è tutto quello che posso supporre che tu abbia se stai parlando di a generico MSI) non supporta in modo nativo una funzione del genere. Supporta piuttosto poco fuori dalla scatola, ed è per questo che esistono cose come InstallShield.

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.