コード例 #1
0
ファイル: XapDeployer.cs プロジェクト: ultrashot/wpbackup
 internal static XapDeployer.DeviceInfoClass[] GetDevices()
 {
     List<XapDeployer.DeviceInfoClass> list1 = new List<XapDeployer.DeviceInfoClass>();
     DatastoreManager datastoreManager1 = new DatastoreManager(CultureInfo.CurrentUICulture.LCID);
     IEnumerator<Platform> ienumerator1 = datastoreManager1.GetPlatforms().GetEnumerator();
     while (ienumerator1.MoveNext())
     {
         Platform platform1 = ienumerator1.Current;
         IEnumerator<Device> ienumerator2 = platform1.GetDevices().GetEnumerator();
         while (ienumerator2.MoveNext())
         {
             Device device1 = ienumerator2.Current;
             XapDeployer.DeviceInfoClass dev = new XapDeployer.DeviceInfoClass(platform1.Id.ToString(), device1.Id.ToString(), device1.Name);
             list1.Add(dev);
         }
     }
     return list1.ToArray();
 }
コード例 #2
0
        internal static XapDeployer.DeviceInfoClass[] GetDevices()
        {
            List <XapDeployer.DeviceInfoClass> list1 = new List <XapDeployer.DeviceInfoClass>();
            DatastoreManager       datastoreManager1 = new DatastoreManager(CultureInfo.CurrentUICulture.LCID);
            IEnumerator <Platform> ienumerator1      = datastoreManager1.GetPlatforms().GetEnumerator();

            while (ienumerator1.MoveNext())
            {
                Platform             platform1    = ienumerator1.Current;
                IEnumerator <Device> ienumerator2 = platform1.GetDevices().GetEnumerator();
                while (ienumerator2.MoveNext())
                {
                    Device device1 = ienumerator2.Current;
                    XapDeployer.DeviceInfoClass dev = new XapDeployer.DeviceInfoClass(platform1.Id.ToString(), device1.Id.ToString(), device1.Name);
                    list1.Add(dev);
                }
            }
            return(list1.ToArray());
        }
コード例 #3
0
            internal XapDeployer.DeployState Deploy(XapDeployer.DeviceInfoClass device, XapDeployer.DeployBehaviourType DeployBehaviourType, ref Exception Exception)
            {
                XapDeployer.DeployState Deploy;

                Exception = null;
                bool flag = !File.Exists(XapPath);

                if (flag)
                {
                    Deploy = XapDeployer.DeployState.NotFound;
                }
                else
                {
                    flag = !IsValid;
                    if (flag)
                    {
                        Deploy = XapDeployer.DeployState.InvalidXap;
                    }
                    else
                    {
                        string tmpXapFile = Path.GetTempFileName();
                        File.Copy(XapPath, tmpXapFile, true);
                        File.SetAttributes(tmpXapFile, FileAttributes.Normal);
                        XapDeployer.DeviceInfoClass devinfo = device;
                        XapDeployer.DeployResult    Result  = XapDeployer.InstallApplication(devinfo, Info.Guid, Info.PlatformVersion, "NormalApp", Info.TempIconFileName, tmpXapFile, DeployBehaviourType, ref Exception);
                        File.Delete(tmpXapFile);
                        flag = (Result == XapDeployer.DeployResult.DeployError) | (Result == XapDeployer.DeployResult.NoConnect) | (Result == XapDeployer.DeployResult.NotSupported);
                        if (flag)
                        {
                            Deploy = XapDeployer.DeployState.DeployError;
                        }
                        else
                        {
                            Deploy = XapDeployer.DeployState.Success;
                        }
                    }
                }
                return(Deploy);
            }
コード例 #4
0
 internal static XapDeployer.DeployResult InstallApplication(XapDeployer.DeviceInfoClass DeviceInfoClass, Guid appGuid, Version appVersion, string applicationGenre, string iconFile, string xapFile, XapDeployer.DeployBehaviourType DeployBehaviourType, ref Exception Exception)
 {
     Exception = null;
     try
     {
         DatastoreManager datastoreManager1 = new DatastoreManager(CultureInfo.CurrentUICulture.LCID);
         if (datastoreManager1 != null)
         {
             Platform platform1 = datastoreManager1.GetPlatform(new ObjectId(DeviceInfoClass.PlatformId));
             if (platform1 != null)
             {
                 Device device1 = platform1.GetDevice(new ObjectId(DeviceInfoClass.DeviceId));
                 if (device1 != null)
                 {
                     device1.Connect();
                     SystemInfo systemInfo1 = device1.GetSystemInfo();
                     Version    version1    = new Version(systemInfo1.OSMajor, systemInfo1.OSMinor);
                     bool       flag1       = appVersion.CompareTo(version1) > 0;
                     if (flag1)
                     {
                         device1.Disconnect();
                         return(XapDeployer.DeployResult.NotSupported);
                     }
                     flag1 = device1.IsApplicationInstalled(appGuid);
                     if (flag1)
                     {
                         bool flag2 = DeployBehaviourType == XapDeployer.DeployBehaviourType.SkipApplication;
                         if (flag2)
                         {
                             device1.Disconnect();
                             return(XapDeployer.DeployResult.Success);
                         }
                         else
                         {
                             RemoteApplication remoteApplication1 = device1.GetApplication(appGuid);
                             flag2 = DeployBehaviourType == XapDeployer.DeployBehaviourType.ForceUninstall;
                             if (flag2)
                             {
                                 remoteApplication1.Uninstall();
                             }
                             else
                             {
                                 flag2 = DeployBehaviourType == XapDeployer.DeployBehaviourType.UpdateApplication;
                                 if (flag2)
                                 {
                                     remoteApplication1.UpdateApplication(applicationGenre, iconFile, xapFile);
                                     device1.Disconnect();
                                     return(XapDeployer.DeployResult.Success);
                                 }
                             }
                         }
                     }
                     device1.InstallApplication(appGuid, appGuid, applicationGenre, iconFile, xapFile);
                     device1.Disconnect();
                     return(XapDeployer.DeployResult.Success);
                 }
             }
         }
     }
     catch (Exception e)
     {
         return(XapDeployer.DeployResult.DeployError);
     }
     return(XapDeployer.DeployResult.DeployError);
 }