¿Por qué el dispositivo portátil ignora el valor de la clave de registro "FileSyncPath"?

No queremos la sincronización de archivos entre nuestro dispositivo portátil y la PC.

El dispositivo portátil coloca ciertos archivos (base de datos SQL CE) en la carpeta \ Mis documentos en el dispositivo portátil. Estos son, en particular, los archivos que no queremos sincronizar con la PC.

Primero agregué "sdf" (y "SDF" solo para asegurarme) a la clave de registro "ExcludeExts". Eso no ayudó. Luego cambié las claves de registro "FileSyncPath" y "NoSubfolderIn" de la carpeta "Mis documentos" a la carpeta "perfiles":

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.String);
        key.SetValue("FileSyncPath", "\\profiles",
RegistryValueKind.String);
        key.SetValue("NoSubfolderIn", "\\profiles\\",
RegistryValueKind.String);
    }
}

La carpeta de perfiles no tiene nada más que otra carpeta, que debe ignorarse debido a la clave de registro "NoSubfolderIn":

Los cambiostener escrito en el Registro en el dispositivo:

... pero sigo recibiendo el archivo .SDF de \ My Documents sincronizado con la PC:

¿Por qué? ¿Sería la solución cambiar dónde se almacena el archivo .SDF en el dispositivo (IOW, muévalo desde "Mis documentos", que parece que la sincronización de archivos quiere usar sin importar qué)? ¿O debo actualizar también las carpetas de registro adicionales de los Servicios de Windows CE? Curiosamente, hay tres en el dispositivo, más una carpeta "Herramientas de Windows CE":

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

¿Estas claves de registro son solo "burlas"? ¿Me estoy perdiendo de algo?

ACTUALIZAR

Agregué estas entradas, para poner los mismos valores en los otros dos lugares en el registro de la computadora de mano donde hay una carpeta de "Servicios de Windows CE":

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.String);
    keyLocalWCES.SetValue("FileSyncPath", "\\profiles",
RegistryValueKind.String);
    keyLocalWCES.SetValue("NoSubfolderIn", "\\profiles\\",
RegistryValueKind.String);
}

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.String);
    keyCurrentUser.SetValue("FileSyncPath", "\\profiles",
RegistryValueKind.String);
    keyCurrentUser.SetValue("NoSubfolderIn", "\\profiles\\",
RegistryValueKind.String);
}

... y todavía tengo el archivo sincronizado! Cielos a Murgatroid, ¿qué puede hacer un gato cuando su queso sigue moviéndose de esta manera?

ACTUALIZACIÓN 2

Así es como resolví el dilema: guardo los archivos en cuestión (archivos * .SDF en la versión actual, archivos * .sqlite en la próxima versión) en una ubicación diferente a la establecida como el valor "FileSyncPath". Específicamente, en mi caso, cambié "FileSyncPath" a lo que siempre había sido "Mis documentos", pero cambié el lugar donde guardaba los archivos que no quería sincronizar, a una pequeña carpeta de aspecto inocuo llamada "perfiles" ". Parece que funciona bastante bien ahora: no se está sincronizando nada con la PC. ActiveStync muestra un mensaje de error, pero creo que solo se hizo que no pudo robar los archivos, y simplemente está "desahogándose".

O bien, puede ser más seguro al refactorizar seguir guardando los datos donde siempre los tiene, pero simplemente cambie los valores de los valores de registro de clave "FileSyncPath" (y tal vez "NoSubfolderIn" aunque probablemente sea innecesario) a algo diferente de donde están los datos se está almacenando (o en una ubicación distinta de donde existen los archivos que no desea sincronizar).

Respuestas a la pregunta(0)

Su respuesta a la pregunta