Pourquoi le périphérique de poche ignore-t-il la valeur de la clé de registre «FileSyncPath»?

Nous ne voulons pas que les fichiers soient synchronisés entre notre ordinateur de poche et le PC.

Le terminal mobile place certains fichiers (firebase database SQL CE) dans le dossier \ Mes documents du terminal. Ce sont en particulier les fichiers que nous ne voulons pas synchroniser avec le PC.

J’ai d’abord ajouté “sdf” (et “SDF” juste pour être sûr) à la clé de registre “ExcludeExts”. Cela n’a pas aidé. J’ai ensuite changé les clés de registre “FileSyncPath” et “NoSubfolderIn” du dossier “Mes documents” vers le dossier “profiles”:

private void UpdateRegistry() { RegistryKey key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows CE Services"); if (key != null) { key.SetValue("ExcludeExts", "lnk,tmp,cdb,mdb,sdf,SDF", RegistryValueKind.Ssortingng); key.SetValue("FileSyncPath", "\\profiles", RegistryValueKind.Ssortingng); key.SetValue("NoSubfolderIn", "\\profiles\\", RegistryValueKind.Ssortingng); } } 

Le dossier profiles n’a rien d’autre qu’un autre dossier, qui doit être ignoré à cause de la clé de registre “NoSubfolderIn”:

entrez la description de l'image ici

Les modifications ont été écrites dans le registre de l’appareil:

entrez la description de l'image ici

… mais le fichier .SDF de \ Mes documents est toujours synchronisé sur le PC:

entrez la description de l'image ici

Pourquoi? Le remplacement du fichier .SDF sur le périphérique serait-il la solution (IOW, déplacez-le de “Mes documents”, que la synchronisation des fichiers semble vouloir utiliser quoi qu’il en soit)? Ou dois-je également mettre à jour des dossiers de registre Windows CE Services supplémentaires? Curieusement, il y en a trois sur le périphérique, plus un dossier “Windows CE Tools”:

 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows CE Services <= It has one registry key, "DeviceFriendlyName" HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services <= shown in the scream shot above; it has several (7) registry keys HKEY_LOCAL_MACHINE\Windows CE Tools <= It has one registry key, "Platform" HKEY_LOCAL_MACHINE\Windows CE Services <= it's empty 

Ces clés de registre sont-elles juste des “taquineries”? Est-ce que j’ai râté quelque chose?

METTRE À JOUR

J’ai ajouté ces entrées afin de mettre les mêmes valeurs dans les deux autres emplacements du registre du terminal mobile où se trouve un dossier “Windows CE Services”:

 RegistryKey keyLocalWCES = Registry.LocalMachine.CreateSubKey(@"Windows CE Services"); if (null != keyLocalWCES) { keyLocalWCES.SetValue("GuestOnly", 00000001 RegistryValueKind.DWord); keyLocalWCES.SetValue("ExcludeExts", "lnk,tmp,cdb,mdb,sdf,SDF" RegistryValueKind.Ssortingng); keyLocalWCES.SetValue("FileSyncPath", "\\profiles", RegistryValueKind.Ssortingng); keyLocalWCES.SetValue("NoSubfolderIn", "\\profiles\\", RegistryValueKind.Ssortingng); } RegistryKey keyCurrentUser Registry.CurrentUser.CreateSubKey(@"SOFTWARE\Microsoft\Windows CE Services"); if (null != keyCurrentUser) { keyCurrentUser.SetValue("GuestOnly", 00000001 RegistryValueKind.DWord); keyCurrentUser.SetValue("ExcludeExts" "lnk,tmp,cdb,mdb,sdf,SDF", RegistryValueKind.Ssortingng); keyCurrentUser.SetValue("FileSyncPath", "\\profiles", RegistryValueKind.Ssortingng); keyCurrentUser.SetValue("NoSubfolderIn", "\\profiles\\", RegistryValueKind.Ssortingng); } 

… et j’ai toujours le fichier en cours de synchronisation! Cieux à Murgatroïde, que peut faire un chat lorsque son fromage ne cesse de bouger comme ça?!?

MISE À JOUR 2

Voici comment j’ai résolu le dilemme: enregistrer les fichiers en question (fichiers * .SDF dans la version actuelle, fichiers * .sqlite dans la version suivante) dans un emplacement différent de celui défini comme valeur “FileSyncPath”. Plus précisément, dans mon cas, j’ai remplacé le “FileSyncPath” par ce qu’il avait toujours été “Mes documents”, mais j’ai modifié l’emplacement où je sauvegardais les fichiers que je ne voulais pas synchroniser, en un petit dossier inoffensif nommé “profils”. . ” Cela semble fonctionner plutôt bien maintenant: rien n’est synchronisé avec le PC. ActiveStync affiche un message d’erreur, mais je pense qu’il est clair qu’il n’a pas été en mesure de voler les fichiers et qu’il est simplement en train de “se défouler”.

Ou bien, lors de la refactorisation, il serait peut-être plus prudent de continuer à enregistrer les données là où vous les avez toujours, mais modifiez simplement les valeurs du “FileSyncPath” (et peut-être du “NoSubfolderIn” bien que ce soit probablement inutile), les valeurs de registre de clés étant différentes est en cours de stockage (ou dans un emplacement autre que celui où se trouvent les fichiers que vous ne souhaitez pas synchroniser).