Me pregunto cómo incluir una salida de proyecto dependiente de la configuración en el proyecto de configuración de WiX. Por ejemplo, veamos la solución de Visual Studio con una aplicación .NET y un Proyecto de configuración de Wix.Cómo incluir una salida de proyecto dependiente de la configuración en WiX 3.6
He añadido una referencia a la aplicación .NET en el proyecto de instalación y el componente creado en el origen de la instalación:
<Component Guid="EB0CBC32-5AE5-41B3-A343-FEBE044AC30A">
<File Source="$(var.MyApp.TargetPath)" KeyPath="yes"/>
</Component>
Así que, espero, que WiX incluirá una versión liberación MIAPL en su lanzamiento setup msi, y la versión de depuración en debug msi respectivamente. De lo contrario, la referencia a la salida del proyecto no tiene sentido para mí.
Pero siempre hay una versión de depuración. ¿Qué estoy haciendo mal?
ACTUALIZACIÓN.
Aquí es símbolo del sistema de la vela de la ventana de salida VS:
------ Volver a generar todo comenzó: Proyecto: MySetup, Configuración: x86 lanzamiento ------
C: \ Archivos de programa \ WiX Toolset v3.6 \ bin \ candle.exe -d "DevEnvDir = C: \ Archivos de programa \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \" -dSolutionDir = D: \ Projects \ Research \ Wix_ProjectOutput \ -dSolutionExt = .sln -dSolutionFileName = Wix_ProjectOutput.sln -dSolutionName = Wix_ProjectOutput -dSolutionPath = D: \ Projects \ Research \ Wix_ProjectOutput \ Wix_ProjectOutput.sln -dConfiguration = Lanzamiento -dOutDir = .. \ Release \ -dPlatform = x86 -dProjectD ir = D: \ Projects \ Research \ Wix_ProjectOutput \ MySetup \ -dProjectExt = .wixproj -dProjectFileName = MySetup.wixproj -dProjectName = MySetup -dProjectPath = D: \ Projects \ Research \ Wix_ProjectOutput \ MySetup \ MySetup.wixproj -dTargetDir = D: \ Proyectos \ Investigación \ Wix_ProjectOutput \ Release \ -dTargetExt = .msi -dTargetFileName = MySetup.msi -dTargetName = MySetup -dTargetPath = D: \ Proyectos \ Investigación \ Wix_ProjectOutput \ Release \ MySetup.msi -dMyApplication.Configuration = depuración -d "MyApplication.FullConfiguration = Debug | x86" -dMyApplication.Platform = x86 -dMyApplication.ProjectDir = D: \ Projects \ Research \ Wix_ProjectOutput \ MyApplication \ -dMyApplication.ProjectExt = .csproj -dMyApplication.ProjectFileName = MyApplication.csproj -dMyApplication .ProjectName = MyApplication -dMyApplication.ProjectPath = D: \ Projects \ Research \ Wix_ProjectOutput \ MyApplication \ MyApplication.csproj -dMyApplication.TargetDir = D: \ Projects \ Research \ Wix_ProjectOutput \ Debug \ -dMyApp lication.TargetExt = .exe -dMyApplication.TargetFileName = MyApplication.exe -dMyApplication.TargetName = MyApplication -dMyApplication.TargetPath = D: \ Projects \ Research \ Wix_ProjectOutput \ Debug \ MyApplication.exe -out obj \ Release \ -arch x86 Product. wxs
por qué se utilizó para la liberación acumulación de MySetup depuración de configuración de MyApplication ??
ACTUALIZACIÓN 2.
Y aquí es símbolo del sistema de la vela, cuando se utiliza msbuild desde la línea de comandos:
%windir%\Microsoft.NET\Framework\v4.0.30319\MsBuild.exe /verbosity:d /t:rebuild /fileLogger /p:Configuration=Release Wix_ProjectOutput.sln
En msbuild.log
:
C: \ Archivos de programa \ WiX conjunto de herramientas v3.6 \ bin \ vela.exe -d "DevEnvDir = Indefinido si no está compilando desde Visual Studio" -DSolutionDir = D: \ Projects \ Research \ Wix_ProjectOutput \ -dSolutionExt = .sln -dSolutionFileName = Wix_ProjectOutput.sln -dSolutionName = Wix_ProjectOutput -dSolutionPath = D: \ Projects \ Research \ Wix_ProjectOutput \ Wix_ProjectOutput.sln -dConfiguration = Release -dOutDir = .. \ Release \ -dPlatform = x86 -dProjectDir = D: \ Projects \ Research \ Wix_ProjectOutput \ MySetup \ -dProjectExt = .wixproj -dProjectFileName = MySetup.wixproj -dProjectName = MySetup -dProjectPath = D: \ Projects \ Research \ Wix_ProjectOutput \ MySetup \ MySetup.wixproj -dTargetDir = D: \ Projects \ Research \ Wix_ProjectOutput \ Release \ -dTargetExt = .msi -dTargetFileName = MySetup.msi -dTargetName = MySetup -dTargetPath = D: \ Projects \ Research \ Wix_ProjectOutput \ Release \ MySetup.msi -dMyApplication.Configuration = Versión -d "MyApplication.FullConfiguration = Versión | x86" -dMyApplication.Platform = x86 -dMyApplication.ProjectDir = D: \ Projects \ Research \ Wix_ProjectOutput \ MyApplication \ -dMyApplication.ProjectExt = .csproj -dMyApplication.ProjectFileName = MyApplication.csproj -dMyApplication.ProjectName = MyApplication -dMyApplication.ProjectPath = D: \ Projects \ Research \ Wix_ProjectOutput \ MyApplication \ MyApplication.csproj -dMyApplication.TargetDir = D: \ Projects \ Research \ Wix_ProjectOutput \ Release \ -dMyApplication.TargetExt = .exe -dMyApplication.TargetFileName = MyApplication.exe -dMyApplication.TargetName = MyApplication -dMyApplication.TargetPath = D : \ Proyectos \ Investigación \ Wix_ProjectOutput \ Release \ MyApplication.exe salida privado obj \ Release \ x86 -arch Product.wxs
Así, bajo msbuild todo está bien.
ACTUALIZACIÓN 3.
Parece que WiX usa configuración activa (vea el cuadro combinado en la barra de herramientas VS).
Es decir, si se selecciona Debug
allí, los proyectos de WiX incluirán la salida de depuración de los proyectos a los que se hace referencia. Si se selecciona Release
, los proyectos de WiX incluirán salida de lanzamiento.
Este comportamiento no es correcto desde mi punto de vista. El instalador Debug
debe incluir depurar salida de proyectos referenciados. Release
instalador - lanzamiento salida.
Error publicado here, pero ahora está cerrado sin ninguna explicación.
¿Alguna idea?
Esta variable ya está definido, y su valor es 'Debug' . He publicado un error en el rastreador de WiX, pero ahora está cerrado sin ninguna explicación. Actualizado mi pregunta. – Dennis