diff --git a/assets/patches.txt b/assets/patches.txt
index 472b673..730bc02 100644
--- a/assets/patches.txt
+++ b/assets/patches.txt
@@ -11,7 +11,7 @@ patches/hide-passwordmgr.patch
patches/librewolf-pref-pane.patch
patches/librewolf-prefs.patch
patches/mozilla_dirs.patch
-patches/msix-fixed-113.patch
+patches/msix.patch
patches/remove_addons.patch
patches/rust-unaligned-access-backport.patch
patches/sed-patches/allow-searchengines-non-esr.patch
diff --git a/patches/msix-fixed-113.patch b/patches/msix-fixed-113.patch
deleted file mode 100644
index 3c0f629..0000000
--- a/patches/msix-fixed-113.patch
+++ /dev/null
@@ -1,189 +0,0 @@
-diff --git a/browser/installer/windows/msix/AppxManifest.xml.in b/browser/installer/windows/msix/AppxManifest.xml.in
-index 98cfd82..fa7fde7 100644
---- a/browser/installer/windows/msix/AppxManifest.xml.in
-+++ b/browser/installer/windows/msix/AppxManifest.xml.in
-@@ -29,13 +29,14 @@
-
-
-
-+
-
-
-
-
-
-
--
-+
-
-
-
-@@ -108,31 +109,4 @@
-
-
-
--
--
--
--
--
--
--
--
--
--
--
--
--
--
--
-
-diff --git a/python/mozbuild/mozbuild/mach_commands.py b/python/mozbuild/mozbuild/mach_commands.py
-index 5bd8814..3ecff8a 100644
---- a/python/mozbuild/mozbuild/mach_commands.py
-+++ b/python/mozbuild/mozbuild/mach_commands.py
-@@ -2511,7 +2511,7 @@ def repackage_msi(
- @CommandArgument(
- "--vendor",
- type=str,
-- default="Mozilla",
-+ default=None,
- required=False,
- help="The vendor to use in the Package/Identity/Name string to use in the App Manifest."
- + " Defaults to 'Mozilla'.",
-@@ -2648,7 +2648,7 @@ def repackage_msix(
- command_context.topsrcdir,
- channel=channel,
- arch=arch,
-- displayname=identity_name,
-+ identity=identity_name,
- vendor=vendor,
- publisher=publisher,
- publisher_display_name=publisher_display_name,
-diff --git a/python/mozbuild/mozbuild/repackaging/msix.py b/python/mozbuild/mozbuild/repackaging/msix.py
-index 83ff9f6..85a1a55 100644
---- a/python/mozbuild/mozbuild/repackaging/msix.py
-+++ b/python/mozbuild/mozbuild/repackaging/msix.py
-@@ -105,68 +105,19 @@ def get_embedded_version(version, buildid):
- the dotted quad to be identically 0, so we enforce that here.
- """
-
-- # It's irritating to roll our own version parsing, but the tree doesn't seem
-- # to contain exactly what we need at this time.
-- version = version.rsplit("esr", 1)[0]
-- alpha = "a" in version
--
-- tail = None
-- if "a" in version:
-- head, tail = version.rsplit("a", 1)
-- if tail != "1":
-- # Disallow anything beyond `X.Ya1`.
-- raise ValueError(
-- f"Alpha version not of the form X.0a1 is not supported: {version}"
-- )
-- tail = buildid
-- elif "b" in version:
-- head, tail = version.rsplit("b", 1)
-- if len(head.split(".")) > 2:
-- raise ValueError(
-- f"Beta version not of the form X.YbZ is not supported: {version}"
-- )
-- elif "rc" in version:
-- head, tail = version.rsplit("rc", 1)
-- if len(head.split(".")) > 2:
-- raise ValueError(
-- f"Release candidate version not of the form X.YrcZ is not supported: {version}"
-- )
-- else:
-- head = version
--
-- components = (head.split(".") + ["0", "0", "0"])[:3]
-- if tail:
-- components[2] = tail
--
-- if alpha:
-- # Nightly builds are all `X.0a1`, which isn't helpful. Include build ID
-- # to disambiguate. But each part of the dotted quad is 16 bits, so we
-- # have to squash.
-- if components[1] != "0":
-- # Disallow anything beyond `X.0a1`.
-- raise ValueError(
-- f"Alpha version not of the form X.0a1 is not supported: {version}"
-- )
--
-- # Last two digits only to save space. Nightly builds in 2066 and 2099
-- # will be impacted, but future us can deal with that.
-- year = buildid[2:4]
-- if year[0] == "0":
-- # Avoid leading zero, like `.0YMm`.
-- year = year[1:]
-- month = buildid[4:6]
-- day = buildid[6:8]
-- if day[0] == "0":
-- # Avoid leading zero, like `.0DHh`.
-- day = day[1:]
-- hour = buildid[8:10]
-+ [ver, rel] = version.split("-")
-
-- components[1] = "".join((year, month))
-- components[2] = "".join((day, hour))
-+ ver_parts = ver.split(".")
-+ ver_parts += ["0"] * (3 - len(ver_parts))
-
-- version = "{}.{}.{}.0".format(*components)
--
-- return version
-+ return ".".join(
-+ [
-+ ver_parts[0],
-+ str(100 * int(ver_parts[1]) + int(ver_parts[2])),
-+ str(int(rel) * 100),
-+ "0",
-+ ]
-+ )
-
-
- def get_appconstants_sys_mjs_values(finder, *args):
-@@ -404,12 +355,7 @@ def repackage_msix(
- )
-
- first = next(values)
-- if not displayname:
-- displayname = "Mozilla {}".format(first)
--
-- if channel == "beta":
-- # Release (official) and Beta share branding. Differentiate Beta a little bit.
-- displayname += " Beta"
-+ displayname = displayname or first
-
- second = next(values)
- vendor = vendor or second
-@@ -563,16 +509,6 @@ def repackage_msix(
- # In local builds and unpacked MSIX directories, `p` is like "firefox.exe" already.
- pp = p
-
-- if pp.startswith("distribution"):
-- # Treat any existing distribution as a distribution directory,
-- # potentially with language packs. This makes it easy to repack
-- # unpacked MSIXes.
-- distribution_dir = mozpath.join(dir_or_package, "distribution")
-- if distribution_dir not in distribution_dirs:
-- distribution_dirs.append(distribution_dir)
--
-- continue
--
- copier.add(mozpath.normsep(mozpath.join("VFS", "ProgramFiles", instdir, pp)), f)
-
- # Locales to declare as supported in `AppxManifest.xml`.
diff --git a/patches/msix.patch b/patches/msix.patch
index eec3daa..97f4dfa 100644
--- a/patches/msix.patch
+++ b/patches/msix.patch
@@ -56,7 +56,7 @@
--- a/python/mozbuild/mozbuild/mach_commands.py
+++ b/python/mozbuild/mozbuild/mach_commands.py
-@@ -2493,7 +2493,7 @@ def repackage_msi(
+@@ -2511,7 +2511,7 @@ def repackage_msi(
@CommandArgument(
"--vendor",
type=str,
@@ -65,7 +65,7 @@
required=False,
help="The vendor to use in the Package/Identity/Name string to use in the App Manifest."
+ " Defaults to 'Mozilla'.",
-@@ -2630,7 +2630,7 @@ def repackage_msix(
+@@ -2648,7 +2648,7 @@ def repackage_msix(
command_context.topsrcdir,
channel=channel,
arch=arch,
@@ -122,8 +122,7 @@
- raise ValueError(
- f"Alpha version not of the form X.0a1 is not supported: {version}"
- )
-+ [ver, rel] = version.split("-")
-
+-
- # Last two digits only to save space. Nightly builds in 2066 and 2099
- # will be impacted, but future us can deal with that.
- year = buildid[2:4]
@@ -136,12 +135,13 @@
- # Avoid leading zero, like `.0DHh`.
- day = day[1:]
- hour = buildid[8:10]
-+ ver_parts = ver.split(".")
-+ ver_parts += ["0"] * (3 - len(ver_parts))
++ [ver, rel] = version.split("-")
- components[1] = "".join((year, month))
- components[2] = "".join((day, hour))
--
++ ver_parts = ver.split(".")
++ ver_parts += ["0"] * (3 - len(ver_parts))
+
- version = "{}.{}.{}.0".format(*components)
-
- return version
@@ -156,27 +156,6 @@
def get_appconstants_sys_mjs_values(finder, *args):
-@@ -193,9 +144,9 @@ def get_appconstants_sys_mjs_values(finder, *args):
- yield value
-
-
--def get_branding(use_official, build_app, finder, log=None):
-+def get_branding(use_official, topsrcdir, build_app, finder, log=None):
- """Figure out which branding directory to use."""
-- conf_vars = mozpath.join(build_app, "confvars.sh")
-+ conf_vars = mozpath.join(topsrcdir, build_app, "confvars.sh")
-
- def conf_vars_value(key):
- lines = open(conf_vars).readlines()
-@@ -254,7 +205,7 @@ def get_branding(use_official, build_app, finder, log=None):
- },
- "{branding_reason}; Using branding from '{branding}'.",
- )
-- return branding
-+ return mozpath.join(topsrcdir, branding)
-
-
- def unpack_msix(input_msix, output, log=None, verbose=False):
@@ -404,12 +355,7 @@ def repackage_msix(
)
@@ -191,18 +170,7 @@
second = next(values)
vendor = vendor or second
-@@ -471,8 +417,8 @@ def repackage_msix(
- # Release (official) and Beta share branding. Differentiate Beta a little bit.
- brandFullName += " Beta"
-
-- branding = os.path.join(
-- topsrcdir, get_branding(use_official_branding, build_app, unpack_finder, log)
-+ branding = get_branding(
-+ use_official_branding, topsrcdir, build_app, unpack_finder, log
- )
- if not os.path.isdir(branding):
- raise Exception("branding dir {} does not exist".format(branding))
-@@ -520,16 +520,6 @@ def repackage_msix(
+@@ -563,16 +509,6 @@ def repackage_msix(
# In local builds and unpacked MSIX directories, `p` is like "firefox.exe" already.
pp = p