Durante la creazione del programma di installazione WiX ho riscontrato un problema durante il tentativo di chiudere un'applicazione prima di installare l'aggiornamento. Di seguito è riportato un esempio di come sto tentando di farlo.Chiusura di un'applicazione tramite WiX
<util:CloseApplication Id="CloseServe" CloseMessage="yes" Target="server.exe" ElevatedCloseMessage="yes" RebootPrompt="no"/>
<InstallExecuteSequence>
<Custom Action="WixCloseApplications" After="RemoveExistingProducts" />
<RemoveExistingProducts After="InstallInitialize"/>
<Custom Action='LaunchApplication' After='InstallFinalize'/>
<!--<Custom Action='StopServer' Before='RemoveExistingProducts'/>-->
</InstallExecuteSequence>
Utilizzando questo esempio l'applicazione fa finire chiusura ma l'installazione viene bloccato in quel punto e poi esegue un ripristino. Questo potrebbe essere dovuto al fatto che l'exe viene rimosso prima di provare a chiuderlo? Ho provato a cambiare la sequenza in modo che RemoveExistingProducts venga eseguita dopo WixCloseApplications ma poi mi restituisce un codice di errore 2613.
Sarebbe bello se si spiegasse quale fosse l'errore alla fine - la risposta accettata suggerisce solo di generare un registro dell'installazione ... –
È stato così lungo che onestamente non ricordo il problema completo. La registrazione mi ha aiutato a rintracciare però. Si trattava di un problema di sequenza in cui non era possibile chiudere il programma in questo modo prima di rimuovere i prodotti esistenti ma non è possibile rimuovere i prodotti esistenti se era in esecuzione. Un bootstrapper mi ha aiutato con questo problema. –