oleg-shilo / wixsharp

Framework for building a complete MSI or WiX source code by using script files written with C# syntax.
MIT License
1.09k stars 172 forks source link

How to see in WixSharp project which Wix toolkit version is being used AFTER it has been created? #1596

Closed abskulkarni closed 1 week ago

abskulkarni commented 1 month ago

How to see in WixSharp project which Wix toolkit version & which WixSharp version is being used AFTER project has been created?

What to look for in csproj file if needed to?

oleg-shilo commented 1 month ago

It depentds.

If you are talking about WiX3 vs WiX4 then you need to create your project from the project template that is designed for a specific toolkit (wix3 vs wix4). This is because v4 brings breaking changes to the API and the tools.

However, if you want to switch between v4 and v5 then you can do it in the wix4 project by calling WixTools.SetWixVersion, which instructs .NET tool manager to install and invoke a specific version of the toolset for the directory you are building your msi from.:

 WixTools.SetWixVersion(Environment.CurrentDirectory, "5.0.0");
abskulkarni commented 1 month ago

That's some complicated answer. I want simple answer. If I have a project created using some Wix template and later forgot or want to know which WixSharp version and Wix toolkit version is being used in the project, how and where could I get that info? csproj, some cmd command, some installed path etc..

oleg-shilo commented 1 month ago

Sorry, indeed I misinterpreted the question. I thought you wanted to set the WiX toolset version not to read it.

Our problem is easy to solve. All WixSharp packages targeting toolset v4 and higher have the -wix4 suffix in the package name (e.g. WixSharp-wix4.WPF).

Another easy way is to check the package version: WiX3: v1.*.* WiX4: v2.*.*