public AddPackageAsync ( [ packageUri, [ |
||
packageUri | [ | |
dependencyPackageUris | [ |
|
deploymentOptions | [ | |
return | DeploymentProgress>.IAsyncOperationWithProgress |
public async Task AddPackageAsync(string packageUri, IEnumerable <Uri> dependencyUris) { await Task.Yield(); var dependenciesRequiringInstallation = NormalizeDependencies(dependencyUris); try { Uri localPackageUri = new Uri(packageUri); localPackageUri = DownloadPackageToLocalTempFile(localPackageUri); var deploymentOperation = _packageManager.AddPackageAsync(localPackageUri, dependenciesRequiringInstallation, Windows.Management.Deployment.DeploymentOptions.None); RaiseMessage(string.Format("Installing package {0}", localPackageUri)); HandleDeploymentOperation(deploymentOperation); } catch (Exception ex) { RaiseMessage(string.Format("Installing package failed, error message: {0}", ex.Message)); RaiseMessage(string.Format("Full Stacktrace: {0}", ex.ToString())); } }
public static int Main(string[] args) { Console.WriteLine("Copyright (c) Microsoft Corporation. All rights reserved."); Console.WriteLine("AddPackage sample"); Console.WriteLine(); if (args.Length < 1) { Console.WriteLine("Usage: AddPackageSample.exe packageUri"); return 1; } string inputPackageUri = args[0]; int returnValue = 0; try { Uri packageUri = new Uri(inputPackageUri); Windows.Management.Deployment.PackageManager packageManager = new Windows.Management.Deployment.PackageManager(); Windows.Foundation.IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> deploymentOperation = packageManager.AddPackageAsync(packageUri, null, Windows.Management.Deployment.DeploymentOptions.None); ManualResetEvent opCompletedEvent = new ManualResetEvent(false); // this event will be signaled when the deployment operation has completed. deploymentOperation.Completed = (depProgress, status) => { opCompletedEvent.Set(); }; Console.WriteLine("Installing package {0}", inputPackageUri); Console.WriteLine("Waiting for installation to complete..."); opCompletedEvent.WaitOne(); if (deploymentOperation.Status == Windows.Foundation.AsyncStatus.Error) { Windows.Management.Deployment.DeploymentResult deploymentResult = deploymentOperation.GetResults(); Console.WriteLine("Installation Error: {0}", deploymentOperation.ErrorCode); Console.WriteLine("Detailed Error Text: {0}", deploymentResult.ErrorText); returnValue = 1; } else if (deploymentOperation.Status == Windows.Foundation.AsyncStatus.Canceled) { Console.WriteLine("Installation Canceled"); } else if (deploymentOperation.Status == Windows.Foundation.AsyncStatus.Completed) { Console.WriteLine("Installation succeeded!"); } else { returnValue = 1; Console.WriteLine("Installation status unknown"); } } catch (Exception ex) { Console.WriteLine("AddPackageSample failed, error message: {0}", ex.Message); Console.WriteLine("Full Stacktrace: {0}", ex.ToString()); return 1; } return returnValue; }
public static int Main(string[] args) { Console.WriteLine("Copyright (c) Microsoft Corporation. All rights reserved."); Console.WriteLine("AddPackage sample"); Console.WriteLine(); if (args.Length < 1) { Console.WriteLine("Usage: AddPackageSample.exe packageUri"); return(1); } string inputPackageUri = args[0]; int returnValue = 0; try { Uri packageUri = new Uri(inputPackageUri); Windows.Management.Deployment.PackageManager packageManager = new Windows.Management.Deployment.PackageManager(); Windows.Foundation.IAsyncOperationWithProgress <DeploymentResult, DeploymentProgress> deploymentOperation = packageManager.AddPackageAsync(packageUri, null, Windows.Management.Deployment.DeploymentOptions.None); ManualResetEvent opCompletedEvent = new ManualResetEvent(false); // this event will be signaled when the deployment operation has completed. deploymentOperation.Completed = (depProgress, status) => { opCompletedEvent.Set(); }; Console.WriteLine("Installing package {0}", inputPackageUri); Console.WriteLine("Waiting for installation to complete..."); opCompletedEvent.WaitOne(); if (deploymentOperation.Status == Windows.Foundation.AsyncStatus.Error) { Windows.Management.Deployment.DeploymentResult deploymentResult = deploymentOperation.GetResults(); Console.WriteLine("Installation Error: {0}", deploymentOperation.ErrorCode); Console.WriteLine("Detailed Error Text: {0}", deploymentResult.ErrorText); returnValue = 1; } else if (deploymentOperation.Status == Windows.Foundation.AsyncStatus.Canceled) { Console.WriteLine("Installation Canceled"); } else if (deploymentOperation.Status == Windows.Foundation.AsyncStatus.Completed) { Console.WriteLine("Installation succeeded!"); } else { returnValue = 1; Console.WriteLine("Installation status unknown"); } } catch (Exception ex) { Console.WriteLine("AddPackageSample failed, error message: {0}", ex.Message); Console.WriteLine("Full Stacktrace: {0}", ex.ToString()); return(1); } return(returnValue); }
/// <summary> /// Installs the App /// </summary> /// <returns>bool Installation status</returns> public static bool InstallAppBundle(string appBundleUri) { bool returnValue = true; try { Uri packageUri = new Uri(appBundleUri); Windows.Management.Deployment.PackageManager packageManager = new Windows.Management.Deployment.PackageManager(); Windows.Foundation.IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> deploymentOperation = packageManager.AddPackageAsync(packageUri, null, Windows.Management.Deployment.DeploymentOptions.None); ManualResetEvent opCompletedEvent = new ManualResetEvent(false); // this event will be signaled when the deployment operation has completed. deploymentOperation.Completed = (depProgress, status) => { opCompletedEvent.Set(); }; Logger.InsertLogLine(string.Format("Installing package {0}", appBundleUri)); Logger.InsertLogLine("Waiting for installation to complete..."); opCompletedEvent.WaitOne(); if (deploymentOperation.Status == Windows.Foundation.AsyncStatus.Error) { Windows.Management.Deployment.DeploymentResult deploymentResult = deploymentOperation.GetResults(); Logger.InsertLogLine(string.Format("Installation Error: {0}", deploymentOperation.ErrorCode)); Logger.InsertLogLine(string.Format("Detailed Error Text: {0}", deploymentResult.ErrorText)); returnValue = false; } else if (deploymentOperation.Status == Windows.Foundation.AsyncStatus.Canceled) { Logger.InsertLogLine("Installation Canceled"); returnValue = false; } else if (deploymentOperation.Status == Windows.Foundation.AsyncStatus.Completed) { Logger.InsertLogLine("Installation succeeded!"); } else { returnValue = false; Logger.InsertLogLine("Installation status unknown"); } } catch (Exception ex) { Logger.InsertLogLine(string.Format("AddPackageSample failed, error message: {0}", ex.Message)); Logger.InsertLogLine(string.Format("Full Stacktrace: {0}", ex.ToString())); return false; } return returnValue; }