Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion examples/quick-start/QuickStart.wixproj
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<Project Sdk="WixToolset.Sdk/6.0.0">
<Project Sdk="WixToolset.Sdk/7.0.0">
</Project>
10 changes: 5 additions & 5 deletions src/content/docs/wix/tools/preprocessor.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,22 +139,22 @@ The expressions used with `<?if?>` and `<?elseif?>` is a Boolean expression eval
- The expression is evaluated left to right
- Expressions are case-sensitive with the following exceptions:
- Environment variable names
- The keywords `and`, `or`, and `not`
- The keywords `And`, `Or`, and `Not`
- The `~=` operator is case-insensitive.
- All variables must use the `$()` syntax or they will be considered a literal value.
- To use a literal `$(`, escape the `$` with a second one: `$$(`
- Variables can be compared to a literal or another variable:
- Comparisons with `=`, `!=`, and `~=` are string comparisons.
- Comparisons with `=` (or `==`), `!=`, and `~=` are string comparisons.
- Comparisons with relational operators (`<`, `<=`, `>`, `>=`) can only be performed on integer values.
- If the variable doesn't exist, evaluation will fail and an error will be raised.
- If a variable doesn't exist, evaluation will fail and an error will be raised.
- The operator precedence is as follows:
1. `""`
2. `()`, `$()`
3. `<`, `>`, `<=`, `>=`, `=`, `!=`, `~=`
3. `<`, `>`, `<=`, `>=`, `=`, `==`, `!=`, `~=`
4. `Not`
5. `And`, `Or`
- Parentheses can be nested.
- Literals can be surrounded by quotes, although quotes are not required.
- Literals can be surrounded by quotes, although quotes are required only when literals contain whitespace.
- Quotes and leading and trailing whitespace are stripped off literal values.
- Invalid expressions result in a preprocessor failure.

Expand Down
44 changes: 22 additions & 22 deletions src/content/docs/wix/whatsnew/releasenotes.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,28 +30,6 @@ WiX v7 continues our three-year-old tradition of shipping releases annually and
- Add `ProductSearch/@Result='exists'` to Burn searches. (Issue [9079](https://github.com/wixtoolset/issues/issues/9079))


## WiX v6

WiX v6 is the second annual release since WiX v4. WiX v6 continues in the tradition of being intentionally highly compatible with its predecessor WiX v5&mdash;and by the transitive property of backward compatibility, with WiX v4 too. WiX v6 contains a number of fixes and enhancements of existing features, including those newly introduced in WiX v5. Notable examples include:

| Issue | Description |
| ----- | ----------- |
| [1520](https://github.com/wixtoolset/issues/issues/1520) | Address a **16**-year-old feature request to support more stores for SSL certificates. |
| [2691](https://github.com/wixtoolset/issues/issues/2691) | Address a **14**-year-old WixUI prettiness bug. |
| [7622](https://github.com/wixtoolset/issues/issues/7622) | Adds support "normal," non-SNI SSL certificates in http.sys. |
| [8101](https://github.com/wixtoolset/issues/issues/8101) | Add PerUserProgramFilesFolder standard directory for per-user packages and use it as the root of the default INSTALLFOLDER. |
| [8135](https://github.com/wixtoolset/issues/issues/8135) | Fixes a bug in WixInternalUIBootstrapperApplication so now the dialogs appear as buttons on the taskbar. |
| [8577](https://github.com/wixtoolset/issues/issues/8577) | Create local and domain user groups. In WiX v5 and before, you could _reference_ existing groups |
| [8584](https://github.com/wixtoolset/issues/issues/8584) | Replace upgrade code GUIDs with human-readable strings. The `Package` and `Bundle` elements now have an `Id` attribute that turns a human-readable string into the equivalent of an upgrade code GUID. You need to provide a value that identifies the "product family," just like it were an old-school upgrade code GUID. But `WixToolset.CommandLineTools.Package` is certainly easier to think about than `{2e85dc76-769f-46d2-82a7-46cb3a0c9d50}`, I think you'd agree. |
| [8663](https://github.com/wixtoolset/issues/issues/8663) | Allow component GUIDs for registry keys to be compatible with those created in WiX v3. Something we discovered while helping a FireGiant customer is that there's a scenario where a generated component GUID for a registry value changed in WiX v4. That same thing happened in WiX v3 (for different reasons), which is why the `-bcgg` (backward-compatible GUID generation) command-line switch was born. Well, now it's back, if you need to maintain the generated v3 GUID. |
| [8685](https://github.com/wixtoolset/issues/issues/8685) | Uses the new MSTest executable test runner and MSBuild traversal projects to build more WiX code in parallel. Faster builds make happy devs, especially when their name is Bob. |
| [8718](https://github.com/wixtoolset/issues/issues/8718), [8580](https://github.com/wixtoolset/issues/issues/8580) | Reduce the use of custom actions in WixUI to minimize the [amount of extra work necessary to work around platform-specific custom actions](/wix/whatsnew/faqs/#converting-custom-wixui-dialog-sets). The custom action to print the EULA&mdash;for those who not only _read_ the EULA but print a copy for their records&mdash;was entirely replaced by built-in MSI functionality. Similarly, the "extra" checking on paths done by custom action is now done with built-in functionality, though you can opt in to the old functionality using `ExtendedPathValidation="yes"` on the `WixUI` element. |
| [8882](https://github.com/wixtoolset/issues/issues/8882), [8939](https://github.com/wixtoolset/issues/issues/8939) | Use a different approach to construct the default feature and add components to it. |
| [8913](https://github.com/wixtoolset/issues/issues/8913) | Using Heat now shows a deprecation warning. It's still present and works with WiX v6, mostly by nature of the WiX v6 language not changing. But we plan to remove Heat in WiX v7, so this warning serves as eviction notice. | https://github.com/wixtoolset/issues/issues/ |
| [8914](https://github.com/wixtoolset/issues/issues/8914) | Lock files extracted from Burn bundles as additional mitigation against attacks. No protection is perfect but locking files as read-only helps prevent malware from overwriting temporary files used during bundle installation. |
| [8974](https://github.com/wixtoolset/issues/issues/8974) | Introduce the Open Source Maintenance Fee. |


### Get started

Get started with an SDK-style .wixproj project:
Expand Down Expand Up @@ -80,6 +58,28 @@ dotnet build
to build it.


## WiX v6

WiX v6 is the second annual release since WiX v4. WiX v6 continues in the tradition of being intentionally highly compatible with its predecessor WiX v5&mdash;and by the transitive property of backward compatibility, with WiX v4 too. WiX v6 contains a number of fixes and enhancements of existing features, including those newly introduced in WiX v5. Notable examples include:

| Issue | Description |
| ----- | ----------- |
| [1520](https://github.com/wixtoolset/issues/issues/1520) | Address a **16**-year-old feature request to support more stores for SSL certificates. |
| [2691](https://github.com/wixtoolset/issues/issues/2691) | Address a **14**-year-old WixUI prettiness bug. |
| [7622](https://github.com/wixtoolset/issues/issues/7622) | Adds support "normal," non-SNI SSL certificates in http.sys. |
| [8101](https://github.com/wixtoolset/issues/issues/8101) | Add PerUserProgramFilesFolder standard directory for per-user packages and use it as the root of the default INSTALLFOLDER. |
| [8135](https://github.com/wixtoolset/issues/issues/8135) | Fixes a bug in WixInternalUIBootstrapperApplication so now the dialogs appear as buttons on the taskbar. |
| [8577](https://github.com/wixtoolset/issues/issues/8577) | Create local and domain user groups. In WiX v5 and before, you could _reference_ existing groups |
| [8584](https://github.com/wixtoolset/issues/issues/8584) | Replace upgrade code GUIDs with human-readable strings. The `Package` and `Bundle` elements now have an `Id` attribute that turns a human-readable string into the equivalent of an upgrade code GUID. You need to provide a value that identifies the "product family," just like it were an old-school upgrade code GUID. But `WixToolset.CommandLineTools.Package` is certainly easier to think about than `{2e85dc76-769f-46d2-82a7-46cb3a0c9d50}`, I think you'd agree. |
| [8663](https://github.com/wixtoolset/issues/issues/8663) | Allow component GUIDs for registry keys to be compatible with those created in WiX v3. Something we discovered while helping a FireGiant customer is that there's a scenario where a generated component GUID for a registry value changed in WiX v4. That same thing happened in WiX v3 (for different reasons), which is why the `-bcgg` (backward-compatible GUID generation) command-line switch was born. Well, now it's back, if you need to maintain the generated v3 GUID. |
| [8685](https://github.com/wixtoolset/issues/issues/8685) | Uses the new MSTest executable test runner and MSBuild traversal projects to build more WiX code in parallel. Faster builds make happy devs, especially when their name is Bob. |
| [8718](https://github.com/wixtoolset/issues/issues/8718), [8580](https://github.com/wixtoolset/issues/issues/8580) | Reduce the use of custom actions in WixUI to minimize the [amount of extra work necessary to work around platform-specific custom actions](/wix/whatsnew/faqs/#converting-custom-wixui-dialog-sets). The custom action to print the EULA&mdash;for those who not only _read_ the EULA but print a copy for their records&mdash;was entirely replaced by built-in MSI functionality. Similarly, the "extra" checking on paths done by custom action is now done with built-in functionality, though you can opt in to the old functionality using `ExtendedPathValidation="yes"` on the `WixUI` element. |
| [8882](https://github.com/wixtoolset/issues/issues/8882), [8939](https://github.com/wixtoolset/issues/issues/8939) | Use a different approach to construct the default feature and add components to it. |
| [8913](https://github.com/wixtoolset/issues/issues/8913) | Using Heat now shows a deprecation warning. It's still present and works with WiX v6, mostly by nature of the WiX v6 language not changing. But we plan to remove Heat in WiX v7, so this warning serves as eviction notice. | https://github.com/wixtoolset/issues/issues/ |
| [8914](https://github.com/wixtoolset/issues/issues/8914) | Lock files extracted from Burn bundles as additional mitigation against attacks. No protection is perfect but locking files as read-only helps prevent malware from overwriting temporary files used during bundle installation. |
| [8974](https://github.com/wixtoolset/issues/issues/8974) | Introduce the Open Source Maintenance Fee. |


### WiX v6 releases

- WiX v6.0.2 was published 28-Aug-2025 on nuget.org for the [MSBuild SDK](https://www.nuget.org/packages/WixToolset.Sdk) and [.NET tool](https://www.nuget.org/packages/wix) and as a [GitHub release](https://github.com/wixtoolset/wix/releases/tag/v6.0.2) to fix a lone bug:
Expand Down
Loading