Creare un programma di installazione in WiX per distribuire le applicazioni aggiornate

Data di creazione della pagina :

ambiente

Visual Studio
  • Comunità di Visual Studio 2017
  • Comunità di Visual Studio 2019
Set di strumenti WiX
3.11.2

※ Funziona in altre versioni, ma non è confermato

Dapprima

Informazioni su come creare un programma di installazione durante l'aggiornamento di un'applicazione. Si basa sull'articolo sulla procedura di creazione della prima versione del programma di installazione. Potrebbero esserci differenze nel modo in cui lo fai.

Se si desidera mantenere il progetto precedente prima dell'aggiornamento, eseguire il backup in qualche modo, ad esempio copiando il file.

Preparazione in anticipo

  • La prima versione del programma di installazione è stata creata e il progetto esiste.

Informazioni sui tipi di aggiornamento

Esistono diversi metodi di aggiornamento per l'aggiornamento, come indicato nel seguente articolo. La procedura descritta di seguito descrive un aggiornamento importante. A meno che tu non abbia circostanze speciali, questo va bene.

Modifiche di Product.wxs

Avviare Visual Studio e aprire il progetto (file della soluzione) già creato.

Aprire Product.wxs e modificare i seguenti parametri:

Wix/Prodotto/@Id

Sostituire questo ID con il nuovo GUID se si sta eseguendo un aggiornamento principale.

Non è necessario modificare aggiornamenti secondari e piccoli aggiornamenti, ma esulano dall'ambito di questo documento.

<Wix>
  <Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />

Wix/Prodotto/@Version

Viene utilizzato per determinare se si tratta di una versione più recente durante l'installazione, quindi aumentare il numero rispetto alla versione precedente. Ci sono quattro numeri di "major version.minor version.revision.build", Ci sono tre cose che determinano se una versione è aumentata: major version.minor version.revision.

Man mano che il numero aumenta, può essere qualsiasi numero, ma fondamentalmente è sicuro abbinarlo alla versione dell'applicazione.

<Wix>
  <Product Version="1.8.0.0" />

Wix/Prodotto/@UpgradeCode

Questo codice identifica se si tratta di un aggiornamento della versione alla stessa applicazione. Pertanto, se si desidera eseguire l'aggiornamento con un'installazione di sovrascrittura, non modificarlo dal codice quando è stato rilasciato per la prima volta.

Al contrario, se si desidera installarlo come applicazione separata sebbene si tratti di un aggiornamento della versione, sostituirlo con un nuovo GUID.

<Wix>
  <Product UpgradeCode="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">

Wix/Prodotto/MajorUpgrade/@DowngradeErrorMessage

Questo messaggio viene visualizzato quando si avvia il programma di installazione precedente con una versione più recente dell'applicazione installata. Viene utilizzato per le versioni precedenti del programma di installazione, quindi se hai già impostato i messaggi nelle versioni precedenti, non è necessario modificarli. Se vuoi cambiarlo, per favore riscrivilo.

Se si desidera visualizzare il giapponese, è necessario impostare gli attributi di Languages e SummaryCodepage su Giapponese (il supporto giapponese è introdotto in un articolo separato). ProductName viene sostituito dal nome del prodotto.

<Wix>
  <Product>
    <MajorUpgrade DowngradeErrorMessage="すでに新しいバージョンの [ProductName] がインストールされているため、インストールを中断します。" />

image

Come installare i file

Come quando hai creato il programma di installazione per la prima volta Immettere nuovamente il nuovo programma e i file correlati. Eliminare i file che non si utilizzano più.

image

Aggiorna licenza.rtf

Se si desidera modificare il contratto di licenza visualizzato nella schermata di installazione, modificare il contenuto.

image

Aggiornamento delle informazioni sul file di installazione Product.wxs

* Non è necessario lavorare su questo elemento se la configurazione del file o della cartella da installare non è cambiata affatto rispetto alla versione precedente.

L'attività di alto livello di questo elemento consiste nel rimuovere e ricreare tutte le impostazioni di installazione dei file precedenti. Se hai aggiunto o diminuito un solo file, potrebbe essere più veloce giocare direttamente con il codice product.wxs.

Avvia WixEdit.

image

Aprire il file Product.wxs.

image

image

Seleziona File dall'icona a sinistra. Eliminare le cartelle sotto ProgramFilesFolder.

image

Fare clic con il pulsante destro del mouse sulla cartella ProgramFilesFolder e selezionare Importa cartella.

image

Selezionare la cartella in cui si desidera installare i file.

image

Un set di file viene aggiunto all'albero.

image

Per associare altri parametri, selezionare la cartella aggiunta e impostare "Id" su "INSTALLFOLDER".

image

Creare un collegamento per il menu Start. Poiché questo lavoro di creazione di scorciatoie diventa lo stesso lavoro ogni volta, Potrebbe essere più veloce salvare il codice XML e incollarlo in un secondo momento. (Selezione parte dell'immagine qui sotto)

image

selezionare "Nuovo" e "Collegamento" dal menu di scelta rapida del file exe.

image

Quando viene aggiunto il collegamento, selezionarlo e fare clic con il pulsante destro del mouse sullo spazio vuoto per aggiungere la proprietà.

image

Aggiungere i seguenti parametri: Modificare il nome univoco in modo che corrisponda al programma.

Valore dell'attributo
Id LITTLESAVIORTRIAL. EXE_shortcut
Nome Prova di Little Saber
Directory ProgramMenuDir
WorkingDirectory INSTALLDIR
Icona LITTLESAVIOR. ICO
IconIndex 0
Pubblicizzare

image

Quindi selezionare la scheda "Funzionalità".

Aggiungi tutti i file che hai aggiunto ed elimina tutti i file che non ti servono più.

image

image

image

In caso di problemi con l'interfaccia utente, è possibile modificare direttamente l'XML.

image

Salvare.

image

Conferma della compilazione e dell'esecuzione

Compilarlo in Visual Studio e creare un programma di installazione.

Eseguire la nuova versione del programma di installazione con la versione precedente installata e assicurarsi che sia sovrascritta e installata.

Inoltre, provare ad assicurarsi che non sia possibile installare la versione precedente del programma di installazione quando si esegue il programma di installazione mentre è installata una nuova versione.