Skip to content

Commit 3ac054d

Browse files
github:11753 Binary use-case.
1 parent 497c5e6 commit 3ac054d

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

Build4D/Project/Sources/Classes/_core.4dm

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)