From c5f922111e0b4f7f52f0b5c2beafc936f89ad373 Mon Sep 17 00:00:00 2001 From: guimafelipe Date: Wed, 24 Sep 2025 15:15:54 -0700 Subject: [PATCH 1/2] Small fix on reset locations --- dev/Deployment/DeploymentActivityContext.cpp | 2 +- dev/Deployment/DeploymentManager.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dev/Deployment/DeploymentActivityContext.cpp b/dev/Deployment/DeploymentActivityContext.cpp index a38a3bd3c6..73111979d0 100644 --- a/dev/Deployment/DeploymentActivityContext.cpp +++ b/dev/Deployment/DeploymentActivityContext.cpp @@ -1,4 +1,4 @@ -// Copyright (c) Microsoft Corporation and Contributors. +// Copyright (c) Microsoft Corporation and Contributors. // Licensed under the MIT License. #include diff --git a/dev/Deployment/DeploymentManager.cpp b/dev/Deployment/DeploymentManager.cpp index 164dcfe092..c9832ceb68 100644 --- a/dev/Deployment/DeploymentManager.cpp +++ b/dev/Deployment/DeploymentManager.cpp @@ -502,6 +502,7 @@ namespace winrt::Microsoft::Windows::ApplicationModel::WindowsAppRuntime::implem HRESULT DeploymentManager::InstallLicenses(const std::wstring& frameworkPackageFullName) { + ::WindowsAppRuntime::Deployment::Activity::Context::Get().Reset(); ::WindowsAppRuntime::Deployment::Activity::Context::Get().SetInstallStage(::WindowsAppRuntime::Deployment::Activity::DeploymentStage::GetLicensePath); // Build path for licenses @@ -529,7 +530,6 @@ namespace winrt::Microsoft::Windows::ApplicationModel::WindowsAppRuntime::implem auto licenseFilename{ licensePath }; licenseFilename /= findFileData.cFileName; - ::WindowsAppRuntime::Deployment::Activity::Context::Get().Reset(); ::WindowsAppRuntime::Deployment::Activity::Context::Get().SetCurrentResourceId(licenseFilename); RETURN_IF_FAILED_MSG(licenseInstaller.InstallLicenseFile(licenseFilename.c_str()), @@ -549,15 +549,16 @@ namespace winrt::Microsoft::Windows::ApplicationModel::WindowsAppRuntime::implem HRESULT DeploymentManager::DeployPackages(const std::wstring& frameworkPackageFullName, const bool forceDeployment) { auto initializeActivity{ ::WindowsAppRuntime::Deployment::Activity::Context::Get() }; + initializeActivity.Reset(); initializeActivity.SetInstallStage(::WindowsAppRuntime::Deployment::Activity::DeploymentStage::GetPackagePath); const auto frameworkPath{ std::filesystem::path(GetPackagePath(frameworkPackageFullName)) }; - initializeActivity.SetInstallStage(::WindowsAppRuntime::Deployment::Activity::DeploymentStage::AddPackage); for (auto package : c_targetPackages) { auto isSingleton{ CompareStringOrdinal(package.identifier.c_str(), -1, WINDOWSAPPRUNTIME_PACKAGE_SUBTYPENAME_SINGLETON, -1, TRUE) == CSTR_EQUAL }; initializeActivity.Reset(); + initializeActivity.SetInstallStage(::WindowsAppRuntime::Deployment::Activity::DeploymentStage::AddPackage); initializeActivity.SetCurrentResourceId(package.identifier); std::filesystem::path packagePath{}; From 57501f2a9ec54eefacd1b2ab1c2e8d5005fc9a7d Mon Sep 17 00:00:00 2001 From: guimafelipe Date: Thu, 19 Feb 2026 14:19:11 -0800 Subject: [PATCH 2/2] Add containment for reset activity data fix Wrap the telemetry reset behavior changes with containment gates using WINAPPSDK_CHANGEID_12345 so the fix can be rolled back if needed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- dev/Deployment/DeploymentManager.cpp | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/dev/Deployment/DeploymentManager.cpp b/dev/Deployment/DeploymentManager.cpp index c9832ceb68..f63eea6e16 100644 --- a/dev/Deployment/DeploymentManager.cpp +++ b/dev/Deployment/DeploymentManager.cpp @@ -15,6 +15,9 @@ // Bug 60760194: [1.8 servicing] DeploymentManager failing with error package downgrade #define WINAPPSDK_CHANGEID_60760194 60760194, WinAppSDK_1_8_5 +// Bug 61124029: [1.8 servicing] Fixing reset activity data on deployment initialization +#define WINAPPSDK_CHANGEID_61124029 61124029, WinAppSDK_1_8_6 + using namespace winrt; using namespace winrt::Windows::Foundation; @@ -502,7 +505,10 @@ namespace winrt::Microsoft::Windows::ApplicationModel::WindowsAppRuntime::implem HRESULT DeploymentManager::InstallLicenses(const std::wstring& frameworkPackageFullName) { - ::WindowsAppRuntime::Deployment::Activity::Context::Get().Reset(); + if (WinAppSdk::Containment::IsChangeEnabled()) + { + ::WindowsAppRuntime::Deployment::Activity::Context::Get().Reset(); + } ::WindowsAppRuntime::Deployment::Activity::Context::Get().SetInstallStage(::WindowsAppRuntime::Deployment::Activity::DeploymentStage::GetLicensePath); // Build path for licenses @@ -530,6 +536,10 @@ namespace winrt::Microsoft::Windows::ApplicationModel::WindowsAppRuntime::implem auto licenseFilename{ licensePath }; licenseFilename /= findFileData.cFileName; + if (!WinAppSdk::Containment::IsChangeEnabled()) + { + ::WindowsAppRuntime::Deployment::Activity::Context::Get().Reset(); + } ::WindowsAppRuntime::Deployment::Activity::Context::Get().SetCurrentResourceId(licenseFilename); RETURN_IF_FAILED_MSG(licenseInstaller.InstallLicenseFile(licenseFilename.c_str()), @@ -549,16 +559,26 @@ namespace winrt::Microsoft::Windows::ApplicationModel::WindowsAppRuntime::implem HRESULT DeploymentManager::DeployPackages(const std::wstring& frameworkPackageFullName, const bool forceDeployment) { auto initializeActivity{ ::WindowsAppRuntime::Deployment::Activity::Context::Get() }; - initializeActivity.Reset(); + if (WinAppSdk::Containment::IsChangeEnabled()) + { + initializeActivity.Reset(); + } initializeActivity.SetInstallStage(::WindowsAppRuntime::Deployment::Activity::DeploymentStage::GetPackagePath); const auto frameworkPath{ std::filesystem::path(GetPackagePath(frameworkPackageFullName)) }; + if (!WinAppSdk::Containment::IsChangeEnabled()) + { + initializeActivity.SetInstallStage(::WindowsAppRuntime::Deployment::Activity::DeploymentStage::AddPackage); + } for (auto package : c_targetPackages) { auto isSingleton{ CompareStringOrdinal(package.identifier.c_str(), -1, WINDOWSAPPRUNTIME_PACKAGE_SUBTYPENAME_SINGLETON, -1, TRUE) == CSTR_EQUAL }; initializeActivity.Reset(); - initializeActivity.SetInstallStage(::WindowsAppRuntime::Deployment::Activity::DeploymentStage::AddPackage); + if (WinAppSdk::Containment::IsChangeEnabled()) + { + initializeActivity.SetInstallStage(::WindowsAppRuntime::Deployment::Activity::DeploymentStage::AddPackage); + } initializeActivity.SetCurrentResourceId(package.identifier); std::filesystem::path packagePath{};