FileHelper pour Winrt - Windows Phone et Windows 8.1

 01/01/2019 |   Admin |  Xamarin


Il existe des API du Framework .NET qui n'existent pas dans les API .NET des Windows Store Apps.

Par exemple Sytem.IO, dans l'API .Net pour les Windows Apps ne contient pas System.IO.IsolatedStorage mais Windows.Storage.

Cette API fournit un comportement similaire mais son utiliastion est très différente. 

Après le développement de plusieurs applications Windows Store, j'ai remarqué que le développement d'une classe FileHelper serait utile.

En effet, des méthodes comme FileExists() ou FolderExists() ne sont pas proposés par Windows.Storage alors que leur utilisation est quasiment inévitable.

J'ai donc décidé de mettre ce code sur GitHub pour qu'il puisse être réutilisé et amélioré. Le code source ainsi que le sample d'une Universal Apps sont disponibles.

Voici la liste des fonctions majeures proposées :

FileHelper :

FileExistsAsync()

FolderExistsAsync()

GetFileStreamAsync()

GetContentFromFileAsync()

GetFileBytesAsync()

WriteToFileAsync()

ConvertStorageFileToBase64StringAsync()

EnumerateFilesAsync()

GetSubFoldersAsync()

DeserialiseXml<T>()

ZipHelper :

ZipFileAsync()

UnZipFileAsync()

Vous pouvez retrouver ce projet sur GitHub et le package nuget correspondant : Ph.WinRtFileHelper

Lire >>

Publier une application Windows sans passer par le Store et sans avoir de compte développeur

 01/01/2019 |   Admin |  Universal Windows Platform


Pour tester une application Windows store, vous serez quasiment obligé d'éxécuter l'application sur des tablettes et des PC en mode Debug sans passer par le Store.

Pour publier une application Windows 8 ou Windows 10 sans passer par le Store "SideLoading" il suffit de :

1) Créer les packages de l'application

Clic droit sur le projet, puis Windows Store > Créer des packages d'application...

Répondre Non à la question suivante, puis Suivant

Il faudra au moins sélectionner la cible x86 ou x64 en fonction de la plateforme ciblée.

2) Hack du script d'installation

Cette étape est nécessaire seulement si la machine cible n'est pas équipée de Visual Studio et que l'on ne désire pas saisir de compte développeur Windows.

Ouvrir le fichier "Add-AppDevPackage.ps1" généré précedemment, avec un éditeur de texte et rechercher la ligne suivante:

$NeedDeveloperLicense = CheckIfNeedDeveloperLicense

Remplacer par:

$NeedDeveloperLicense = $false

3) Installation de l'éxécutable

 Sur la tablette ou le PC client, copier le dossier généré précédemment. Ouvrir le dossier ayant la version désirée, puis faire un clic droit sur le fichier "Add-AppDevPackage.ps1" et "Exécuter avec PowerShell'

Suivre les instructions, appuyer sur entrer

Installation du certificat de test, entrer « Y / O / U » pour continuer (en fonction de la langue) 

Installation terminée, appuyer sur entrer

La tuile pour démarrer l’application apparait sur le menu de démarrage (Sur Windows 10, elle apparaitra dans le menu démarrer « applications récentes » 

4) Autoriser Windows à executer des applications de confiance (allow trusted apps to run) 

Comme dans l'étape 2, si Visual Studio est installé sur le poste, cette étape est inutile. Sinon il faudra mettre à jour une clé dans la base de registre.

Ouvrir l’éditeur de stratégie de groupe locale avec gpedit.msc et changer les 2 valeurs suivantes : (Seulement la première pour Windows 8)

En anglais : Local Computer Policy > Computer Configuration > Administrative Templates > Windows Components > App Package Deployment > Allow all trusted apps to install setting Les clés suivantes vienent dêtre créées :

HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Appx\AllowAllTrustedApps = 1 HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Appx\AllowDevelopmentWithoutDevLicence = 1

Pour Windows 10, il sera également nécessaire d’activer le mode développeur : Cortana -> « développeur ». De plus la clé de registre AllowDevelopmentWithoutDevLicence ne sera pas présente dans gEdit.

Et voila, votre application est installée sans être passé par le Store ;)

Lire >>

  • 1