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

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

Open
csware opened this issue May 5, 2024 · 1 comment
Labels
triage To be reviewed by FireGiant

Comments

@csware
Copy link

csware commented May 5, 2024

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 csware added the triage To be reviewed by FireGiant label May 5, 2024
@csware
Copy link
Author

csware commented Aug 29, 2024

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".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage To be reviewed by FireGiant
Projects
None yet
Development

No branches or pull requests

1 participant