首先必须要有一个服务提供升级推送查询
// Code to execute when the application is launching (eg, from Start)
        // This code will not execute when the application is reactivated
        private void Application_Launching(object sender, LaunchingEventArgs e)
        {
            updateServiceReference.UpdateSoapClient usp = new updateServiceReference.UpdateSoapClient();
            usp.CheckMobileUpdateCompleted += new EventHandler<updateServiceReference.CheckMobileUpdateCompletedEventArgs>(usp_CheckMobileUpdateCompleted);
            usp.CheckMobileUpdateAsync(1);
        }
 
        void usp_CheckMobileUpdateCompleted(object sender, updateServiceReference.CheckMobileUpdateCompletedEventArgs e)
        {
            if (e.Result == null)
            {
                return;
            }
            System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
            //string version = System.Reflection.Assembly.GetExecutingAssembly().FullName;
            //获取程序集的版本号,然后去掉.得到数字对比大小
            string version = assembly.GetCustomAttributes(false).OfType<System.Reflection.AssemblyFileVersionAttribute>().First().Version;
            if (int.Parse(e.Result.Ver) > int.Parse(version.Replace(".", "")))
            {
                if (MessageBox.Show(e.Result.UpdateLog, "升级提示", MessageBoxButton.OKCancel) == MessageBoxResult.OK)
                {
                    Microsoft.Phone.Tasks.MarketplaceDetailTask ms = new Microsoft.Phone.Tasks.MarketplaceDetailTask();
                    ms.ContentType = Microsoft.Phone.Tasks.MarketplaceContentType.Applications;
                    ms.ContentIdentifier = e.Result.DownPath;
                    ms.Show();
                }
            }
        }
05-03 22:16