Por que o dispositivo portátil ignora o valor da chave do Registro “FileSyncPath”?

Não queremos sincronização de arquivos entre o dispositivo portátil e o PC.

O dispositivo portátil coloca certos arquivos (banco de dados SQL CE) na pasta \ Meus documentos no dispositivo portátil. Esses são, em particular, os arquivos que não queremos sincronizados com o PC.

Eu adicionei primeiro "sdf" (e "SDF" apenas para ter certeza) à chave de registro "ExcludeExts". Isso não ajudou. Alterei as chaves de registro "FileSyncPath" e "NoSubfolderIn" da pasta "Meus documentos" para a pasta "perfis":

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);
    }
}

A pasta profiles possui apenas outra pasta, que deve ser ignorada devido à chave do Registro "NoSubfolderIn":

As mudançaster foi gravado no registro no dispositivo:

... mas ainda recebo o arquivo .SDF de \ Meus documentos sincronizado no PC:

Por quê? Alterar a localização do arquivo .SDF no dispositivo seria a solução (IOW, mova-a de "Meus documentos", que a sincronização do arquivo parece querer usar, não importa o que)? Ou preciso também atualizar pastas de registro adicionais do Windows CE Services? Curiosamente, existem três no dispositivo, além de uma pasta "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

Essas chaves do registro são apenas "provocativas"? Estou faltando alguma coisa aqui?

ATUALIZAR

Adicionei essas entradas para colocar os mesmos valores nos outros dois locais no registro do dispositivo portátil, onde há uma pasta "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.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);
}

... e ainda tenho o arquivo sendo sincronizado! Céus para Murgatroid, o que um gato deve fazer quando seu queijo continua sendo movido desta maneira?!?

ATUALIZAÇÃO 2

Foi assim que resolvi o dilema: salve os arquivos em questão (arquivos * .SDF na versão atual, arquivos * .sqlite na próxima versão) em um local diferente do que é definido como o valor "FileSyncPath". Especificamente, no meu caso, mudei o "FileSyncPath" para o que sempre havia sido "Meus Documentos", mas mudei onde estava salvando os arquivos que não queria que fossem sincronizados, para uma pequena pasta inócua chamada "perfis . " Parece funcionar muito bem agora: nada está sendo sincronizado com o PC. O ActiveStync está mostrando uma mensagem de erro, mas acho que foi feito apenas para não roubar os arquivos e está simplesmente "desabafando".

Ou pode ser mais seguro ao refatorar continuar salvando os dados onde você sempre tem, mas simplesmente altere os valores do "FileSyncPath" (e talvez o "NoSubfolderIn", embora provavelmente seja desnecessário) os valores do registro de chave para algo diferente de onde os dados está sendo armazenado (ou em um local diferente daquele onde os arquivos que você não deseja sincronizar existem).

questionAnswers(0)

yourAnswerToTheQuestion