14

I'm trying to learn WiX and now creating sample setup project, using WiX Setup Project template for Visual Studio.

I have a solution with three projects:

  • .net class library;
  • .net application, which uses class library;
  • WiX setup project.

Of course, I want to add my first two projects' output as components to WiX setup.

As described here and here (and as far, as I understand), adding a reference in WiX project and setting it Harvest property to True automatically adds a component for project's output.

Now, I want to reference to this component in some Feature description.

The questions:

  • what Id for ComponentRef should I use?
  • is this the correct way to reference VS projects' output?

I'm using VS 2010 and WiX 3.6 RC.

2 Answers 2

14

Currently Harvesting referenced project outputs does not work in Wix3.6 and will be added in Wix4.0

For now you will have to manually add the binary outputs into your project yourself (which I personally prefer anyway). For the examples below the Components will be named the same as their Child File elements (dotNetClass.Output and dotNetApp.Output).

<Component>
    <File Id="dotNetClass.Output"
          Name="$(var.dotNetClass.TargetFileName)"
          Source="$(var.dotNetClass.TargetPath)"
          KeyPath="yes" />
</Component>

<Component>
    <File Id="dotNetApp.Output"
          Name="$(var.dotNetApp.TargetFileName)"
          Source="$(var.dotNetApp.TargetPath)"
          KeyPath="yes" />
</Component>
Sign up to request clarification or add additional context in comments.

4 Comments

Thanks a lot! I've been added components manually... but then I've decided, that some automation in this process will be nice.
FYI it's $(var.VisualStudioProjectName.MacroName). A project may have 0, 1 or many classes.
how i can add 2 folders in directory to out put ? @caveman_dick
@SOFKiNG I don't get what you mean. If the above question doesn't answer what you need you should ask a separate question yourself.
2

As an alternative, you can use HarvestProject, HeatDirectory and HarvestDirectory MsBuild tasks:

These are needed to embedded into your *.wixproj file or you can create a separate MSBuild compatible proj file.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.