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

Support .Net 8 preview 3 unified artifacts #7401

Open
MarkStega opened this issue Apr 13, 2023 · 6 comments · May be fixed by wixtoolset/wix#598
Open

Support .Net 8 preview 3 unified artifacts #7401

MarkStega opened this issue Apr 13, 2023 · 6 comments · May be fixed by wixtoolset/wix#598
Assignees
Labels
Milestone

Comments

@MarkStega
Copy link

Bugs

WiX 4.0

4.0.0+8c757c0f

Visual Studio 2022 v17.6.0 Preview 3

Heatwave 1.0.1

.Net 8.0.0-preview.3.23174.8

.Net 8 preview 3 introduced a unified project artifact directory enabled by specifying

<UseArtifactsOutput>true</UseArtifactsOutput>

in Directory.Build.props

Building an installer with this property enabled with WiX 4 results in a package generated in the directory of the wixproj project file while all other projects respect the new option.

This is not terrible, but I'd request that WiX 5 follows the unified output convention introduced in the .Net 8 SDK

@barnson barnson changed the title [WiX4] Ignores new .Net 8 preview 3 unified artifacts Support .Net 8 preview 3 unified artifacts Apr 18, 2023
@barnson barnson added msbuild and removed triage labels Apr 18, 2023
@barnson barnson added this to the v5.0.0-preview.1 milestone Apr 18, 2023
@robmen robmen modified the milestones: v5.0.0-rc.1, v.Future Mar 10, 2024
@avivanoff
Copy link

avivanoff commented Jan 7, 2025

Will this be fixed in 6.x?

@robmen
Copy link
Member

robmen commented Jan 7, 2025

While, I am very interested in implementing this feature, no customers have expressed interest in it. Other issues with higher priority remain to be resolved in WiX v6. That is why this issue is in the v.Future milestone and is not likely to be a part of WiX v6.

@MarkStega
Copy link
Author

As the original author of this thread, I am still interested...

@marcOcram
Copy link

We are interested as well

@brantburnett
Copy link

I am also interested. I have manually added support to my project with these lines:

<PropertyGroup>
   <!-- WiX SDK doesn't follow UseArtifactsOutput, apply it manually -->
   <ConfigurationLower>$(Configuration.ToLowerInvariant())</ConfigurationLower>
   <PlatformLower>$(Platform.ToLowerInvariant())</PlatformLower>
   <ConfigurationWithPlatform>$(ConfigurationLower)_$(PlatformLower)</ConfigurationWithPlatform>
   <OutputPath>$([MSBuild]::NormalizeDirectory($(ArtifactsPath), 'bin\$(MSBuildProjectName)', $(ConfigurationWithPlatform)))</OutputPath>
   <IntermediateOutputPath>$([MSBuild]::NormalizeDirectory($(ArtifactsPath), 'obj\$(MSBuildProjectName)', $(ConfigurationWithPlatform)))</IntermediateOutputPath>
</PropertyGroup>

However, this isn't a complete solution. For starters, I believe it only works with an explicit ArtifactsPath, not with the automated UseArtifactsOutput property.

I recognize that it may be too late for WiX 6, but I am willing to implement this myself and give a PR for WiX 7, if the team is interested.

@robmen
Copy link
Member

robmen commented Jan 27, 2025

@brantburnett you're welcome to dig into it. Integrating this support into the wix.targets is something that I'll need to understand deeply, so be aware I'll go through the development myself and may not use provided PRs. But that isn't to say that they wouldn't be helpful. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants