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

Jon Earle earlej at hotmail.com
Wed Mar 9 08:36:31 PST 2016


So, I created an include file, specified within it:
<?define JavaDocsBase = "c:\javadocs" ?>
Then edited the wixproj file to see if I could pull it in:
<?xml version="1.0" encoding="utf-8"?><?include $(sys.CURRENTDIR)\Config.wxi?><Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
Tried to re-load the project file and still get 
 error  : The expression """.JavaDocsBase" cannot be evaluated. Method 'System.String.JavaDocsBase' not found.
I thought that the project file would pull in and therefore have available, the variable I defined... why does it not find it?
Thanks!Jon
> From: Jacob.Hoover at greenheck.com
> To: wix-users at lists.wixtoolset.org
> Date: Tue, 8 Mar 2016 20:48:19 +0000
> Subject: Re: [wix-users] Unable to correctly specify a variable for WiX within	Visual Studio
> 
> <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/
> 
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/
 		 	   		  


More information about the wix-users mailing list