diff --git a/BaseInstallerBuild/Framework.wxs b/BaseInstallerBuild/Framework.wxs
index 8bae5ca..30d65c7 100644
--- a/BaseInstallerBuild/Framework.wxs
+++ b/BaseInstallerBuild/Framework.wxs
@@ -129,31 +129,45 @@
ICU_DATA points at) install to the wrong locations. Reduced (/passive, UILevel 4) and full
UI installs continue to resolve these in the InstallUISequence, so the UILevel guard keeps
this from overriding a user-chosen path. VerifyDataPath populates REGDATAFOLDER (used by the
- conditions below) and always returns Success, so it is safe in a silent install. -->
- UILevel < 4
- UILevel < 4
- (UILevel < 4) and (NOT REGAPPFOLDER) and (NOT OVRAPPFOLDER)
- (UILevel < 4) and (NOT REGAPPFOLDER) and (OVRAPPFOLDER)
- (UILevel < 4) and (REGAPPFOLDER)
- (UILevel < 4) and (NOT REGDATAFOLDER) and (NOT OVRDATAFOLDER)
- (UILevel < 4) and (NOT REGDATAFOLDER) and (OVRDATAFOLDER)
- (UILevel < 4) and (REGDATAFOLDER)
- (UILevel < 4) and (NOT OVRHARVESTDATAFOLDER)
- (UILevel < 4) and (OVRHARVESTDATAFOLDER)
+ conditions below) and always returns Success, so it is safe in a silent install.
+
+ LT-22801: NOT PATCH keeps them out of patch transactions. A patch is applied with /qb, which
+ is UILevel 3, so UILevel < 4 alone also caught every patch. These actions are sequenced
+ after AppSearch and FindRelatedProducts, which puts them before CostFinalize; reassigning
+ the directory properties there leaves the installer unable to confirm the product's existing
+ components are still local, so every feature costs out Advertised and every component
+ Action: Null. The patch then reports success while installing only components that are
+ absent, and no already-installed file is replaced. The directories a patch needs are
+ already resolved from the installed product, so a patch has nothing to gain here anyway. -->
+ (UILevel < 4) and (NOT PATCH)
+ (UILevel < 4) and (NOT PATCH)
+ (UILevel < 4) and (NOT PATCH) and (NOT REGAPPFOLDER) and (NOT OVRAPPFOLDER)
+ (UILevel < 4) and (NOT PATCH) and (NOT REGAPPFOLDER) and (OVRAPPFOLDER)
+ (UILevel < 4) and (NOT PATCH) and (REGAPPFOLDER)
+ (UILevel < 4) and (NOT PATCH) and (NOT REGDATAFOLDER) and (NOT OVRDATAFOLDER)
+ (UILevel < 4) and (NOT PATCH) and (NOT REGDATAFOLDER) and (OVRDATAFOLDER)
+ (UILevel < 4) and (NOT PATCH) and (REGDATAFOLDER)
+ (UILevel < 4) and (NOT PATCH) and (NOT OVRHARVESTDATAFOLDER)
+ (UILevel < 4) and (NOT PATCH) and (OVRHARVESTDATAFOLDER)
-
-
- (NOT REGAPPFOLDER) and (NOT OVRAPPFOLDER)
- (NOT REGAPPFOLDER) and (OVRAPPFOLDER)
- REGAPPFOLDER
- (NOT REGDATAFOLDER) and (NOT OVRDATAFOLDER)
- (NOT REGDATAFOLDER) and (OVRDATAFOLDER)
- REGDATAFOLDER
- NOT OVRHARVESTDATAFOLDER
- OVRHARVESTDATAFOLDER
+
+ NOT PATCH
+ NOT PATCH
+ (NOT PATCH) and (NOT REGAPPFOLDER) and (NOT OVRAPPFOLDER)
+ (NOT PATCH) and (NOT REGAPPFOLDER) and (OVRAPPFOLDER)
+ (NOT PATCH) and (REGAPPFOLDER)
+ (NOT PATCH) and (NOT REGDATAFOLDER) and (NOT OVRDATAFOLDER)
+ (NOT PATCH) and (NOT REGDATAFOLDER) and (OVRDATAFOLDER)
+ (NOT PATCH) and (REGDATAFOLDER)
+ (NOT PATCH) and (NOT OVRHARVESTDATAFOLDER)
+ (NOT PATCH) and (OVRHARVESTDATAFOLDER)