Domanda

Sto sviluppando un programma di installazione per una suite di applicazioni usando WIX, e la struttura lo è segue:
Application Core
& nbsp; & nbsp; & nbsp; & nbsp; | _ _ Sapore1
& nbsp; & nbsp; & nbsp; & nbsp; | _ _ Sapore2
& nbsp; & nbsp; & nbsp; & nbsp; | _ _ Flavor3

Application Core è un prodotto come Visual Studio e, Flavors 1,2,3 sono sotto prodotti.

Ecco il mio problema,
 - In Aggiungi, i programmi dovrebbero avere 4 voci per Application Core, Flavor1, Flavor2 e, Flavor3.
 - Dovrei essere in grado di riavviare il programma di installazione per Aggiungi / Rimuovi Flavor1, Flavor2 e Flavor3.

È stato utile?

Soluzione

Aggiornamento: tieni presente che mentre Office appare per installare funzionalità separate, non prodotti separati, in realtà installa molti prodotti separati che non vengono visualizzati in ARP. Viene aggiunta una voce ARP separata per avviare il programma di installazione del bootstrapper che mantiene quindi l'aggiunta, la rimozione e l'aggiornamento dei prodotti esistenti che non è possibile visualizzare in ARP.

Queste dovrebbero essere funzionalità, non prodotti separati. Prendiamo ad esempio la suite di Microsoft Office, se installi la suite allora hai solo una voce in Installazione applicazioni e Word, Excel, Powerpoint, ecc. Sono tutte solo "funzionalità" di Microsoft Office e le aggiorni in questo modo.

Tuttavia puoi acquistare alcune di queste applicazioni separatamente con i loro installatori e in questi casi il "Application Core" quando lo metti è incluso in ogni programma di installazione, l'utilizzo di componenti condivisi in modo che i file non debbano essere installati due volte e che ciascuna applicazione possa essere installata / disinstallata indipendentemente l'una dall'altra.

Ecco un piccolo estratto dalla documentazione di Windows Installer su Componenti e funzionalità (potresti anche voler leggere Organizzazione delle applicazioni in componenti )

  

Due componenti che condividono lo stesso   gli ID componente vengono considerati multipli   istanze dello stesso componente   indipendentemente dal loro contenuto reale.   Solo una singola istanza di qualsiasi   componente è installato su un utente   computer. Diverse funzionalità o   le applicazioni possono quindi condividerne alcune   componenti.

Altri suggerimenti

Di solito ciò si ottiene installando un prodotto, quindi una voce in Installazione applicazioni, che è possibile modificare (selezionare il prodotto, fare clic sul pulsante Modifica). Questo ti porta poi all'albero delle funzionalità dove puoi aggiungere o rimuovere funzionalità.

Se voci separate sono un requisito fondamentale, è necessario creare più MSI. Ma poi puoi disinstallare " Application Core " nel tuo esempio, mantenendo gli altri installati, causando così problemi con i Sapori

Sembra che tu voglia funzionalità, quindi Sander ottiene il mio +1.

Ma a volte potresti volere installazioni diverse dello stesso prodotto, ad es. una versione di training e test installata sullo stesso server. In questi casi devi trovare un approccio diverso, eccone uno che ne ho trovato ( vedi la risposta Crea live, ... ). Prendi nota della modifica relativa alla creazione di un componente per file e al carattere jolly del guid, poiché ciò semplifica il processo, ovvero non sono necessari trucchi BeforeBuild / AfterBuild.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top