Is there a way to read value for the WiX variable from a text file?
What I am trying to do is to include a version-specific information into instlal package.
This version information extracted into the text file on the pre-build step, the question is how to propages this text file content into a build process.
One of the possible solution is to update whole .wxs file on the pre-build step too, but it feel a bit sloppy.
Is there any other, less-intrusive way?
Thank you.
Create a separate file 'includes.wxi', for example like this:
<?xml version="1.0" encoding="utf-8"?>
<Include Id="VersionNumberInclude">
<?define MajorVersion="1" ?>
<?define MinorVersion="5" ?>
<?define MicroVersion="99" ?>
<?define BuildVersion="14954" ?>
</Include>
In your wxs file, you can include this file like this:
<?include VersionNumberInclude.wxi ?>
And the defines can be used like this:
<?define VersionNumberInternal="$(var.MajorVersion).$(var.MinorVersion).$(var.BuildVersion)" ?>
<?define VersionNumberUserVisible="$(var.MajorVersion).$(var.MinorVersion).$(var.MicroVersion).$(var.BuildVersion)" ?>
In my environment, WiX scripts are always built by the MSBuild file. That means that I can pass in any version-specific information I want on the command line. CruiseControl.NET passes these version numbers to my WiX script when built.
来源:https://stackoverflow.com/questions/395922/include-a-text-file-content-into-a-wix-script