firegiant / HeatWaveSupport

Issues-only repository to report HeatWave bugs and feature requests to FireGiant
3 stars 0 forks source link

Referenced WiX libraries are not always passed to wix.exe (inconsistency with identical projects) #63

Open csware opened 4 months ago

csware commented 4 months ago

HeatWave Version

1.0.4

Visual Studio Version

17.9.6

Repro Steps

  1. Clone https://gitlab.com/tortoisegit/tortoisegit/
  2. Checkout the wix-4 branch
  3. Open src\TortoiseGit.sln, select Release configuration and Win32 platform
  4. Build Languages\Lang_fr.wixproj and Languages\Lang_de.wixproj Diff the wixproj files (Lang_de.wixproj, Lang_fr.wixproj, WiXProj.common.props), there are no significant differences.

Screenshot of VS2020 where you can see that the NuGet references are not loaded for all projects

Actual Result

Some of the Language pack MSI files build correctly, e.g. Lang_de, but some of them don't, e.g. Lang_fr. For the Lang_fr language pack msi wix repots lots of errors such as D:\TortoiseGit\Languages\LanguagePack.wxs(60): error WIX0094: The identifier 'WixUI:WixUI_ErrorProgressText' could not be found. Ensure you have typed the reference correctly and that all the necessary inputs are provided to the linker. [D:\TortoiseGit\Languages\Lang_fr.wixproj].

When building using msbuild you get more information and can see that for Lang_de the Wix library is correctly passed to wix.exe (note the -ext parameter): C:\Users\USERNAME\.nuget\packages\wixtoolset.sdk\4.0.5\tools\net472\x86\wix.exe build -platform x86 -out obj\Win32\Release-Langs-MSI\TortoiseGit-LanguagePack-de.msi -outputType Package -pdb obj\Win32\Release-Langs-MSI\TortoiseGit-LanguagePack-de.wixpdb -pdbType full -culture de-DE -d TSVNHelpFile=0 -d TMergeHelpFile=0 -d COUNTRYID=1031 -d LANGNATIVE=German -d SPELL=1 -d "DevEnvDir=C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\\" -d Configuration=Release-Langs-MSI -d OutDir=bin\Win32\Release-Langs-MSI\ -d InstallerPlatform=x86 -d Platform=Win32 -d ProjectDir=D:\TortoiseGit\Languages\ -d ProjectExt=.wixproj -d ProjectFileName=Lang_de.wixproj -d ProjectName=Lang_de -d ProjectPath=D:\TortoiseGit\Languages\Lang_de.wixproj -d TargetDir=D:\TortoiseGit\Languages\bin\Win32\Release-Langs-MSI\ -d TargetExt=.msi -d TargetFileName=TortoiseGit-LanguagePack-de.msi -d TargetName=TortoiseGit-LanguagePack-de -d TargetPath=D:\TortoiseGit\Languages\bin\Win32\Release-Langs-MSI\TortoiseGit-LanguagePack-de.msi -ext C:\Users\USERNAME\.nuget\packages\wixtoolset.ui.wixext\4.0.5\wixext4\WixToolset.UI.wixext.dll -intermediatefolder obj\Win32\Release-Langs-MSI\ -trackingfile obj\Win32\Release-Langs-MSI\Lang_de.wixproj.BindTracking-de-DE.txt -nologo -sw1008 LanguagePack.wxs WixUI_LanguagePacks.wxs

For Lang_fr no -ext parameter is passed to wix.exe: C:\Users\USERNAME\.nuget\packages\wixtoolset.sdk\4.0.5\tools\net472\x86\wix.exe build -platform x86 -out obj\Win32\Release-Langs-MSI\TortoiseGit-LanguagePack-fr.msi -outputType Package -pdb obj\Win32\Release-Langs-MSI\TortoiseGit-LanguagePack-fr.wixpdb -pdbType full -culture fr-FR -d TSVNHelpFile=0 -d TMergeHelpFile=0 -d COUNTRYID=1036 -d LANGNATIVE=French -d SPELL=1 -d "DevEnvDir=C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\\" -d Configuration=Release-Langs-MSI -d OutDir=bin\Win32\Release-Langs-MSI\ -d InstallerPlatform=x86 -d Platform=Win32 -d ProjectDir=D:\TortoiseGit\Languages\ -d ProjectExt=.wixproj -d ProjectFileName=Lang_fr.wixproj -d ProjectName=Lang_fr -d ProjectPath=D:\TortoiseGit\Languages\Lang_fr.wixproj -d TargetDir=D:\TortoiseGit\Languages\bin\Win32\Release-Langs-MSI\ -d TargetExt=.msi -d TargetFileName=TortoiseGit-LanguagePack-fr.msi -d TargetName=TortoiseGit-LanguagePack-fr -d TargetPath=D:\TortoiseGit\Languages\bin\Win32\Release-Langs-MSI\TortoiseGit-LanguagePack-fr.msi -intermediatefolder obj\Win32\R elease-Langs-MSI\ -trackingfile obj\Win32\Release-Langs-MSI\Lang_fr.wixproj.BindTracking-fr-FR.txt -nologo -sw1008 LanguagePack.wxs WixUI_LanguagePacks.wxs

Expected Result

All language pack MSI files build and the referenced WiX libraries are honored for all WiXProjects.

csware commented 2 weeks ago

Still an issue with VS17.11.

There are certain (similar/identical) projects where in the Solution Explorer, the referenced packages are displayed, but those are for some projects not detected as "WiX Extensions".