Condividi tramite


Cosa accade se le regole dei componenti vengono interrotte?

In alcuni casi, gli autori possono decidere di interrompere le regole per la creazione di componenti come descritto in Organizzazione di applicazioni in componenti e Modifica del codice componente. Gli autori devono essere consapevoli delle possibili conseguenze di questa operazione e devono in caso contrario garantire che i loro componenti non vengano mai installati dove possono danneggiare altre applicazioni o componenti nel sistema dell'utente.

Nell'elenco seguente vengono descritti i modi in cui gli autori talvolta non rispettano le regole consigliate per i componenti e le possibili conseguenze.

Un autore aggiunge risorse a un componente senza modificare il codice del componente.

  • I prodotti installati con il componente precedente non hanno informazioni sulle risorse aggiunte nel database di installazione.
  • Se entrambi i nuovi prodotti con le risorse aggiunte e un vecchio prodotto vengono installati nello stesso computer, le risorse possono essere lasciate indietro se il nuovo prodotto viene disinstallato per primo.
  • Un prodotto precedente senza le risorse aggiunte non può ripristinare la versione più recente del componente. La reinstallazione del prodotto precedente non ripristina le risorse aggiunte.

Un autore rimuove le risorse da un componente senza modificare il codice del componente.

  • I prodotti installati con il nuovo componente non contengono informazioni sulle risorse rimosse nel database di installazione.
  • Se entrambi i prodotti precedenti, con le informazioni sulle risorse e un nuovo prodotto vengono installati nello stesso computer, le risorse possono essere lasciate indietro se il vecchio prodotto viene disinstallato per primo.
  • Un nuovo prodotto con le risorse rimosse non può ripristinare la versione precedente del prodotto. La reinstallazione del nuovo prodotto non ripristina le risorse rimosse.

Un autore include un file incompatibile con le versioni precedenti senza modificare il codice del componente.

Se un file incompatibile viene incluso in un componente senza modificare il codice del componente, controllo delle versioni predefinite dei file fa sì che il programma di installazione sovrascriva il file originale con il file incompatibile più recente. Ciò può danneggiare i vecchi prodotti che necessitano del file originale. Può anche impedire al programma di installazione di ripristinare il prodotto precedente perché la versione del file di percorso chiave di un componente determina la versione del componente. Se è già installata una versione più recente del file di percorso chiave, il programma di installazione non installa una versione precedente del componente. Per altre informazioni, vedere Regole di controllo delle versioni dei file. In questo caso, il nuovo prodotto deve essere rimosso prima che il vecchio prodotto possa essere reinstallato.

  • Controllo delle versioni predefinite dei file causa la sovrascrittura del file originale con il file incompatibile più recente.
  • I vecchi prodotti che necessitano del file originale sono danneggiati.
  • Può anche impedire al programma di installazione di ripristinare il prodotto precedente perché la versione del file di percorso chiave di un componente determina la versione del componente. Se è già installata una versione più recente del file di percorso chiave, il programma di installazione non installa la versione precedente del componente. Per altre informazioni, vedere Regole di controllo delle versioni dei file. In questo caso, il nuovo prodotto deve essere rimosso prima che il vecchio prodotto possa essere reinstallato.

Un autore include la stessa risorsa in due componenti diversi.

Se due componenti hanno una risorsa con lo stesso nome e posizione e entrambi i componenti vengono installati nella stessa cartella, la rimozione di entrambi i componenti rimuove la risorsa comune, che danneggia il componente rimanente.

  • La disinstallazione di entrambi i componenti rimuove la risorsa e interrompe l'altro componente.
  • Il meccanismo di conteggio dei riferimenti del componente è danneggiato.