Following the excellent suggestion I have moved some variables to WXI file. How do I include it in WXS file?
Asked
Active
Viewed 2.7k times
2 Answers
37
use <?include ?> preprocessor tag, for example:
<?include include.wxi ?>

Juozas Kontvainis
- 9,461
- 6
- 55
- 66
-
1It works only for 32bit installer. For 64bit this inclusion does not work. I get error: Schema validation failed with the following error at line 1, column 245: The element 'Wix' in namespace 'http://schemas.microsoft.com/wix/2006/wi' cannot contain text. List of possible elements expected: 'Bundle Product Module Patch Fragment PatchCreation'. – jero2rome Apr 07 '14 at 12:55
-
@jero2rome It is because you added `` at the top of the wsx file. wsi files containing `
` elements must be added after the ` – fjch1997 Feb 24 '22 at 23:35` element
4
for reference:
http://wix.sourceforge.net/manual-wix2/preprocessor.htm
Although this is about wix 2.0 and uses a file with extension .wxs - the game stays the same, as only the "include" element is required to exist in the file.
A good article how to use this can be found here: http://weblogs.sqlteam.com/mladenp/archive/2010/02/17/WiX-3-Tutorial-Understanding-main-WXS-and-WXI-file.aspx

ChriPf
- 2,700
- 1
- 23
- 25
-
1Also, note that you have to **include in each .wxs file** where you want to use the variables. The only way to avoid this is to define vars at the project level: right-click the project > Properties > Build tab. – Paul Dec 13 '18 at 20:50