2012-09-12 13 views

Respuesta

8

También tuve este error, parece ser algo nuevo generado automáticamente desde Wix cuando se crea una nueva configuración. A Wix no le gustó cuando actualicé de 3.5 a 3.6, simplemente lo eliminé.

+0

En caso de que ayude a alguien en el futuro, tuve esto cuando el atributo de identificación del componente era incorrecto – Liath

+0

Bueno, acabamos de actualizar de WIX 3.5 a 3.8 y solucionamos este problema.O bien tuvimos que reescribir nuestros archivos wixproj y wxs para evitar la cosecha, o simplemente usar la respuesta @goodbuoy [provisto] (http://stackoverflow.com/a/12741595/1584012) – wigy

46

Es un problema de wix 3.6. Encontré la solución here. Todo lo que necesita hacer es añadir la siguiente propiedad < EnableProjectHarvesting> True </EnableProjectHarvesting> en su proyecto 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

Gracias por la información, goodbuoy. Trabajó para mi. –

+5

no funciona para mí :( –

+2

Esto funcionó para mí. Si tuviera la opción, no usaría WIX. ¿Ruta de actualización de Microsoft? Sería tan bueno si la documentación fuera mejor. – avantprime

0

Después de una actualización de Wix 3.5 a Wix 3.8, tenemos el mismo problema. Sin embargo, no queremos la cosecha del proyecto, por lo que establecer EnableProjectHarvesting en true no es una buena solución. Así que para resolver el problema, hemos tenido que cambiar un par de cosas:

En el archivo Product.wxs, hemos eliminado por completo la siguiente línea (a partir del atributo <Feature>):

<ComponentGroupRef Id="Product.Generated" /> 



Después de eso, en nuestro .wixproj, actualizamos el LinkerBaseInputPaths a un DefineConstants.

Así que esto significa cambiar

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

Para (Y por favor también notar la adición de BasePath=%)

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



y finalmente añadimos

PreprocessorVariable="var.BasePath" 

t o nuestro atributo HeatDirectory (que está justo debajo del PropertyGroup que modificamos en el paso anterior).

1

En mi caso, debo utilizar en lugar de ComponentRefComponentGroupRef

0

En mi caso, yo estaba recibiendo el mismo número de error:

file_name.wxs (38): LGHT0094 error: referencia sin resolver al símbolo 'WixComponentGroup: Name_of_the_ComponentGroup

Esto se debió a que había movido el ComponentGroup a un archivo diferente, y la escritura de la estructura (cmake en mi caso, tal vez utilizan hormigas) que llama candle.exe no había sido actualizado para incluir el. archivo wxs que ahora cont Ained el ComponentGroup.

Al actualizar el script cmake para incluir el nuevo archivo se corrigió el error. Y el mensaje de error fue realmente significativo, ya que esta era una referencia no resuelta.

Cuestiones relacionadas