Вопрос

У меня есть приложение, измененное для учета UAC в VISTA. Итак, теперь .mdb (файл JET или Access) находится в ProgramData \ MyApp \

Я понял, что когда мое приложение читает базу данных в первый раз, оно делает это из этого места ... но когда мое приложение выполняет запись в базу данных ... файл виртуализируется и переходит в Users \ MyUser \ AppData \ Local \ VirtualStore \ ProgramData \ MyApp . С этого момента мое приложение всегда находится в виртуализированном месте на диске.

Мое приложение работает, но если я продолжу в том же духе, база данных будет основана на пользователях, и нам действительно нужно делиться базой данных со всеми пользователями на ПК.

Я думал, что запись в папку ProgramData не вызовет механизм виртуализации.

Что мне не хватает?

Мне нужно установить разрешения для папки MyApp в ProgramData ??

Как я могу это сделать во время установки?

Спасибо людям ...

Дополнительная информация: Разработано с VS2003 VB.NET с использованием проекта установки VS.

Это было полезно?

Решение

Скорее всего, вам потребуется установить права на запись для всех пользователей во время установки.

Чтобы проверить, удалите виртуальную папку, вручную установите разрешения для папки и файлов ProgramData \ MyApp и посмотрите, работает ли это.

Что касается того, как сделать это прагматично во время установки, это действительно зависит от того, какую технологию вы используете.

Другие советы

У меня тоже были проблемы, кажется, однажды Vista решает виртуализировать файл, и единственный способ остановить это - удалить виртуальный файл. При следующем использовании он будет использовать папку ProgramData.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top