[wix-users] Unable to correctly specify a variable for WiX within Visual Studio

Hoover, Jacob Jacob.Hoover at greenheck.com
Tue Mar 8 12:48:19 PST 2016


<PropertyGroup>
  <JavaDocBase>c:\javadocs</JavaDocBase>
<DefineConstants>
      $(DefineConstants);
      VersionMajorMinor=$(VersionMajorMinor);
      VersionBuild=$(VersionBuild);
      VersionQFE=$(VersionQFE);
      BundleUpgradeCode=$(BundleUpgradeCode);
      JavaDocBase=$(JavaDocBase);
</DefineConstants>
</PropertyGroup>

Should work if you are referring to them in your WXS via 

<Bundle Version="$(var.VersionMajorMinor).$(var.VersionBuild).$(var.VersionQFE)" 
          UpgradeCode="$(var.BundleUpgradeCode)"        
...

If you have a PreBuild event, use the MSBuild property instead of the var syntax.

<PreBuildEvent>"$(WIX)bin\heat.exe" dir "$(JavaDocBase)" -cg JavaDocs_JSP -gg -scom -sreg -sfrag -srd -dr INSTALLDIR -var var.JavaDocBase -out "$(ProjectDir)\JavaDocs_JSP_Fragment.wxs"</PreBuildEvent>


I am a bit confused why you opted not to use the HeatDirectoryTask.

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Jon Earle
Sent: Tuesday, March 08, 2016 1:15 PM
To: wix-users at lists.wixtoolset.org
Subject: [wix-users] Unable to correctly specify a variable for WiX within Visual Studio

Setup is Wix 3.10.2 and visual studio 2015. Working with a wix setup project and custom action project.
I want to create a fragment containing the javados for my project. I had read (http://weblogs.sqlteam.com/mladenp/archive/2010/02/11/WiX-3-Tutorial-SolutionProject-structure-and-Dev-resources.aspx) to set a pre-processor variable (or system variable). I opted to include the variable definition in the project. I tried the pre-processor var <DefineConstants>JavaDocBase=c:\javadocs</DefineConstants>
and just setting a normal variable:
<WixVariables>JavaDocBase=c:\javadocs</WixVariables>
Neither ended up working.
Pre-Build event:
<PropertyGroup><PreBuildEvent>"$(WIX)bin\heat.exe" dir "$(var.JavaDocBase)" -cg JavaDocs_JSP -gg -scom -sreg -sfrag -srd -dr INSTALLDIR -var var.JavaDocBase -out "$(ProjectDir)\JavaDocs_JSP_Fragment.wxs"</PreBuildEvent></PropertyGroup>
I always seem to receive the error:
Unhandled Exception:The expression """.JavaDocBase" cannot be evaluated. Method 'System.String.JavaDocBase' not found.
I have tried var.JavaDocBase, wix.JavaDocBase, env.JavaDocBase and Just JavaDocBase... while the last will allow the command to run, it doesn't put in the proper path so I am no further ahead.
Is it possible to replicate what is in that previously linked tutorial and if so, what have I done wrong? 		 	   		  

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/


More information about the wix-users mailing list