Condividi tramite


Cosa accade se le regole del componente vengono interrotte?

In alcuni casi, gli autori possono decidere di interrompere le regole per la creazione di componenti, come illustrato in Organizzazione di applicazioni in componenti e modifica del codice componente. Gli autori devono essere consapevoli delle possibili conseguenze dell'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.

L'elenco seguente descrive i modi in cui gli autori a volte interrompono le regole del componente consigliate 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 hanno informazioni sulle risorse rimosse nel database di installazione.
  • Se entrambi i prodotti precedenti hanno le informazioni sulla risorsa e un nuovo prodotto vengono installati nello stesso computer, le risorse possono essere lasciate indietro se il prodotto precedente 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 non compatibile è incluso in un componente senza modificare il codice del componente, il controllo delle versioni predefinite del file causa la sovrascrivere il file originale con il file non compatibile 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 del percorso chiave di un componente determina la versione del componente. Se è già installata una versione più recente del file del 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.

  • Il controllo delle versioni di file predefinito causa la sovrascrivere il file originale con il file non compatibile 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 del percorso chiave di un componente determina la versione del componente. Se è già installata una versione più recente del file del 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.