2012-09-12 10 views

risposta

8

Ho avuto anche questo errore, sembra essere una nuova cosa generata automaticamente da Wix quando viene creata una nuova installazione. A Wix non piaceva quando ho aggiornato da 3.5 a 3.6, l'ho semplicemente cancellato.

+0

Nel caso in cui aiuti qualcuno in futuro - ho avuto questo quando l'attributo id del componente era errato – Liath

+0

Bene, abbiamo appena aggiornato da WIX 3.5 a 3.8 e abbiamo riscontrato questo problema.Abbiamo dovuto riscrivere i nostri file wixproj e wxs per evitare la raccolta, o semplicemente usare la risposta @buonbuoy [fornito] (http://stackoverflow.com/a/12741595/1584012) – wigy

46

È un problema di wix 3.6. Trovato la soluzione here. Tutto quello che dovete fare è aggiungere la seguente proprietà < EnableProjectHarvesting> True </EnableProjectHarvesting> sul progetto Wix

<?xml version="1.0" encoding="utf-8"?> 
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <PropertyGroup> 
    <EnableProjectHarvesting>True</EnableProjectHarvesting> 
+0

Grazie per le informazioni, buonabuona. Ha funzionato per me –

+5

non funziona per me :( –

+2

Questo ha funzionato per me. Se avessi una scelta, non userei WIX. Aggiorna percorso Microsoft !? Sarebbe bello se la documentazione fosse migliore. – avantprime

0

Dopo un aggiornamento da Wix 3.5 a Wix 3.8, abbiamo avuto lo stesso problema. Tuttavia, non vogliamo la raccolta dei progetti, quindi impostare EnableProjectHarvesting su true non è una buona soluzione. Quindi, per risolvere il problema, abbiamo dovuto cambiare un paio di cose:

Nel file Product.wxs, abbiamo rimosso completamente la riga seguente (dall'attributo <Feature>):

<ComponentGroupRef Id="Product.Generated" /> 



Dopo di che, nel nostro .wixproj, abbiamo aggiornato il LinkerBaseInputPaths in un DefineConstants.

Quindi questo significa cambiare

<LinkerBaseInputPaths>%(ProjectReference.RootDir)%(ProjectReference.Directory)obj\$(Configuration)\Package\PackageTmp\</LinkerBaseInputPaths> 

Per (e vi prego di notare anche l'aggiunta di BasePath=%)

<DefineConstants>BasePath=%(ProjectReference.RootDir)%(ProjectReference.Directory)obj\$(Configuration)\Package\PackageTmp\</DefineConstants> 



e, infine, abbiamo aggiunto

PreprocessorVariable="var.BasePath" 

t o il nostro attributo HeatDirectory (che è appena sotto il PropertyGroup che abbiamo modificato nel passaggio precedente).

1

Nel mio caso, dovrei usare ComponentRef invece di ComponentGroupRef

0

Nel mio caso, mi è stato sempre lo stesso numero di errore:

file_name.wxs (38): LGHT0094 errore: riferimento non risolto a simbolo 'WixComponentGroup: Name_of_the_ComponentGroup

Questo è stato perché avevo spostato il ComponentGroup in un file diverso, e lo script di build (cMake nel mio caso, forse si usano formica) che chiama candle.exe non era stato aggiornato per includere il. file wxs che ora cont ained il ComponentGroup.

L'aggiornamento dello script cmake per includere il nuovo file ha corretto l'errore. E il messaggio di errore era effettivamente significativo, poiché si trattava di un riferimento non risolto.

Problemi correlati