@@ -838,9 +838,13 @@ Function _excludeModules() : Boolean
838838 var $optionalModulesFile ; $windowsAppRuntimeFile : 4D.File
839839 var $optionalModules ; $windowsAppRuntime : Object
840840 var $paths ; $modules : Collection
841+ var $isBinaryDatabase : Boolean
841842
842843 This ._noError := True
843844
845+ // Detect if the database is binary (not a project database)
846+ $isBinaryDatabase := (This ._projectFile .extension # ".4DProject" )
847+
844848 If ((This .settings .excludeModules # Null) && (This .settings .excludeModules .length > 0))
845849 $optionalModulesFile := (Is macOS) ? Folder (Application file; fk platform path).file ("Contents/Resources/BuildappOptionalModules.json" ) : File (Application file; fk platform path).parent .file ("Resources/BuildappOptionalModules.json" )
846850 If ($optionalModulesFile .exists )
@@ -858,6 +862,13 @@ Function _excludeModules() : Boolean
858862 $optionalModules .modules := $optionalModules .modules .concat ($windowsAppRuntime .modules)
859863 End if
860864 End if
865+
866+ // For binary databases, automatically exclude "Windows App Runtime" module
867+ If ($isBinaryDatabase)
868+ If (This .settings .excludeModules .indexOf ("Windows App Runtime" )< 0)
869+ This .settings .excludeModules .push ("Windows App Runtime" )
870+ End if
871+ End if
861872 End if
862873
863874 For each ($excludedModule; This .settings .excludeModules )
@@ -886,6 +897,24 @@ Function _excludeModules() : Boolean
886897 End if
887898 End if
888899
900+ // For binary databases on Windows, delete specific Windows App Runtime files
901+ If (Is Windows) && ($isBinaryDatabase)
902+ var $runtimeFilesToDelete : Collection
903+ $runtimeFilesToDelete := New collection (\
904+ "Microsoft.WindowsAppRuntime.Bootstrap.dll" ; \
905+ "XamlIslandsHelper.dll" ; \
906+ "windowsAppRuntimeBootstrap.pri" )
907+
908+ $basePath := This .settings .destinationFolder .path
909+ $paths := New collection
910+
911+ For each ($path; $runtimeFilesToDelete)
912+ $paths .push ($basePath + $path )
913+ End for each
914+
915+ This ._deletePaths ($paths )
916+ End if
917+
889918 return This ._noError
890919
891920
0 commit comments