Le hub d entreprise est une application de déploiement des applications mais aussi un outil de communication
Les méthodes clefs pour le management des applications (C#, C++, VB) InstallationManager.FindPackagesForCurrentPublisher : Cette méthode retourne le liste des packages installés avec le même identifiant (Publisher ID) que l application courante.. Cette méthode peut être utiliser pour afficher la liste des applications d entreprise disponibles. InstallationManager.AddPackageAsync Cette méthode démarre l installation en mode silencieux d une application. On peut utiliser la méthode IAsyncOperationWithProgress avec l objet retourné par la méthode pour connaître la progression de l installation. InstallationManager.GetPendingPackageInstalls Cette méthode retourne la liste des applications en cours d installation. Package.Launch(String) Cette méthode démarre une application d entreprise. On peut l utiliser pour démarrer une application déjà installée. Package.GetThumbnailToken() Cette méthode retourne un jeton qui permet de retrouver la vignette de l application. (Namespace Windows.Phone.Management.Deployment et Windows.ApplicationModel)
Exemples d utilisation de l API Package.GetThumbnailToken() InstallationManager.FindPackagesForCurrentPublisher InstallationManager.AddPackageAsync + IAsyncOperationWithProgress Package.Launch(String)
Mon hub (très) minimaliste. using Windows.Phone.Management.Deployment; using Windows.ApplicationModel; namespace MonHubMinimaliste public partial class MainPage : PhoneApplicationPage // Constructor public MainPage() InitializeComponent(); private void Button_Click_1(object sender, RoutedEventArgs e) // énumération des packages d'application disponibles IEnumerable<Package> packages = InstallationManager.FindPackagesForCurrentPublisher(); // lancement de l'application énumérée si OK de l'utilisateur foreach (Package package in packages) if (MessageBox.Show(package.Id.Name.ToString(), "Lancer? ", MessageBoxButton.OKCancel) == MessageBoxResult.OK) package.launch(""); private void Button_Click_2(object sender, RoutedEventArgs e) Uri uri = new Uri(@"http://www.contoso.fr/XAP/Inventaire.XAP"); string apptitle = "Inventaire"; Windows.Foundation.IAsyncOperationWithProgress<PackageInstallResult, uint> result; // Démarrage de l'installation en mode assynchrone result = InstallationManager.AddPackageAsync(appTitle, uri); // result peut être utilisée pour suivre la progression ou abandonner l'installation avec l'interface : IAsyncOperationWithProgress
Comment inclure des applications du store dans la liste des applications recommandées avec la classe MarketplaceDetailTask() A partir d un PC aller sur : http://www.windowsphone.com/fr-fr/store Sélectionner l application à installer Cliquer sur «installer» et sectionner l option «M'envoyer par e-mail les instructions nécessaires pour installer l'application» Sauvegarder la vignette de l application pour la réutiliser si besoin dans le hub d entreprise Sauvegarder l ID de l application contenue dans le «deep link» reçu dans le mail Dans le code C#, lister l application et afficher sa vignette (si besoin) Pour installer l application utiliser le code suivant: (Exemple installation de l application Skype) using Microsoft.Phone.Tasks; MarketplaceDetailTask marketplacedetailtask = new MarketplaceDetailTask(); marketplacedetailtask.contentidentifier = "c3f8e570-68b3-4d6a-bdbb-c0a3f4360a51"; marketplacedetailtask.show(); NB : les utilisateurs devront avoir une Live ID afin de pouvoir installer des applications du Store.
Developing a Company Hub app http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj720571(v=vs.105).aspx * Windows Intune example