Почему портативное устройство игнорирует значение раздела реестра «FileSyncPath»?

Нам не нужна синхронизация файлов между нашим карманным устройством и ПК.

Портативное устройство помещает определенные файлы (база данных SQL CE) в папку \ My Documents на контроллере. Это, в частности, файлы, которые мы не хотим синхронизировать с ПК.

Сначала я добавил «sdf» (и «SDF» просто для уверенности) в раздел реестра «ExcludeExts». Это не помогло. Затем я изменил ключи реестра «FileSyncPath» и «NoSubfolderIn» из папки «Мои документы» в папку «анкеты»:

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

В папке с профилями есть только другая папка, которую следует игнорировать из-за раздела реестра «NoSubfolderIn»:

Переменыиметь Записано в Реестр на устройстве:

... но я все еще получаю файл .SDF из \ My Documents, синхронизированный с ПК:

Зачем? Будет ли решение проблемы с тем, где файл .SDF хранится на устройстве (IOW, переместите его из «Мои документы», который синхронизация файлов, кажется, хочет использовать, несмотря ни на что)? Или мне нужно также обновить дополнительные папки регистрации Windows CE Services? Как ни странно, на устройстве их три, а также папка «Инструменты 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

Эти ключи реестра просто "дразнят"? Я что-то здесь упускаю?

ОБНОВИТЬ

Я добавил эти записи, чтобы поместить те же значения в два других места в реестре контроллера, где есть папка «Службы 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);
}

... и файл все еще синхронизируется! Небеса для Мургатроида, что делать кошке, когда его сыр постоянно перемещается?!?

ОБНОВЛЕНИЕ 2

Вот как я решил дилемму: я сохраняю рассматриваемые файлы (файлы * .SDF в текущем выпуске, файлы * .sqlite в следующем выпуске) в другом месте, чем то, которое установлено как значение «FileSyncPath». В частности, в моем случае я изменил «FileSyncPath» обратно на то, что всегда было «Мои документы», но изменил место, где я сохранял файлы, которые я не хотел синхронизировать, на безобидную на вид маленькую папку с именем «profile» «. Кажется, что теперь он работает довольно хорошо: ничего не синхронизируется с ПК. ActiveStync показывает ошибку сообщения, но я думаю, что это просто сделано, что он не мог украсть файлы, и просто "сдувает пар".

Или, возможно, при рефакторинге было бы безопаснее сохранять данные там, где они всегда есть, но просто измените значения реестра ключей FileSyncPath (и, возможно, NoSubfolderIn, хотя это, вероятно, и не нужно) на что-то другое, чем данные хранится (или не в том месте, где существуют файлы, которые вы не хотите синхронизировать).

Ответы на вопрос(0)

Ваш ответ на вопрос