Per darti un background - Ho 4 MSI che provengono dal nostro fornitore e questo deve andare ai server della nostra azienda (stiamo esaminando circa 3500 server). A partire da ora, le mie controparti stanno gestendo questo utilizzando vbs, script ps1. Ma il problema con lo script è che ogni volta che arriva un aggiornamento, dobbiamo preoccuparci di disinstallare il pacchetto esistente prima di eseguire il nuovo e un sacco di hardcoding.Come utilizzare CustomAction nel pacchetto WIX?
Desidero automatizzare l'intero processo (con molto meno hardcoding) impostando uno script WIX per raggruppare tutti i 4 MSI. Ho letto del bundle WIX e l'ho usato per creare un singolo MSI. Ma ora ci sono molte variabili da passare ai 4 MSI, quindi ho pensato di utilizzare le azioni personalizzate per impostare queste variabili in base all'ambiente/alla macchina su cui è in esecuzione MSI. Ma non posso fare azioni personalizzate per lavorare? Mi sto perdendo qualcosa?
Un po 'di google e ho visto qualcosa come non ci sono CustomActions in bundle? qualcuno può confermare?
Anche se non ci sono CA, quali sono le mie opzioni? come posso manipolare le variabili da passare ai 4 MSI? La maggior parte di essi deve essere impostata in base alla macchina su cui viene eseguita (come percorso di installazione, ID utente, ID pool di app ecc.).
Ha senso! Ho provato tutto il possibile per far funzionare la CA nel bundle e non viene chiamata. Da quello che ho capito, anche se il pacchetto WIX genera un file MSI, non è in realtà un MSI (non puoi eseguirlo con msiexec o aprirlo con ORCA). È solo un exe o un programma che combina tutti gli MSI insieme e non ha nessuna delle proprietà di un MSI. P.S: Penso solo a renderlo confuso MS lo ha chiamato come MSI :) – Isaiah4110
@ user1766402, non mi ero nemmeno reso conto che era possibile emettere il bundle come msi finché non ho letto la tua domanda. È possibile fare clic con il tasto destro del mouse sul progetto in Visual Studio e selezionare Proprietà, quindi modificare l'output in .exe. Questo dovrebbe essere comunque l'impostazione predefinita per i progetti bundle/bootstrapper. – BryanJ
Un bundle WiX non è un MSI, è un eseguibile. Rinominare l'exe in .msi non cambierà quello. :) –