wixtoolset / issues

WiX Toolset Issues Tracker
http://wixtoolset.org/
129 stars 36 forks source link

wix4 rc4 HeatWave project output type missing Patch option #7303

Open narcis-ro opened 1 year ago

narcis-ro commented 1 year ago

image In visual studio 2022 with wix4 rc4 (+ HeatWave extension), The output type option in a project is missing the option for Patch. You can manually set the OutputType in proj file, build works and creates a patch, but then when you reopen the solution it complains about invalid OutputType.

Looking through the source code it seems that it should work, and it does work, but breaks Visual Studio. image

Some tests also use this option https://github.com/wixtoolset/wix4/blob/develop/src/test/burn/TestData/PatchTests/PatchA/PatchA.wixproj

barnson commented 1 year ago

The patch support in wix.targets isn't complete/tested, so HeatWave doesn't support it. I opened https://github.com/firegiant/HeatWaveSupport/issues/27 to suggest not blocking.

barnson commented 1 year ago

This issue is open for finishing "official" support for patch .wixproj projects.

BMurri commented 1 year ago

Code is present, what work is remaining? A quick query of the issues didn't make anything jump out at me.

Is it aggressive testing, with fixes for critical issues? Or something different?

robmen commented 1 year ago

As discussed during the last WiX Online Meeting, there is was little done in WiX v4 to validate that building an .msp via .wixproj works properly. It wasn't supported in v3 and wasn't a high priority to make work in v4 (although much easier to make work now).

barnson commented 1 year ago

The question is about patch support in wix.targets, not patch support in general.

someDude1985 commented 4 months ago

Since this ticket is now open for about a year: any progress on this ticket? Or is it still only possible from command line as described on the wixtoolset website https://wixtoolset.org/docs/tools/patches/

robmen commented 4 months ago

I'm curious, @someDude1985, why do you think there would be progress on an issue that has always been tagged up for grabs but never assigned to anyone?

someDude1985 commented 4 months ago

Progress maybe be the wrong word here. Sorry I am no native speaker. By posting, I just wanted to give this topic a bit of attention, as I am currently facing a situation, where this feature might be usefull in the future. As MSI does not support the 4th position of a version string for detecting upgrades but my company uses the 4th position as a hotfix indicator(not my decision), building a "normal" update package as MSI is not possible( 1.0.0.0 and 1.0.0.1 are detected as the same version by MSI ). The recommended solution would be to build an MSP for this. So I will try the linked solution from the command line. For an automatic build on a compile server I would be more convenient to have such a feature build into heatwave.

robmen commented 4 months ago

By posting, I just wanted to give this topic a bit of attention

@someDude1985 I understand. However, as a consumer of the Open Source project, this isn't the way to "give the topic a bit of attention". Instead, you request to have the 'up for grabs' issue assigned to you and start a discussion about your design before starting the implementation.

Meeting the needs of supported customers is our focus at this time. For everyone else, the project is available "AS IS".

BMurri commented 3 months ago

@someDude1985 Assuming that your MSIs that vary in one of the first three parts of the version from one another follow the generally recommended "major upgrade" pattern (aka the "ProductCode" changes with every [build|version]). In order to use MSPs, your MSIs need to follow every possible guideline and recommendation (I'd say Tao of the Windows Installer but that both dates me and I don't know if it is even online anymore) for successful use of late scheduling of the RemoveExistingProducts action. It also requires that you never remove any component in any "hotfix" (e.g. no renaming of ANY file, etc.).

wmanning commented 3 months ago

@BMurri Never heard of Tao of the Windows Installer before. Found it: https://learn.microsoft.com/en-us/archive/blogs/windows_installer_team/tao-of-the-windows-installer-part-1 https://learn.microsoft.com/en-us/archive/blogs/windows_installer_team/tao-of-the-windows-installer-part-2 https://learn.microsoft.com/en-us/archive/blogs/windows_installer_team/tao-of-the-windows-installer-part-4 https://learn.microsoft.com/en-us/archive/blogs/windows_installer_team/tao-of-the-windows-installer-part-5 https://learn.microsoft.com/en-us/archive/blogs/windows_installer_team/tao-of-the-windows-installer-part-6

part 3 seems to be missing