One last thing .. using the "/t:rebuild" on the MSBuild of the WiX project has alleviated the need to delete the WiX project and get the latest from the source repository.
On Mon, Jul 27, 2009 at 12:06 PM, troy hostetter <troy.hostet...@gmail.com>wrote: > Here are my results. > > WiX Code: > > <?ifndef env.Install_Environment ?> > <?error env.Install_Environment variable must be defined per ifndef > ?> > <?endif ?> > > <?ifdef env.Install_Environment ?> > <?if $(env.Install_Environment) = local ?> > <ComponentRef Id="C__SPDeploy.kctools.local.config"/> > <?endif ?> > > <?if $(env.Install_Environment) = dev ?> > <ComponentRef Id="C__SPDeploy.kctools.dev.config"/> > <?endif ?> > > <?if $(env.Install_Environment) = mo ?> > <ComponentRef Id="C__SPDeploy.kctools.itg.config"/> > <?endif ?> > > <?if $(env.Install_Environment) = prod ?> > <ComponentRef Id="C__SPDeploy.kctools.prod.config"/> > <?endif ?> > <?else?> > <?error env.Install_Environment is not defined per ifdef ?> > <?endif?> > > Batch file output: > > > C:\StarTeam > Projects\n-knowledgecentre-kc-tools\Deployment\BuildandPackage>SET > Install_Environment=mo > > SUCCESS: Specified value was saved. > > ... > > Done building project "kCTools.Deploy.wixproj". > > Build succeeded. > C:\Program Files\MSBuild\Microsoft\WiX\v3.0\Wix.targets : warning : > Solution properties are only available during IDE builds or when building > the solution file from the command line. To turn off this warning set > <DefineSolutionProperties>false</DefineSolutionProperties> in your .wixproj > file. > 1 Warning(s) > 0 Error(s) > > Ok .. it is finding the environment variable and I believe I solved the > problem. It appears I need to do two things: > > 1. After running MSBuild against my WiX project, I reset my > Install_Environment variable: set Install_Environment= > 2. We use Borland's StarTeam for source control, and I include the WiX > project in the get latest call. Normally there is no change to the wxs > files, unless of course we have some new components. If the WiX project > does not exist locally, and I do a get latest, the output of the WiX compile > looks like: > > Target Compile: > C:\Program Files\Windows Installer XML v3\bin\candle.exe > -d"DevEnvDir=*Undefined if not building from within Visual Studio*" > -d"SolutionDir=*Undefined if not building a solution or within Visual > Studio*" -d"SolutionExt=*Undefined if not building a solution or within > Visual Studio*" -d"SolutionFileName=*Undefined if not building a solution or > within Visual Studio*" -d"SolutionName=*Undefined if not building a solution > or within Visual Studio*" -d"SolutionPath=*Undefined if not building a > solution or within Visual Studio*" -dConfiguration=Release > -dOutDir=bin\x64\Release\ -dPlatform=x64 -d"ProjectDir=C:\StarTeam > Projects\n-knowledgecentre-kc-tools-PandD\Deployment\kCTools.Deploy\\" > -dProjectExt=.wixproj -dProjectFileName=kCTools.Deploy.wixproj > -dProjectName=kCTools.Deploy -d"ProjectPath=C:\StarTeam > Projects\n-knowledgecentre-kc-tools-PandD\Deployment\kCTools.Deploy\kCTools.Deploy.wixproj" > -d"TargetDir=C:\StarTeam > Projects\n-knowledgecentre-kc-tools-PandD\Deployment\kCTools.Deploy\bin\x64\Release\\" > -dTargetExt=.msi -dTargetFileName=kCTools.Deploy.msi > -dTargetName=kCTools.Deploy -d"TargetPath=C:\StarTeam > Projects\n-knowledgecentre-kc-tools-PandD\Deployment\kCTools.Deploy\bin\x64\Release\kCTools.Deploy.msi" > -out obj\x64\Release\SP.DeployComponents.wixobj -arch x64 -ext "C:\Program > Files\Windows Installer XML v3\bin\WixUtilExtension.dll" -ext "C:\Program > Files\Windows Installer XML v3\bin\WixUIExtension.dll" -ext "C:\Program > Files\Windows Installer XML v3\bin\WixIIsExtension.dll" > SP.DeployComponents.wxs > Microsoft (R) Windows Installer Xml Compiler version 3.0.4805.0 > Copyright (C) Microsoft Corporation. All rights reserved. > > SP.DeployComponents.wxs > > however, if the WiX project already exists locally, and nothing has > changed, and I run MSBuild against the WiX project, I get this output: > > Target Compile: > Skipping target "Compile" because all output files are up-to-date with > respect to the input files. > > Hmm .. I guess that "Skipping target Compile" means the WiX preprocessing > never runs (just dawned on me) .. doh! > > So, to conclude, I will be setting the environment variable to null at the > end of my build script, and, at the beginning of the script I will be > deleting the WiX Project. > > Make sense? > > - Troy > > > On Sat, Jul 25, 2009 at 2:14 PM, Bob Arnson <b...@joyofsetup.com> wrote: > >> troy hostetter wrote: >> > error CNDL0150: Undefined preprocessor variable >> > '$(env.Install_Environment)'. >> > >> >> Use <?ifdef?> first to see if it's defined. Don't use $() around it in >> an <?ifdef?>. >> >> -- >> sig://boB >> http://joyofsetup.com/ >> >> >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> WiX-users mailing list >> WiX-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/wix-users >> > > ------------------------------------------------------------------------------ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users