metaetiqueta etiquetas encabezado ejemplos código como codigo code agregar agrega wix patch wix3.5 wix3.6

etiquetas - parcheando usando puramente WIX



metaetiqueta wix (2)

Hitesh,

Para mí, el calor crea un grupo de componentes como este:

<Fragment> <ComponentGroup Id="MyFiles"> <ComponentRef Id="cmp2AA1A30564C621322ECB3CDD70B1C03C" /> <ComponentRef Id="cmp788C978F16E473D4FD85720B5B75C207" /> </ComponentGroup> </Fragment>

comando de calor:

"%WIX%/bin/heat.exe" dir slndir/bin/Release -cg MyFiles -gg -scom -sreg -sfrag -srd -dr INSTALLDIR -out ../Wix/MyFiles.wxs -var var.BinOutputPath -nologo -v -ke -t wixtransform.xsl

Y en patch.wxs:

<Fragment> <PatchFamily Id=''ProductPatchFamily'' Version=''1.3.0.0'' Supersede=''yes''> <ComponentRef Id="cmp2AA1A30564C621322ECB3CDD70B1C03C" /> <ComponentRef Id="cmp788C978F16E473D4FD85720B5B75C207" /> </PatchFamily> </Fragment>

Tenga cuidado: no hay ningún atributo ProductCode en la etiqueta PatchFamily

Estoy luchando por crear un parche usando WIX y esperaba que alguien me guiara en la dirección correcta.

Tengo unos pocos cientos de archivos fuente y me compadezco de ellos para crear un archivo de cosecha seguido de crear un paquete usando velas y luz.

Necesito cambiar algunos archivos de configuración y creo un segundo paquete con los cambios.

Usando Torch y pyro creo el archivo .wixmst y luego cuando intento crear el archivo msp, pyro se queja con el siguiente error.

pyro.exe: error PYRO0252: No se proporcionaron transformaciones válidas para adjuntar al parche. Verifique que las transformaciones que pasó en la línea de comando tengan una línea base coincidente creada en el parche. Además, asegúrese de que haya diferencias entre su objetivo y la actualización.

mi pregunta realmente es: ¿qué debería contener patch.wxs?

Aquí está mi aspecto de patch.wxs:

<?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Patch AllowRemoval="yes" Manufacturer="sample llc" MoreInfoURL="sample.com" DisplayName="Env Patch" Description="Env Specfic Patch" Classification="Update" > <Media Id="5000" Cabinet="RTM.cab"> <PatchBaseline Id="RTM" /> </Media> <PatchFamilyRef Id="EnvPatchFamily" /> </Patch> <Fragment> <PatchFamily Id=''EnvPatchFamily'' Version=''1.0.0.0'' ProductCode="PUT-GUID-HERE" Supersede=''yes'' > ********************************************** What component Ref should I put in here heat creates a component group and I can''t put ComponentGroupRef in here ********************************************** </PatchFamily> </Fragment> </Wix>

Estoy usando parches de Wix como se describe en este enlace: http://wix.sourceforge.net/manual-wix3/wix_patching.htm

Sin embargo, no considera el archivo wix fuente creado usando calor. ¿Puede alguien decirme qué estoy haciendo mal aquí?


Enfrenté el mismo problema, la solución para este error es agregar el GUID al componente y debería permanecer igual para ambas versiones de msi.

<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> <MediaTemplate /> <Feature Id="ProductFeature" Title="WixPatch" Level="1"> <ComponentGroupRef Id="ProductComponents" /> </Feature> </Product> <Fragment> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder"> <Directory Id="INSTALLFOLDER" Name="WixPatch" /> </Directory> </Directory> </Fragment> <Fragment> <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER" > <Component Id="File1" **Guid="3A64BE7A-BBEC-40AD-8319-45C602734146"**> <File Source="D:/V2/File1.txt" Name="File1" KeyPath="yes" DiskId="1" Id="F1"/> </Component> </ComponentGroup> </Fragment>