wix - metaetiqueta - los archivos generados por calor no pueden encontrar el directorio de SourceDir
wix head tag (2)
Debería agregar el parámetro -var para calentar la línea de comando:
De la ayuda heat.exe:
-var VariableName
sustituto File / @ Source = "SourceDir"
con un preprocesador o una variable wix. Por ejemplo:
-var var.MySource
se convertirá en File / @ Source = "$ (var.MySource) / myfile.txt"
y
-var wix.MySource
se convertirá en File / @ Source = "! (wix.MySource) / myfile.txt"
Estoy ejecutando calor para generar un archivo wxs. El código es el siguiente.
Quiero agregar todos los archivos desde dir.prompts al archivo wxs en el instalador. Y agregué esto para ser parte del proceso de compilación automatizado (de modo que no puedo modificar el archivo wxs una vez que se ha generado).
Se genera el archivo wxs, y se ve algo como lo siguiente. Sin embargo, Light se queja de que no puede encontrar dónde está SourceDir / Valid.wav. Así que supongo que mi pregunta es, ¿es SourceDir el directorio del que estoy leyendo los archivos, o algún directorio mágico del que no tengo conocimiento? Muchas gracias.
<Fragment>
<ComponentGroup Id="COMPONENTS">
<Component Id="dmp120F8C2794******" Directory="dir31A7EE61C56025FE2564A81E28E8C132" Guid="{6D40EBC0-***-***-B972-**********}">
<File Id="fil919100C2******D045EC131" KeyPath="yes" Source="SourceDir/Valid.wav" />
</Component>
<exec program ="${dir.wix}/heat.exe">
<arg value = "dir"/>
<arg line = "${dir.prompts}"/>
<arg value= "-gg"/>
<arg line="-cg "COMPONENTS""/>
<arg line = "-out "${dir.thisinstaller}//COMPONENTS.wxs""/>
</exec>
Tenga en cuenta que Light buscará SourceDir adicionales para su archivo si los agrega a la ruta de búsqueda con -b
p.ej
light.exe -b Foo ...
(Respuesta de: https://.com/a/6920979/640282 )