WiX Version
6.0.2
.NET or MSBuild or Visual Studio Version
MSVC 2022
HeatWave Version
1.0.6
Repro Steps
- Go to
https://docs.firegiant.com/
- Search for information about
BindPath and BindName
Repro Repo
No response
Actual Result
No clear answer to the question is found
Expected Result
We should find a way to define BindName metadata for the BindPath element which can be a child element of ItemGroup in a .wixproj file. Also, it should be possible to set a name in the Visual Studio HeatWave project properties. One can add a bind path in the project properties dialog at the botoom of the page that appears. There is a property with a drop-down combo box for the name of a BindPath, but it says <Unnamed> and is not editable. If I manually add an attribute 'Name="ProjectAssets"' to the resulting unnamed BindPath which is inserted by the wizard into the project file, it has no effect when I reopen the project properties wizard (i.e. it still says <Unnamed>).
Under https://docs.firegiant.com/wix/tools/msbuild/#items we see what items can be included in a .wixproj file. Among these is BindPath:
BindPath Bind paths used to locate payload files. To create named bind paths,
specify BindName metadata with the name of the bind path.
However, there is no documentation about how to add BindName metadata, or what it is (Attribute? Property? WixVariable?). Although the syntax for .wixproj files suggest that it is merely another XML file, there is no schema published for it.
From anecdotal evidence and sundry examples found on the internet, it would appear that an unnamed BindPath is defined thus:
<Project Sdk="WixToolset.Sdk/6.0.2"> <!-- for example... -->
<!-- ... -->
<ItemGroup>
<BindPath Include="<path to some files>" />
</ItemGroup>
<!-- ... -->
</Project>
Since there is no schema available, how are we to know how to give our BindPath a name? When I search the documentation for "BindPath", I see the docs for the Files element which has the Include attribute and the syntax 'Include="!(bindpath.ToBeHarvested)\**"'. In addition, the description of the "Include" attribute includes the phrase "Absolute paths via a named bind path are recommended."
I looked at a couple of YouTube "Deployment Dojo" videos including Nos. 44 + 45, but that seems to only show how to use a named bind path specified from the command line and not how to define the name in a project. I might have missed some part which shows this, but it is almost impossible to search the transcript for the exact syntax.
So how do we create a named bind path?
Acknowledgements
WiX Version
6.0.2
.NET or MSBuild or Visual Studio Version
MSVC 2022
HeatWave Version
1.0.6
Repro Steps
https://docs.firegiant.com/BindPathandBindNameRepro Repo
No response
Actual Result
No clear answer to the question is found
Expected Result
We should find a way to define
BindNamemetadata for theBindPathelement which can be a child element ofItemGroupin a .wixproj file. Also, it should be possible to set a name in the Visual Studio HeatWave project properties. One can add a bind path in the project properties dialog at the botoom of the page that appears. There is a property with a drop-down combo box for the name of a BindPath, but it says<Unnamed>and is not editable. If I manually add an attribute'Name="ProjectAssets"'to the resulting unnamedBindPathwhich is inserted by the wizard into the project file, it has no effect when I reopen the project properties wizard (i.e. it still says<Unnamed>).Under https://docs.firegiant.com/wix/tools/msbuild/#items we see what items can be included in a
.wixprojfile. Among these isBindPath:However, there is no documentation about how to add
BindNamemetadata, or what it is (Attribute? Property? WixVariable?). Although the syntax for.wixprojfiles suggest that it is merely another XML file, there is no schema published for it.From anecdotal evidence and sundry examples found on the internet, it would appear that an unnamed BindPath is defined thus:
Since there is no schema available, how are we to know how to give our
BindPatha name? When I search the documentation for "BindPath", I see the docs for theFileselement which has theIncludeattribute and the syntax'Include="!(bindpath.ToBeHarvested)\**"'. In addition, the description of the "Include" attribute includes the phrase "Absolute paths via a named bind path are recommended."I looked at a couple of YouTube "Deployment Dojo" videos including Nos. 44 + 45, but that seems to only show how to use a named bind path specified from the command line and not how to define the name in a project. I might have missed some part which shows this, but it is almost impossible to search the transcript for the exact syntax.
So how do we create a named bind path?
Acknowledgements
wixtoolsetproject because I support the maintainers.