Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for WiX Toolset Harvest Tool (Heat) HarvestProject element #16096

Closed
jeremy-visionaid opened this issue Jul 12, 2023 · 11 comments
Closed
Labels
area-single-project Splash Screen, Multi-Targeting, MauiFont, MauiImage, MauiAsset, Resizetizer platform/windows 🪟 proposal/open s/needs-info Issue needs more info from the author t/enhancement ☀️ New feature or request

Comments

@jeremy-visionaid
Copy link
Contributor

Description

I would like to be able to havest the necessary project files for building a Microsoft Software Installer (MSI) using the WiX Toolset HarvestProject element

Public API Changes

The msbuild project should expose the BuiltProjectOutputGroup target

Intended Use-Case

To create an MSI without needing to individually specify all the required files, or harvest a directory which might contain unnecessary/unwanted files.

@jeremy-visionaid jeremy-visionaid changed the title Add support for WiX Toolset Havest Tool (Heat) Add support for WiX Toolset Havest Tool (Heat) HarvestProject element Jul 12, 2023
@jeremy-visionaid
Copy link
Contributor Author

Also related/relevant to #10564

@Eilon Eilon added the area-single-project Splash Screen, Multi-Targeting, MauiFont, MauiImage, MauiAsset, Resizetizer label Jul 12, 2023
@rachelkang rachelkang added the t/enhancement ☀️ New feature or request label Jul 13, 2023
@rachelkang
Copy link
Member

Hi, @jeremy-visionaid - did you try unpackaged? Also, can you attach a repro so we can better understand your use case?

@rachelkang rachelkang added s/needs-info Issue needs more info from the author s/needs-repro Attach a solution or code which reproduces the issue platform/windows 🪟 labels Jul 13, 2023
@ghost
Copy link

ghost commented Jul 13, 2023

Hi @jeremy-visionaid. We have added the "s/needs-info" label to this issue, which indicates that we have an open question for you before we can take further action. This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.

@ghost
Copy link

ghost commented Jul 13, 2023

Hi @jeremy-visionaid. We have added the "s/needs-repro" label to this issue, which indicates that we require steps and sample code to reproduce the issue before we can take further action. Please try to create a minimal sample project/solution or code samples which reproduce the issue, ideally as a GitHub repo that we can clone. See more details about creating repros here: https://github.com/dotnet/maui/blob/main/.github/repro.md

This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.

@jeremy-visionaid
Copy link
Contributor Author

@rachelkang This only applies to unpackaged anyway since the output is an MSI. My understanding is that BuiltProjectOutputGroup should be a common MSBuild target (i.e. from Microsoft.Common.CurrentVersion.targets), but WiX is current;y unable to find it when referencing a MAUI project:

error MSB4057: The target "BuiltProjectOutputGroup" does not exist in the project

This could actually just be a WiX bug, since HarvestProject looks a bit broken in v4.0.1 at the moment (other project types have different errors). Nonetheless, I feel like this kind of stuff should just work. In the meantime I'll go with HarvestDirectory and fix it up with XSLT. I'll add a repro if I get the chance.

@ghost ghost added s/needs-attention Issue has more information and needs another look and removed s/needs-info Issue needs more info from the author s/needs-repro Attach a solution or code which reproduces the issue labels Jul 13, 2023
@mattleibow
Copy link
Member

mattleibow commented Nov 8, 2023

This does sound more like a WIX issue than a MAUI issue. But this may also be because a maui app has multiple TFMs, so you may need to condition things to a specific TFM and not the top-level project.

Regardless, attaching a binlog will be helpful: https://github.com/xamarin/xamarin-macios/wiki/Diagnosis

@mattleibow mattleibow added s/needs-info Issue needs more info from the author and removed s/needs-attention Issue has more information and needs another look labels Nov 8, 2023
@ghost
Copy link

ghost commented Nov 8, 2023

Hi @jeremy-visionaid. We have added the "s/needs-info" label to this issue, which indicates that we have an open question for you before we can take further action. This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.

@ghost ghost added the s/no-recent-activity Issue has had no recent activity label Nov 13, 2023
@ghost
Copy link

ghost commented Nov 13, 2023

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment. If it is closed, feel free to comment when you are able to provide the additional information and we will re-investigate.

@hartez hartez changed the title Add support for WiX Toolset Havest Tool (Heat) HarvestProject element Add support for WiX Toolset Harvest Tool (Heat) HarvestProject element Nov 14, 2023
@ghost ghost added s/no-recent-activity Issue has had no recent activity and removed s/no-recent-activity Issue has had no recent activity labels Nov 14, 2023
@ghost
Copy link

ghost commented Nov 20, 2023

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment. If it is closed, feel free to comment when you are able to provide the additional information and we will re-investigate.

@ghost ghost closed this as completed Nov 23, 2023
@jeremy-visionaid
Copy link
Contributor Author

@mattleibow I don't think this is a WiX problem. I haven't had time to go through it all properly, but intuitively it feels like more of an issue with MAUI not adhering to/implementing the ProjectReference protocol:
https://github.com/dotnet/msbuild/blob/main/documentation/ProjectReference-Protocol.md

To get a WiX build going at all, I needed to add a placeholder for the required targets since it appears that MAUI isn't providing it out of the box:

<Target Name="GetTargetPath" Returns="$(OutputPath)" />

I've got other issues to deal with at the moment (and have an acceptable workaround for the time being). I still intend to post a repro project when I get the chance.

@ghost
Copy link

ghost commented Nov 30, 2023

Hello lovely human, thank you for your comment on this issue. Because this issue has been closed for a period of time, please strongly consider opening a new issue linking to this issue instead to ensure better visibility of your comment. Thank you!

@ghost ghost removed the s/no-recent-activity Issue has had no recent activity label Nov 30, 2023
@github-actions github-actions bot locked and limited conversation to collaborators Dec 31, 2023
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-single-project Splash Screen, Multi-Targeting, MauiFont, MauiImage, MauiAsset, Resizetizer platform/windows 🪟 proposal/open s/needs-info Issue needs more info from the author t/enhancement ☀️ New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants