AddPackageAsync() public method

public AddPackageAsync ( [ packageUri, [ dependencyPackageUris, [ deploymentOptions ) : DeploymentProgress>.IAsyncOperationWithProgress
packageUri [
dependencyPackageUris [
deploymentOptions [
return DeploymentProgress>.IAsyncOperationWithProgress
コード例 #1
0
        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()));
            }
        }
コード例 #2
0
    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;
    }
コード例 #3
0
    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);
    }
コード例 #4
0
 /// <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;
 }