From cb988b52536913228a1ad3f951703840f4a73e87 Mon Sep 17 00:00:00 2001 From: Santosh Chintalapati Date: Fri, 19 Aug 2022 07:31:25 -0700 Subject: [PATCH 1/2] Ensure GetStatus doesn't crash and ensure MSIX package of the sample is created with correct publisher details. --- .../DeploymentManager/cpp-winui/Scenario2_Initialize.xaml.cpp | 3 ++- Samples/DeploymentManager/cs-winui/Package.appxmanifest | 2 +- Samples/DeploymentManager/cs-winui/Scenario1_GetStatus.xaml.cs | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Samples/DeploymentManager/cpp-winui/Scenario2_Initialize.xaml.cpp b/Samples/DeploymentManager/cpp-winui/Scenario2_Initialize.xaml.cpp index 4b1512910..5f767039b 100644 --- a/Samples/DeploymentManager/cpp-winui/Scenario2_Initialize.xaml.cpp +++ b/Samples/DeploymentManager/cpp-winui/Scenario2_Initialize.xaml.cpp @@ -34,7 +34,6 @@ namespace winrt::DeploymentManagerSample::implementation void Scenario2_Initialize::UpdateDeploymentResultMessages(DeploymentResult deploymentResult) { resultStatus().Text(L"Result Status: "); // TODO DeploymentStatus to string - resultExtendedError().Text(L"Result ExtendedError: " + to_hstring(deploymentResult.ExtendedError())); // Check the result. if (deploymentResult.Status() == DeploymentStatus::Ok) @@ -44,6 +43,8 @@ namespace winrt::DeploymentManagerSample::implementation } else { + resultExtendedError().Text(L"Result ExtendedError: " + to_hstring(deploymentResult.ExtendedError())); + // The WindowsAppRuntime is in a bad state which Initialize() did not fix. // Do error reporting or gather information for submitting a bug. // Gracefully exit the program or carry on without using the WindowsAppRuntime. diff --git a/Samples/DeploymentManager/cs-winui/Package.appxmanifest b/Samples/DeploymentManager/cs-winui/Package.appxmanifest index c7cc24488..291003ff9 100644 --- a/Samples/DeploymentManager/cs-winui/Package.appxmanifest +++ b/Samples/DeploymentManager/cs-winui/Package.appxmanifest @@ -8,7 +8,7 @@ diff --git a/Samples/DeploymentManager/cs-winui/Scenario1_GetStatus.xaml.cs b/Samples/DeploymentManager/cs-winui/Scenario1_GetStatus.xaml.cs index 42943a059..3c83a1c06 100644 --- a/Samples/DeploymentManager/cs-winui/Scenario1_GetStatus.xaml.cs +++ b/Samples/DeploymentManager/cs-winui/Scenario1_GetStatus.xaml.cs @@ -29,7 +29,6 @@ private void GetStatus_Click(object sender, RoutedEventArgs e) // error code. The Status is usually the property of interest, as the ExtendedError is // typically used for diagnostic purposes or troubleshooting. resultStatus.Text = "Result Status: " + result.Status.ToString(); - resultExtendedError.Text = "Result ExtendedError: " + result.ExtendedError.ToString(); // Check the resulting Status. if (result.Status == DeploymentStatus.Ok) @@ -38,6 +37,7 @@ private void GetStatus_Click(object sender, RoutedEventArgs e) } else { + resultExtendedError.Text = "Result ExtendedError: " + result.ExtendedError.ToString(); // A not-Ok status means it is not ready for us. The Status will indicate the // reason it is not Ok, such as some packages need to be installed. resultImplication.Text = "The Windows App Runtime is not ready for use."; From 17630ba70a36c683a364ef6d74d87e92eeb030fa Mon Sep 17 00:00:00 2001 From: Santosh Chintalapati Date: Fri, 30 Sep 2022 14:01:16 -0700 Subject: [PATCH 2/2] Add Repair API demo from 1.3 Release WindowsAppSDK --- .../cpp-winui/DeploymentManagerSample.vcxproj | 9 ++ .../DeploymentManagerSample.vcxproj.filters | 3 +- .../DeploymentManager/cpp-winui/Project.idl | 6 ++ .../cpp-winui/SampleConfiguration.cpp | 3 +- .../cpp-winui/Scenario3_Repair.xaml | 26 +++++ .../cpp-winui/Scenario3_Repair.xaml.cpp | 94 ++++++++++++++++++ .../cpp-winui/Scenario3_Repair.xaml.h | 26 +++++ .../cs-winui/DeploymentManagerSample.csproj | 5 +- .../cs-winui/SampleConfiguration.cs | 4 +- .../cs-winui/Scenario3_Repair.xaml | 27 ++++++ .../cs-winui/Scenario3_Repair.xaml.cs | 96 +++++++++++++++++++ 11 files changed, 293 insertions(+), 6 deletions(-) create mode 100644 Samples/DeploymentManager/cpp-winui/Scenario3_Repair.xaml create mode 100644 Samples/DeploymentManager/cpp-winui/Scenario3_Repair.xaml.cpp create mode 100644 Samples/DeploymentManager/cpp-winui/Scenario3_Repair.xaml.h create mode 100644 Samples/DeploymentManager/cs-winui/Scenario3_Repair.xaml create mode 100644 Samples/DeploymentManager/cs-winui/Scenario3_Repair.xaml.cs diff --git a/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj b/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj index de36775d4..4a0fed16e 100644 --- a/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj +++ b/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj @@ -121,6 +121,9 @@ Scenario2_Initialize.xaml Code + + Scenario3_Repair.xaml + SettingsPage.xaml Code @@ -138,6 +141,9 @@ Designer + + Designer + Designer @@ -169,6 +175,9 @@ Scenario2_Initialize.xaml Code + + Scenario3_Repair.xaml + SettingsPage.xaml Code diff --git a/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj.filters b/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj.filters index f2ef19d9c..3f067349b 100644 --- a/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj.filters +++ b/Samples/DeploymentManager/cpp-winui/DeploymentManagerSample.vcxproj.filters @@ -10,6 +10,7 @@ + @@ -54,4 +55,4 @@ - \ No newline at end of file + diff --git a/Samples/DeploymentManager/cpp-winui/Project.idl b/Samples/DeploymentManager/cpp-winui/Project.idl index d6338af15..9bb10b187 100644 --- a/Samples/DeploymentManager/cpp-winui/Project.idl +++ b/Samples/DeploymentManager/cpp-winui/Project.idl @@ -18,6 +18,12 @@ namespace DeploymentManagerSample Scenario2_Initialize(); } + [default_interface] + runtimeclass Scenario3_Repair : Microsoft.UI.Xaml.Controls.Page + { + Scenario3_Repair(); + } + /* The following code is template-specific IDL. These runtime classes are the same across all C++/WinRT WinUI samples. */ diff --git a/Samples/DeploymentManager/cpp-winui/SampleConfiguration.cpp b/Samples/DeploymentManager/cpp-winui/SampleConfiguration.cpp index 89ada0333..3cff7ab03 100644 --- a/Samples/DeploymentManager/cpp-winui/SampleConfiguration.cpp +++ b/Samples/DeploymentManager/cpp-winui/SampleConfiguration.cpp @@ -17,7 +17,8 @@ namespace winrt::DeploymentManagerSample IVector implementation::MainPage::scenariosInner = single_threaded_observable_vector( { Scenario{ L"Get Status", hstring(name_of())}, - Scenario{ L"Initialize", hstring(name_of())} + Scenario{ L"Initialize", hstring(name_of())}, + Scenario{ L"Repair", hstring(name_of())} }); hstring SampleConfig::FeatureName{ L"DeploymentManager" }; diff --git a/Samples/DeploymentManager/cpp-winui/Scenario3_Repair.xaml b/Samples/DeploymentManager/cpp-winui/Scenario3_Repair.xaml new file mode 100644 index 000000000..13d188452 --- /dev/null +++ b/Samples/DeploymentManager/cpp-winui/Scenario3_Repair.xaml @@ -0,0 +1,26 @@ + + + + + + + + Repair the Windows App SDK Runtime with DeploymentManager.Repair() + +