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
Build incorrectly uses intermediates from last known good build when .wxs is unchanged #4661
Comments
It appears somewhere along the line, a build state check isn't taking the platform target change into account therefore skipping candle.exe (which means no new -dplatform= flag is passed in).
|
Please share a .wixproj that shows the problem. |
1 similar comment
Please share a .wixproj that shows the problem. |
|
Just saw the updates here. I have production OSS out there that is currently exhibiting this behavior but may be too unwieldy for triage. I will work on a repro case tonight -- seems to only occur when building as part of a multi-project solution.
|
Will wait on further digging for the test case. Simple tests are unable to repro as long as the OutputPath is unique per build configuration.
|
If the OSS is publicly available, I may be able to take a peek at it this weekend. Otherwise a small demo that can reproduce it would be much easier to diagnose.
|
Updated steps w/ OSS project.
|
IntermediateOutputPath needs to differentiate based on platform. Currently it only differentiates based on configuration.
|
Can confirm changing the IntermediateOutputPath in the .wixproj resolved the issue. Suggest changing default in .wixproj to below: obj$(Platform)$(Configuration)
|
|
|
Doesn't resolve the bug in my project. Omitting the IntermediateOutputPath results in a default that is still void of platform. Which sounds like another bug.
|
Yes there's a bug in wix.targets. This might not be something we can fix in v3.x. Sending back to triage.
|
The template sets bin$(Configuration)$(Platform) which is the opposite of C# (reverses Configuration and Platform). Wix.targets sets which is the opposite of OutputPath order. (wtf?) However, PlatformName isn't set until later in wix.targets so when creating IntermediateOutputPath, it's always empty, resulting in in the double-backslash path that never includes a platform.
|
|
Fixed in v4 wix.targets. |
Repro prerequisites:
Repro steps:
This breaks the ability to batch build for multiple platforms and results in build artifacts that have incorrect bitness.
The text was updated successfully, but these errors were encountered: