Migrate v3 Source Code to v4.
User stories
As a setup developer I can evaluate the changes made in the WiX v4.0 schema such that I plan my migration.
As a setup developer I have a tool to migrate my WiX v3.x source code to v4.0 such that I move to WiX v4.0 easily.
Proposal
WiX v4.0 contains several breaking changes to the WiX schema. These breaking changes improve the WiX toolset language. The changes can also be the largest impediment to upgrading from WiX v3.x to WiX v4.0.
This document attempts to track all the breaking changes and how to address them so developers using WIX v3.x can plan their migration to WiX v4.0. It is expected that WixCop.exe will automatically update as many of these changes as possible. The Considerations section will list those that cannot be migrated programmatically.
Namespace changes. The main schema and all extension schemas were changed to allow unfettered change to the schema.
Fix: Rename
http://schemas.microsoft.com/wix/2006/witohttp://wixtoolset.org/schemas/v4/wxsFix: Rename
http://schemas.microsoft.com/wix/BalExtensiontohttp://wixtoolset.org/schemas/v4/wxs/balFix: Rename
http://schemas.microsoft.com/wix/ComPlusExtensiontohttp://wixtoolset.org/schemas/v4/wxs/complusFix: Rename
http://schemas.microsoft.com/wix/DependencyExtensiontohttp://wixtoolset.org/schemas/v4/wxs/dependencyFix: Rename
http://schemas.microsoft.com/wix/DifxAppExtensiontohttp://wixtoolset.org/schemas/v4/wxs/difxappFix: Rename
http://schemas.microsoft.com/wix/FirewallExtensiontohttp://wixtoolset.org/schemas/v4/wxs/firewallFix: Rename
http://schemas.microsoft.com/wix/GamingExtensiontohttp://wixtoolset.org/schemas/v4/wxs/gamingFix: Rename
http://schemas.microsoft.com/wix/IIsExtensiontohttp://wixtoolset.org/schemas/v4/wxs/iisFix: Rename
http://schemas.microsoft.com/wix/MsmqExtensiontohttp://wixtoolset.org/schemas/v4/wxs/msmqFix: Rename
http://schemas.microsoft.com/wix/NetFxExtensiontohttp://wixtoolset.org/schemas/v4/wxs/netfxFix: Rename
http://schemas.microsoft.com/wix/PSExtensiontohttp://wixtoolset.org/schemas/v4/wxs/powershellFix: Rename
http://schemas.microsoft.com/wix/SqlExtensiontohttp://wixtoolset.org/schemas/v4/wxs/sqlFix: Rename
http://schemas.microsoft.com/wix/TagExtensiontohttp://wixtoolset.org/schemas/v4/wxs/tagFix: Rename
http://schemas.microsoft.com/wix/UtilExtensiontohttp://wixtoolset.org/schemas/v4/wxs/utilFix: Rename
http://schemas.microsoft.com/wix/VSExtensiontohttp://wixtoolset.org/schemas/v4/wxs/vsFix: Rename
http://wixtoolset.org/schemas/thmutil/2010tohttp://wixtoolset.org/schemas/v4/thmutilFix: Rename
http://schemas.microsoft.com/wix/2009/Luxtohttp://wixtoolset.org/schemas/v4/luxFile identifier generation. In WiX v3.x, file identifiers defaulted to the filename of a file. In WiX v4.0 the file identifier is generated from a combination of the file name plus its target directory.
Fix: Explicitly set absent
Idattributes onFileelement to theNameattribute or filename from theSourceattribute.Bundle package and payload signature verification. Late in WiX v3.9 the default for Bundle package and payload signature validation was changed to "off". That made the default for the optional
SuppressSignatureValidationattributeyesand thus counter to the desired pattern where an absent boolean attribute isno.Fix: Rename
SuppressSignatureValidationattribute onExePackage,MsiPackage,MspPackage,MsuPackageandPayloadelements toEnableSignatureValidation.
Considerations
The following are a list of changes that cannot be automatically updated.
- None at this time.