2013-02-08 9 views
5

Utilizziamo WiX per l'installazione di Windows.perché due scorciatoie dopo l'aggiornamento principale (migrazione)?

Stavamo supportando l'aggiornamento principale senza problemi fino a poco tempo fa.

Mi è stato chiesto di cambiare il nome del collegamento come abbiamo cambiato il nome del nostro prodotto. Quindi l'ho cambiato.

Dopo un aggiornamento importante, vengono visualizzati 2 collegamenti al posto di uno.

Il bello è mentre stiamo installando tutte le funzionalità migrate nella stessa macchina, ha cancellato il vecchio collegamento in modo corretto sembra.

Ma quando installiamo una delle funzionalità (funzione webserver) nel computer (webserver), vengono visualizzati 2 collegamenti.

Ho verificato che il componente di scelta rapida è stato aggiunto anche nella funzione webserver.

<DirectoryRef Id="ProgramMenu.OrganizationName.MyProj"> 
      <Component Id="CoreInterface_Shortcuts" Guid="3e3c3733-9b53-42cf-a641-b5b3e3da88cf"> 
      <Shortcut Id="MyOrgMESUrl" Name="Home" Description="MyOrg Intuition URL" Target="[INSTALLDIR]MyOrg MES.url" WorkingDirectory="INSTALLDIR"/> 
      <RemoveFolder Id="RemProgramMenu.MyOrg" Directory="ProgramMenu.MyOrg" On="uninstall"/> 
      <RemoveFolder Id="RemProgramMenu.MyOrg.MyProj" Directory="ProgramMenu.MyOrg.MyProj" On="uninstall"/> 
      <RegistryValue Root="HKCU" Key="Software\MyOrg\MyProj" Name="installed" Type="integer" Value="1" KeyPath="yes"/> 
      </Component> 
     </DirectoryRef> 

<Feature Id="WEBSERVER" Title="WEBSERVER Customized Component(s)" Level="1"> 
     <ComponentRef Id="CoreInterface_Shortcuts"/> 
</Feature> 

Perché mantiene la vecchia scorciatoia (se si fa clic su una vecchia scorciatoia, non funziona)? Come evitare questo?

risposta

7

la ragione è facile. non stai seguendo le migliori pratiche.

Quando si modificano i nomi, è necessario modificare il componente guid.

vedere la documentazione:

Qualsiasi modifica che non è stato dimostrato da test per essere compatibile con le versioni precedenti del componente. In questo caso, è necessario modificare anche il nome o la posizione di destinazione di ogni risorsa nel componente.

Una modifica nel nome o nella destinazione di qualsiasi file, chiave di registro, collegamento o altra risorsa nel componente. In questo caso, è necessario modificare anche il nome o la posizione di destinazione di ogni risorsa nel componente.

Aggiunta o rimozione di qualsiasi file, chiave di registro, collegamento o altra risorsa dal componente. In questo caso, è necessario modificare anche il nome o la posizione di destinazione di ogni risorsa nel componente.

Changing the Component Code (Windows)

Un aggiornamento reinstalla solo/sovrascrive i file. i file sorgente e i nomi sono presi dal nuovo MSI. il riferimento al vecchio nome file viene perso, quando si rinomina un file/collegamento. questo è il motivo per cui il vecchio collegamento non è stato modificato e non è stato sovrascritto dall'installatore.

Problemi correlati