Мне интересно, как работает Windows 7 VirtualStore, чтобы мое приложение Access 2010 работало так же, как и в Access 2003. Первая функция этого приложения - получать файлы с FTP и сохранять их в корневом каталоге.диска C. Он изначально был создан для работы в Access 2003 под Windows XP.
Поскольку я обновил свою ОС до Windows 7, но сохранил Access 2003, файлы были сохранены в VirtualStore, поэтому нетпроблема здесь, все работает.
Так как я обновил тоже Access, чтобы получить версию 2010 года, это больше не работает.Запись просто завершается сбоем, и больше ничего не происходит.
Мне сказали, что приложения, которые не получают надлежащего манифеста для UAC, автоматически перенаправляются в VirtualStore, поэтому, похоже, именно это происходит с Access 2003. Но вAccess 2010, он просто отказывает, даже не всплывающее окно с запросом прав записи UAC.
Итак, есть ли способ заставить эту функцию работать?Я знаю, что могу сказать писать прямо в расположение VirtualStore, и что я не должен писать в корень C :.Это просто для того, чтобы узнать, как работает этот механизм и как правильно настроить эту функцию.
Кстати, мне интересно, потому что я использую API-интерфейс wininet.dll.Неисправная функция записи - это FtpGetFile файла wininet.dll.Вот мой вызов функции:
FtpGetFile(ftp_ok, nomf, "c:\" & nomf, False, 0, &H0, 0)
Я использую 64-разрядную версию Windows 7 Pro 7600, 32-разрядную версию Access 2010 14.0.6023.100 и IE 8.0.7600.16385