Bugs item #1639812, was opened at 2007-01-19 11:43
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1639812&group_id=105970
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: candle
Group: v3.0
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: duanej (duanejoh)
Assigned to: Nobody/Anonymous (nobody)
Summary: Preprocessor has parsing problems
Initial Comment:
I'm trying to modify my wxs files to handle both 32 and 64 bit installs using
the Preprocessor ifdef's. I wrote somthing like the following:
<Fragment>
<DirectoryRef Id="INSTALLDIR">
<?if $(env.RELEASE64)=1 ?>
<Component Id="bvPwd.exe" Guid="{ACAE461E-0D51-4731-9186-9FEB25A75A55}"
Win64="yes">
<?else?>
<Component Id="bvPwd.exe" Guid="{74D63A0E-7ED7-4FD3-91D0-F56356085723}"
>
<?endif?>
<File Id="bvPwd.exe" Name="bvPwd.exe" KeyPath="yes" DiskId="1"
Source="$(env.SOURCEDIR)\bvPwd.exe" />
</Component>
</DirectoryRef>
</Fragment>
which gave the following error:
C:\rsit\server\SSH2\WixInstall\winsshd_files.wxs(71) : error CNDL0104 : Not a va
lid source file; detail: The 'Component' start tag on line 65 does not match the
end tag of 'DirectoryRef'. Line 71, position 7.
Line 65 is the first Component line. It looks like candle can't handle the
fact that my Component line doesn't contain an end tag. I endind up using the
following which does compile:
<Fragment>
<DirectoryRef Id="INSTALLDIR">
<?if $(env.RELEASE64)=1 ?>
<Component Id="migrate.dll"
Guid="{C910BE9B-3FF3-4179-BDAA-64CD2D013251}" Win64="yes">
<File Id="migrate.dll" Name="migrate.dll" KeyPath="yes" DiskId="1"
Source="$(env.SOURCEDIR)\migrate.dll" />
</Component>
<?else?>
<Component Id="migrate.dll"
Guid="{1F3A8E42-0A47-4395-BF32-23EAB456CC2E}">
<File Id="migrate.dll" Name="migrate.dll" KeyPath="yes" DiskId="1"
Source="$(env.SOURCEDIR)\migrate.dll" />
</Component>
<?endif?>
</DirectoryRef>
</Fragment>
While this works, it makes the code hard to maintain as there are many
duplicated File references. That's OK for this small project that I an
currently working on, but I've got a large project coming up with many hundreds
of files. I don't look forward to duplicating code on a large scale.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=642714&aid=1639812&group_id=105970
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-devs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-devs