diff --git a/assets/patches.txt b/assets/patches.txt
index daab705..c541e5e 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.patch
+patches/msix-fixed-113.patch
patches/remove_addons.patch
patches/sed-patches/allow-searchengines-non-esr.patch
patches/sed-patches/disable-pocket.patch
diff --git a/patches/allow-ubo-private-mode.patch b/patches/allow-ubo-private-mode.patch
index c6de828..ea52d51 100644
--- a/patches/allow-ubo-private-mode.patch
+++ b/patches/allow-ubo-private-mode.patch
@@ -1,17 +1,21 @@
+diff --git a/toolkit/components/extensions/Extension.jsm b/toolkit/components/extensions/Extension.jsm
+index 7281518..322dc09 100644
--- a/toolkit/components/extensions/Extension.jsm
+++ b/toolkit/components/extensions/Extension.jsm
-@@ -3028,6 +3028,14 @@ class Extension extends ExtensionData {
- this.permissions.add(PRIVATE_ALLOWED_PERMISSION);
- }
+@@ -3286,6 +3286,16 @@ class Extension extends ExtensionData {
+ this.permissions.add(PRIVATE_ALLOWED_PERMISSION);
+ }
-+ if (this.id === "uBlock0@raymondhill.net") {
-+ lazy.ExtensionPermissions.add(this.id, {
-+ permissions: [PRIVATE_ALLOWED_PERMISSION],
-+ origins: [],
++ // We allow uBo in private mode.
++ if (this.id === "uBlock0@raymondhill.net") {
++ lazy.ExtensionPermissions.add(this.id, {
++ permissions: [PRIVATE_ALLOWED_PERMISSION],
++ origins: [],
+ });
-+ this.permissions.add(PRIVATE_ALLOWED_PERMISSION);
-+ }
++ this.permissions.add(PRIVATE_ALLOWED_PERMISSION);
++ }
+
- // We only want to update the SVG_CONTEXT_PROPERTIES_PERMISSION during install and
- // upgrade/downgrade startups.
- if (INSTALL_AND_UPDATE_STARTUP_REASONS.has(this.startupReason)) {
++
+ // We only want to update the SVG_CONTEXT_PROPERTIES_PERMISSION during
+ // install and upgrade/downgrade startups.
+ if (INSTALL_AND_UPDATE_STARTUP_REASONS.has(this.startupReason)) {
diff --git a/patches/msix-fixed-113.patch b/patches/msix-fixed-113.patch
new file mode 100644
index 0000000..3c0f629
--- /dev/null
+++ b/patches/msix-fixed-113.patch
@@ -0,0 +1,189 @@
+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`.