Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 27 additions & 1 deletion BuildAll.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ Try {
{
# TODO: $windowsAppSdkBinariesPath may not be defined. Remove the temp downgrade to 1.0 once this issue has been fixed (b#52130179).
Set-StrictMode -Version 1.0
.\build\CopyFilesToStagingDir.ps1 -BuildOutputDir 'BuildOutput' -OverrideDir "$buildOverridePath" -PublishDir "$windowsAppSdkBinariesPath" -NugetDir "$BasePath" -Platform $PlatformToRun -Configuration $ConfigurationToRun
.\build\CopyFilesToStagingDir.ps1 -BuildOutputDir 'BuildOutput' -PublishDir "$windowsAppSdkBinariesPath" -NugetDir "$BasePath" -Platform $PlatformToRun -Configuration $ConfigurationToRun
Set-StrictMode -Version 3.0
if ($lastexitcode -ne 0)
{
Expand Down Expand Up @@ -456,6 +456,29 @@ Try {
'native\PushNotificationsLongRunningTask.ProxyStub.dll',
'native\RestartAgent.exe') `
-TargetDir "$ComponentBasePath\runtimes-framework\win-$platformToRun"

build\scripts\CopyContents.ps1 `
-SourceDir "$PSScriptRoot\$BasePath\runtimes\win10-$platformToRun" `
-ContentsList @(
'native\DynamicDependency.DataStore.exe',
'native\DynamicDependency.DataStore.ProxyStub.dll') `
-TargetDir "$ComponentBasePath\runtimes-main\win-$platformToRun"

build\scripts\CopyContents.ps1 `
-SourceDir "$PSScriptRoot\$BasePath\runtimes\win10-$platformToRun" `
-ContentsList @(
'native\DynamicDependencyLifetimeManager.exe',
'native\DynamicDependencyLifetimeManager.ProxyStub.dll',
'native\DynamicDependencyLifetimeManagerShadow.exe') `
-TargetDir "$ComponentBasePath\runtimes-ddlm\win-$platformToRun"

build\scripts\CopyContents.ps1 `
-SourceDir "$PSScriptRoot\$BasePath\runtimes\win10-$platformToRun" `
-ContentsList @(
'native\PushNotificationsLongRunningTask.exe',
'native\PushNotificationsLongRunningTask.ProxyStub.dll',
'native\PushNotificationsLongRunningTask.StartupTask.exe') `
-TargetDir "$ComponentBasePath\runtimes-singleton\win-$platformToRun"
}

# Populate ARM64EC folders with x64 content
Expand All @@ -475,6 +498,9 @@ Try {
}

Copy-Item -Path "$nuSpecsPath\package.appxfragment" -Destination "$ComponentBasePath\runtimes-framework\package.appxfragment"
Copy-Item -Path "$nuSpecsPath\main.appxfragment" -Destination "$ComponentBasePath\runtimes-main\package.appxfragment"
Copy-Item -Path "$buildOverridePath\ddlm.appxfragment" -Destination "$ComponentBasePath\runtimes-ddlm\package.appxfragment"
Copy-Item -Path "$nuSpecsPath\singleton.appxfragment" -Destination "$ComponentBasePath\runtimes-singleton\package.appxfragment"

# Populate Intellisense files
$IntellisensePath = "$PSScriptRoot\build\NuSpecs\Intellisense"
Expand Down
17 changes: 1 addition & 16 deletions build/CopyFilesToStagingDir.ps1
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
[CmdLetBinding()]
Param(
[string]$BuildOutputDir,
[string]$OverrideDir,
[string]$PublishDir,
[string]$NugetDir,
[string]$Platform,
Expand Down Expand Up @@ -36,9 +35,6 @@ function PublishFile {
}
}

PublishFile $OverrideDir\DynamicDependency-Override.json $FullPublishDir\
PublishFile $OverrideDir\PushNotifications-Override.json $FullPublishDir\

PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\Microsoft.WindowsAppRuntime.dll $FullPublishDir\Microsoft.WindowsAppRuntime\
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\Microsoft.WindowsAppRuntime.pdb $FullPublishDir\Microsoft.WindowsAppRuntime\
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\Microsoft.WindowsAppRuntime.lib $FullPublishDir\Microsoft.WindowsAppRuntime\
Expand Down Expand Up @@ -151,13 +147,6 @@ PublishFile $FullBuildOutput\Microsoft.Windows.System.Power.Projection\Microsoft
PublishFile $FullBuildOutput\Microsoft.Windows.System.Projection\Microsoft.Windows.System.Projection.dll $NugetDir\lib\net6.0-windows10.0.17763.0
PublishFile $FullBuildOutput\Microsoft.Windows.System.Projection\Microsoft.Windows.System.Projection.pdb $NugetDir\lib\net6.0-windows10.0.17763.0

#
# Dynamic Dependency build overrides
PublishFile $OverrideDir\DynamicDependency-Override.json $NugetDir\runtimes\win10-$Platform\native
#
# Push Notifications build overrides
PublishFile $OverrideDir\PushNotifications-Override.json $NugetDir\runtimes\win10-$Platform\native
#
# Includes (*.h)
PublishFile $FullBuildOutput\WindowsAppRuntime_BootstrapDLL\MddBootstrap.h $NugetDir\include
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\decimal.h $NugetDir\include
Expand Down Expand Up @@ -244,8 +233,4 @@ PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\DeploymentManagerAutoInitiali
#
# UndockedRegFreeWinRT (URFW) Auto-Initializer Files
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\UndockedRegFreeWinRT-AutoInitializer.cpp $NugetDir\include
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\UndockedRegFreeWinRT-AutoInitializer.cs $NugetDir\include
#
# Build overrides
PublishFile $OverrideDir\DynamicDependency-Override.json $NugetDir\runtimes\win10-$Platform\native
PublishFile $OverrideDir\PushNotifications-Override.json $NugetDir\runtimes\win10-$Platform\native
PublishFile $FullBuildOutput\WindowsAppRuntime_DLL\UndockedRegFreeWinRT-AutoInitializer.cs $NugetDir\include
64 changes: 64 additions & 0 deletions build/NuSpecs/ddlm.appxfragment
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<Fragment
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
IgnorableNamespaces="uap uap3 uap5 com">
<Applications>
<Application Id="DDLMCOMServer"
Executable="DynamicDependencyLifetimeManager.exe"
EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements
DisplayName="Microsoft Windows App Runtime DynamicDependency LifetimeManager"
Square150x150Logo="WindowsAppRuntime.png"
Square44x44Logo="WindowsAppRuntime.png"
Description="Microsoft Windows App Runtime DynamicDependency LifetimeManager"
BackgroundColor="transparent"
AppListEntry="none">
<uap:DefaultTile Wide310x150Logo="WindowsAppRuntime.png"/>
<uap:SplashScreen Image="WindowsAppRuntime.png" uap5:Optional="true"/>
</uap:VisualElements>
<Extensions>
<uap3:Extension Category="windows.appExtension">
<uap3:AppExtension Name="microsoft.winappruntime.ddlm-$(VersionMajor).$(VersionMinor)-$(ShortArchitecture)$(VersionFormattedShortTag)"
Id="ddlm-$(Version)-$(Architecture)"
PublicFolder="public\ddlm"
DisplayName="Windows App Runtime DynamicDependency LifetimeManager Extension $(VersionMajor).$(VersionMinor) ($(Version) $(Architecture) $(VersionTag))">
<uap3:Properties>
<CLSID>$(DynDep.LifetimeManager.CLSID.UUID)</CLSID>
</uap3:Properties>
</uap3:AppExtension>
</uap3:Extension>
<com:Extension Category="windows.comServer">
<com:ComServer>
<com:ExeServer Executable="DynamicDependencyLifetimeManager.exe" DisplayName="Windows App Runtime DynamicDependency LifetimeManager">
<com:Class Id="$(DynDep.LifetimeManager.CLSID.UUID)" DisplayName="Windows App Runtime DynamicDependency LifetimeManager"/>
</com:ExeServer>
</com:ComServer>
</com:Extension>
<com:Extension Category="windows.comInterface">
<com:ComInterface>
<com:ProxyStub Id="06F1BAD0-DD14-11d0-AB8F-0000C0148FDB" DisplayName="DynamicDependencyLifetimeManager ProxyStub" Path="DynamicDependencyLifetimeManager.ProxyStub.dll"/>
<com:Interface Id="06F1BAD0-DD14-11d0-AB8F-0000C0148FDB" ProxyStubClsid="06F1BAD0-DD14-11d0-AB8F-0000C0148FDB"/> <!-- IID_IDynamicDependencyLifetimeManager -->
</com:ComInterface>
</com:Extension>
</Extensions>
</Application>
<Application Id="DDLM"
Executable="DynamicDependencyLifetimeManagerShadow.exe"
EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements
DisplayName="Microsoft Windows App Runtime DynamicDependency LifetimeManager"
Square150x150Logo="WindowsAppRuntime.png"
Square44x44Logo="WindowsAppRuntime.png"
Description="Microsoft Windows App Runtime DynamicDependency LifetimeManager"
BackgroundColor="transparent"
AppListEntry="none">
<uap:DefaultTile Wide310x150Logo="WindowsAppRuntime.png"/>
<uap:SplashScreen Image="WindowsAppRuntime.png" uap5:Optional="true"/>
</uap:VisualElements>
</Application>
</Applications>
</Fragment>
40 changes: 40 additions & 0 deletions build/NuSpecs/main.appxfragment
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<Fragment
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
IgnorableNamespaces="uap uap3 uap5 com">
<Applications>
<Application Id="App"
Executable="DynamicDependency.DataStore.exe"
EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements
DisplayName="Windows App Runtime Main"
Square150x150Logo="WindowsAppRuntime.png"
Square44x44Logo="WindowsAppRuntime.png"
Description="Windows App Runtime Main package"
BackgroundColor="transparent"
AppListEntry="none">
<uap:DefaultTile Wide310x150Logo="WindowsAppRuntime.png"/>
<uap:SplashScreen Image="WindowsAppRuntime.png" uap5:Optional="true"/>
</uap:VisualElements>
<Extensions>
<com:Extension Category="windows.comServer">
<com:ComServer>
<com:ExeServer Executable="DynamicDependency.DataStore.exe" DisplayName="Windows App Runtime DynamicDependency DataStore">
<com:Class Id="D1AD16C7-EC59-4765-BF95-9A243EB00507" DisplayName="Windows App Runtime DynamicDependency DataStore"/>
</com:ExeServer>
</com:ComServer>
</com:Extension>
<com:Extension Category="windows.comInterface">
<com:ComInterface>
<com:ProxyStub Id="DDEB4D6A-E146-476d-B729-0BFB1A29A86E" DisplayName="DynamicDependency.DataStore ProxyStub" Path="DynamicDependency.DataStore.ProxyStub.dll"/>
<com:Interface Id="DDEB4D6A-E146-476d-B729-0BFB1A29A86E" ProxyStubClsid="DDEB4D6A-E146-476d-B729-0BFB1A29A86E"/> <!-- IID_IDynamicDependencyDataStore -->
</com:ComInterface>
</com:Extension>
</Extensions>
</Application>
</Applications>
</Fragment>
52 changes: 52 additions & 0 deletions build/NuSpecs/singleton.appxfragment
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<Fragment
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3"
xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
xmlns:com="http://schemas.microsoft.com/appx/manifest/com/windows10"
IgnorableNamespaces="uap uap3 uap5 com">
<Applications>
<Application Id="PushNotifications.LongRunningTask"
Executable="PushNotificationsLongRunningTask.exe"
EntryPoint="Windows.FullTrustApplication">
<uap:VisualElements
DisplayName="Microsoft Windows App Runtime Singleton"
Square150x150Logo="WindowsAppRuntime.png"
Square44x44Logo="WindowsAppRuntime.png"
Description="Microsoft Windows App Runtime Singleton package"
BackgroundColor="transparent"
AppListEntry="none">
<uap:DefaultTile Wide310x150Logo="WindowsAppRuntime.png"/>
<uap:SplashScreen Image="WindowsAppRuntime.png" uap5:Optional="true"/>
</uap:VisualElements>
<Extensions>
<com:Extension Category="windows.comServer">
<com:ComServer>
<com:ExeServer Executable="PushNotificationsLongRunningTask.exe" DisplayName="Microsoft Windows App Runtime Push Notifications Task">
<com:Class Id="E739C755-0D09-48DF-A468-A5DF0B5422DC" DisplayName="Microsoft Windows App Runtime Push Notifications Task"/>
</com:ExeServer>
</com:ComServer>
</com:Extension>
<com:Extension Category="windows.comInterface">
<com:ComInterface>
<com:ProxyStub Id="60FC21B2-B396-4D49-94F0-7555869FB93C" DisplayName="PushNotificationsLongRunningTask ProxyStub" Path="PushNotificationsLongRunningTask.ProxyStub.dll"/>
<com:Interface Id="60FC21B2-B396-4D49-94F0-7555869FB93C" ProxyStubClsid="60FC21B2-B396-4D49-94F0-7555869FB93C"/> <!-- IID_IWpnLrpPlatform -->
</com:ComInterface>
</com:Extension>
<com:Extension Category="windows.comInterface">
<com:ComInterface>
<com:ProxyStub Id="25604D55-9B17-426F-9D67-2B11B3A65598" DisplayName="PushNotificationsLongRunningTask ProxyStub" Path="PushNotificationsLongRunningTask.ProxyStub.dll"/>
<com:Interface Id="25604D55-9B17-426F-9D67-2B11B3A65598" ProxyStubClsid="25604D55-9B17-426F-9D67-2B11B3A65598"/> <!-- IID_IWpnForegroundSink -->
</com:ComInterface>
</com:Extension>
<com:Extension Category="windows.comInterface">
<com:ComInterface>
<com:ProxyStub Id="559B4205-F810-4947-B02B-3EA9A311C6AD" DisplayName="PushNotificationsLongRunningTask ProxyStub" Path="PushNotificationsLongRunningTask.ProxyStub.dll"/>
<com:Interface Id="559B4205-F810-4947-B02B-3EA9A311C6AD" ProxyStubClsid="559B4205-F810-4947-B02B-3EA9A311C6AD"/> <!-- IID_IWpnForegroundSink2 -->
</com:ComInterface>
</com:Extension>
</Extensions>
</Application>
</Applications>
</Fragment>
27 changes: 7 additions & 20 deletions tools/GenerateDynamicDependencyOverrides.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -44,26 +44,13 @@ else
$lifetimemanager_clsid_uuid = New-Guid
$lifetimemanager_clsid_guid = Convert-Guid $lifetimemanager_clsid_uuid

# Generate the json file
$content_json=@"
{
"LIBID": "1BF712E5-41ED-46a5-8402-2D40725F691E",
"DataStore": {
"CLSID": {
"UUID": "D1AD16C7-EC59-4765-BF95-9A243EB00507"
}
},
"LifetimeManager": {
"CLSID": {
"UUID": "$lifetimemanager_clsid_uuid",
"GUID": "$lifetimemanager_clsid_guid"
}
}
}
"@
$file_json = Join-Path $Path 'DynamicDependency-Override.json'
Write-Output "Writing $file_json..."
"$content_json" | Out-File $file_json -Encoding utf8
# Replace the GUID in the appxfragment.xml
$appxfragment_path = 'build\NuSpecs\ddlm.appxfragment'
$appxfragment_overrides_path = Join-Path $Path 'ddlm.appxfragment'
$appxfragment = Get-Content $appxfragment_path
$appxfragment = $appxfragment.Replace('$(DynDep.LifetimeManager.CLSID.UUID)', "$lifetimemanager_clsid_uuid")
Write-Output "Writing $appxfragment_overrides_path..."
Set-Content -Value $appxfragment $appxfragment_overrides_path

# Generate the header file
$content_h=@"
Expand Down
55 changes: 0 additions & 55 deletions tools/GeneratePushNotificationsOverrides.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,6 @@ Param(
[string]$Path
)

function Convert-Guid
{
Param([string]$uuid)

$fields = $uuid -Split '-', 5
$field0 = $fields[0]
$field1 = $fields[1]
$field2 = $fields[2]
$field3 = $fields[3]
$b0 = $field3.SubString(0, 2)
$b1 = $field3.SubString(2, 2)
$field4 = $fields[4]
$b2 = $field4.SubString(0, 2)
$b3 = $field4.SubString(2, 2)
$b4 = $field4.SubString(4, 2)
$b5 = $field4.SubString(6, 2)
$b6 = $field4.SubString(8, 2)
$b7 = $field4.SubString(10, 2)
$guid = "0x$field0, 0x$field1, 0x$field2, { 0x$b0, 0x$b1, 0x$b2, 0x$b3, 0x$b4, 0x$b5, 0x$b6, 0x$b7 }"
return $guid
}

Set-StrictMode -Version 3.0
$ErrorActionPreference = 'Stop'

Expand All @@ -41,39 +19,6 @@ else
Write-Output "$Path exists"
}

# Generate the json file
$content_json=@"
{
"LIBID": "CE96C745-3017-460E-895B-4FD98E1194F2",
"ComServer": {
"CLSID": {
"UUID": "E739C755-0D09-48DF-A468-A5DF0B5422DC"
}
},
"ComInterfaces": {
"LRP": {
"CLSID": {
"UUID": "60FC21B2-B396-4D49-94F0-7555869FB93C"
}
},
"ForegroundSink": {
"CLSID": {
"UUID": "25604D55-9B17-426F-9D67-2B11B3A65598"
}
},
"ForegroundSink2": {
"CLSID": {
"UUID": "559B4205-F810-4947-B02B-3EA9A311C6AD"
}
}
}
}
"@

$file_json = Join-Path $Path 'PushNotifications-Override.json'
Write-Output "Writing $file_json..."
"$content_json" | Out-File $file_json -Encoding utf8

# Generate the Push Notifications header file
$content_h=@"
// Copyright (c) Microsoft Corporation. All rights reserved.
Expand Down
Loading