Что такое расширение файла MDE? Открытие MDE файлов Файл mde

Статья в основном посвящена методам защиты баз данных от незаконного копирования, то есть попросту - от воровства. Общий подход, изложенный в статье, применим к базам данных различного формата, а не только к базам Access. Но изложение ведется именно для баз Access, что может несколько затруднить понимание для читателей, не знакомых с ним.
Помимо защиты в статье рассматривается еще ряд вопросов, близких к этой теме.

Вступление.

Если вы противник формата mde, или вы не знаете, где его применять, и, тем более, зачем его защищать, то у вас еще нет проблем с продажей вашей программы. И для вас статья носит чисто теоретический характер.
А вот если проблемы есть, то надеюсь, что некоторый накопленный опыт продаж программ на Access, может помочь вам в их разрешении.

Но не спешите разделить радость шефа. Может он не знает, что: "Разработка готового продукта стоит примерно в три раза дороже программы для собственных нужд (см. "Мифический человеко-месяц" Фредерика Брукса)". http://www.ashmanov.com/pap/obspro.phtml

И что для вас это означает работу, примерно вдвое большую, чем начальная разработка программы. Работу, которая включает в себя многое, не только доработку программы. Но и ее тоже. В частности, в программе надо сделать:
- специальный режим демоверсии;
- защиту от несанкционированного копирования.

В целом статья посвящена второму вопросу, но немного ниже будет сказано и о первом.

Принимаясь за придание программе товарного вида, вы вливаетесь в обширные ряды шароварщиков, у которых так много общих проблем, что для их обсуждения они создали свои клубы. Например, http://www.softshape.com/swrus/
Отмечу, что в числе шароварщиков акцессистов еще очень мало.

Режим демоверсии.

Для создания режима демоверсии обычно применяется один из двух методов:
- ограничение времени работы программы (стандарт - месяц);
- ограничение функций программы. Для Access чаще всего применяется ограничение количества записей в некоторых таблицах.

В обоих случаях следует где-то хранить данные, задающие режим демо. И написать программу перевода вашей базы из состояния демо в рабочее.

Если вы предоставите потенциальному покупателю демоверсию в формате mdb, то, вполне возможно, этим все и закончится. Или ваша первая продажа окажется последней. Причина изложена в статье "Защита баз mdb" . База легко вскрывается опытным акцессистом, ваш режим демо снимается и база переводится в рабочее состояние. Так же не исключено, что, по заказу приятеля-конкурента, другой программист, слегка поменяв внешнее оформление вашей программы, может приступить к ее распространению. Такие случаи были. Например, с программой TurWin. (http://www.arimsoft.ru/soft/turwin.shtml)

Так что, забудьте о продажах в формате mdb. Без формата mde в Shareware базах вам не обойтись. Но так ли он надежен, этот формат mde? Нельзя ли его перевести в формат mdb? Этот вопрос настолько часто повторяется на форумах по Access, что это уже есть предложения - повесить на входе в форум ответ: "Нельзя!". Но многие интересуются подробностями - "А почему, собственно, нельзя?".

О переводе формата mde в формат mdb.

Microsoft разработал формат mde именно как средство защиты объектов базы данных. Идея - дать формат базы, лишенный исходных кодов и быстрее исполняемый. Вроде формата exe по сравнению с программой в исходных кодах, написанной на С++.

Но пароль владельца базы mde получить также легко, как и для формата mdb. То есть таблицы, макро, запросы можете считать полностью доступными кому угодно. Защита форм и отчетов построена на значении одного(!) байта в файле (А-1997, А-2000). Если его обнулить, то и они полностью доступны для редактирования.
Не могу не отметить, что подход Microsoft к защите файлов Access близок к уровню полной безответственности. И это при наличии других систем, отвечающим требованиям защищенности уровня С-2 (Пентагон)!
Остаются скрытыми только исходные тексты модулей. В файле mde их действительно нет. Они заменены на так называемые Р-коды. Можно ли их перевести в исходные коды? Я думаю, что можно. Это чисто техническая, хотя и трудоемкая задача. Осложненная непрерывным изменением форматов Р-кодов не только для разных версий Access, но в разных сборках одной версии. Для примера, измените свойство базы Build и посмотрите на реакцию Access. Для А-1997 я менял его с 5903 на 03. Access сообщил о перестроении Р-кодов. Думаю, что по этим причинам, а также по причине чисто хакерского характера работы, она до сих пор не сделана. Так что Р-коды остаются последним не взятым бастионом в задаче перевода mde в mdb.
Остается надеяться на его стойкость и на то, что Microsoft когда-нибудь поменяет свое отношение к защите баз Access.

Итак, формат mde защитит вашу базу от наглого воровства и не даст перевести ее в рабочий режим из состоянии демоверсии. Второе - только в том случае, если вы хорошо спрятали данные, задающие режим демо. О том, как их хорошо спрятать - ниже.
Но он никак не защитит от установки вашей программы именно на пять, а не на восемь компьютеров. Что еще хуже, он так же не защитит от передачи вашей программы в другие фирмы. Например, ваш первый покупатель возьмет и подарит (или продаст по дешевке) вашу программу еще одной фирме. А та - дальше.
Тут надо принимать меры защиты. А защита есть только одна - привязка программы к компьютеру.

Как привязать программу к компьютеру.

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

1.Внести запись о программе и ее состоянии в реестр.
Это стандартный подход. Однако есть программы, отслеживающие все обращения к реестру и позволяющие найти и скопировать разрешающую запись. Далее ваша программа распространяется вместе файлом записи в реестр. Этим приемом часто пользуются, например, при несанкционированном лицензировании элементов ocx.

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

3.Внести запись в нестандартное место (флеш-память, запасные треки на диске, пустые кластеры на диске, пометив из как испорченные, дописать свою информацию к стандартным программам и т.д).
Это путь вирусописателей. Идти вместе с ними не следует. К тому же вы неизбежно падете жертвой антивирусных программ.

4. Добавить к компьютеру уникальное устройство.
Не стоит перечислять эти устройства. Главный их недостаток - их надо доставлять покупателю. А если у вас продажи по Интернет? Нужна ли вам головная боль от проблем доставки этих устройств, а также от выхода их из строя? Как универсальное решение этот подход явно не применим. Хотя он широко рекламируется фирмами, производящими эти устройства.

Другое направление - не помечать компьютер, а найти и запомнить его уникальные характеристики. Это направление изложено в статье Сергея Литовского "Система регистрации копий программы". http://nsa.chat.ru/Secur_RegProg.html . По-моему, оно значительно лучше.

Список доступных характеристик компьютера, данный в этой статье, можно еще увеличить. Однако и приведенный там список слишком велик. Дело в том, что любое изменение контрольных характеристик приводит к тому, что ваша программа прекращает работу. Дальше покупатель обращается к вам, и вы должны принимать меры для разбора сложившийся ситуации, решая вопрос: "Воруют или нет?", и выходить из нее.
Например, первоначально моя программа запоминала название компьютера, название диска С и его SerialNumber. Однако название компьютера и даже диска пользователи меняют с легкостью необыкновенной. Не думая о последствиях, о которых их, естественно, предупреждали. В конце концов я остановился только на SerialNumber диска С.
Но и с ним не все просто. Это вовсе не заводской номер диска, а номер, присваиваемый ему программой форматирования. При новом форматировании он изменится. Изменится он также при применении некоторых программ сжатия информации на диске. Далее, иногда он меняется при переустановке Windows. Причем не всегда. Пока не удалось понять, при какой именно переустановке он меняется. У меня в системах NT4, Win98, Win2000, WinMe он оставался одним и тем же. Но пользователи сообщают об изменении номера при замене Win98 на Win98. Хотелось бы найти действительно неизменную характеристику. Например, настоящий заводской номер физического диска. Говорят, что он есть. Но найти метод его чтения не удалось. Буду благодарен за любую информацию в этом направлении.

Остановимся на SerialNumber диска С. Будем запоминать и проверять его. Тем более, что избежать ситуации изменения характеристик компьютера невозможно в принципе. Например, фирма купила новый компьютер и желает переставить на него вашу программу. Для программы это и есть принципиальное изменение всех характеристик компьютера. Это должно быть обязательно допустимо. Так что надо подумать о логической схеме работы с SerialNumber.

Основная схема работы системы регистрации копий.

Основная схема придумана давно:
- демоверсия сообщает покупателю код компьютера;
- покупатель посылает его продавцу вместе со своими данными;
- продавец генерирует ключ перевода программы в рабочее состояние и посылает его покупателю;
- покупатель вводит ключ и программа переходит в рабочее состояние.

Но это основная схема. Различных вариантов ее реализации можно сделать очень много.

Ниже будет сделано еще несколько замечаний по предложениям С. Литовского. Поэтому, если вы еще не прочитали его статью, то сделайте это сейчас.

Сначала мелочь. Сосем не обязательно при выдаче кода компьютера шифровать его SerialNumber. Никакой уникальной информации он не несет. Поэтому код компьютера может быть просто ему равен.
Еще о SerialNumber:
- в некоторых случаях SerialNumber имеет отрицательный знак. Выдавайте его абсолютную величину. Путаницы меньше, а надежность та же.
- для чтения SerialNumber лучше использовать функцию из kernel32.dll GetVolumeInformation (у Литовского именно так - правильно), а не FileSystemObject. FSO работает не всегда (NT4).

Теперь основное замечание. Из текста "Пример процедуры для стартовой формы" следует, что каждая клиентская часть по Литовскому имеет свой регистрационный номер. И каждая привязана к своему компьютеру. Назовем это статической привязкой. В этом случае вам придется запрашивать код и высылать ключ для каждого компьютера в отдельности. При этой привязке перенос клиентской части с компьютера на компьютер без вас тоже обойтись не может.
Но главная трудность не в этом. Издалека вам не разобраться, то ли ваш покупатель заменяет парк компьютеров, запросив пять новых ключей взамен старых, то ли он его просто наращивает, слегка обманывая вас, то ли вообще передает вашу программу другой фирме, обманывая вас уже по крупному. Старые ключи-то у него остаются всегда...

Ниже излагается другая схема, которую можно назвать схемой динамической привязки программы к компьютерам. Суть состоит в следующем. Вместо запроса кодов всех компьютеров следует получить код одного (любого) компьютера из сети. Затем сгенерировать ключ перевода программы в рабочее состояние, включив в него следующую информацию:
- присланный вам SerialNumber;
- количество купленных лицензий (на скольких компьютерах программа будет работать);
- полное название организации, возможно с местом ее нахождения.
Ключ перевода должен быть обязательно зашифрован.

Программа обработки ключа должна:
- дешифровать ключ;
- сравнить SerialNumber с реальным;
- при совпадении записать в защищенную область (о ней ниже) базы с данными всю принятую информацию, дополнив SerialNumber именем компьютера. Имя компьютера имеет вспомогательное значение и используется для проведения деинсталляции.

Название организации - покупателя можно выводить в форме - заставке и в форме "О программе".

Далее, при старте любая клиентская часть должна прочитать SerialNumber своего компьютера и найти его в защищенной области. Если он есть, то программа молча работает дальше. Иначе она сравнивает количество записанных SerialNumber и количество лицензий. Если количество лицензий не исчерпано, то, после вопроса о правильности данной инсталляции, записывает новый SerialNumber и имя компьютера в защищенную область.
Таким образом, система учета даст возможность установить программу на любых пяти компьютерах сети и не позволит установить на шестой. Все клиентские части идентичны, что в свою очередь делает их Upgrade легко осуществимым.

Теперь нужно решить проблему переноса программы с компьютера на компьютер. Как указанно выше, она эквивалентна изменению SerialNumber какого-либо компьютера. Для этого дополним нашу программу системой деинсталляции. В программу включим форму, показывающую список имен компьютеров, на которых инсталлирована ваша программа. Список формируется, естественно, из данных, взятых из защищенной области. В форме сделаем кнопку "Деинсталлировать указанный компьютер". При ее нажатии из защищенной области удаляем указанный компьютер и его SerialNumber. Теперь, когда лицензия освободилась, покупатель может скопировать вашу программу на другой компьютер и запустить ее там. Программа проведет инсталляцию, чем и будет завершен процесс переноса. Таким образом, все перемещения покупатель может сделать сам, не обращаясь к вам. В том числе может сам бороться с последствиями изменения SerialNumber какого-либо компьютера. Он его деинсталлирует и установит заново. Забот у вас при применении динамической привязки станет несколько меньше.
Два замечания:
- удаление последней лицензии должно переводить программу снова в состояние демоверсии;
- если куплена лицензия только на один компьютер, то статическая и динамическая привязки совпадают. Но для Access работа на одном компьютере - не типичный случай. Да и разрешение на перенос (новый ключ) вы даете только на один компьютер, рискуя не очень многим.

При динамической привязке незаметно оказалась решена еще одна, ранее не указанная проблема: регистрация докупки лицензий. Если покупатель введет ключ с увеличенным количеством лицензий, то программа заменит содержимое защищенной области и будет заново инсталлировать компьютеры. Хотя здесь возможно иное решение: использование ключа другого формата, отрабатывая который, программа просто увеличит количество лицензий, допуская новые инсталляции.

Теперь вы готовы вести динамический учет компьютеров в сети. И программу, кажется, можно ставить покупателю.

Однако, что будет, если он решит подарить ее дружественной фирме? Для этого он деинсталлирует все компьютеры, кроме одного, и в этом виде передаст базу другой фирме. Далее инсталлирует свои компьютеры снова и будет работать как прежде. А дружественная фирма проведет инсталляцию своих компьютеров. То есть эта схема не защищена от незаконного копирования с разрешения законного владельца. Проблему надо решать. Отметим, что и в случае статической привязки она существует, только переносится на ваше усмотрение при обращении владельца за новыми ключами взамен старых. А ваше решение, как это не печально, в случае удаленности от фирмы-покупателя может быть только одно: дать ей новые ключи. То есть, в статической схеме от этой ситуации по существу защиты нет.

Защита от незаконного копирования с разрешения законного владельца.

Хочу отметить, что такая задача обычно шароварщиками не ставится и не решается. Принципиальное решение этой задачи заключается в том, чтобы считать и запомнить уникальную характеристику сети в целом. К сожалению, я не знаю такой устойчивой характеристики и буду рад о любой информации о ней. Реально применяю схему, которая тоже дает защиту, но с небольшой дырой.
Схема заключается в следующем:
- описание компьютера (номер, имя) пополняется еще одним полем - датой инсталляции;
- при вводе ключа системы дата для этого компьютера устанавливается нулевой, что означает "вечное" использование;
- если инсталляция происходит при запуске других программ-клиентов, то дата записывается равной текущей дате;
- при старте любой клиентской программы, как было указано выше, проводится поиск в защищенной области своего SerialNumber. При его нахождении дополнительно проверяется дата инсталляции. Если она равна нулю, то она обнуляется и у всех остальных компьютеров. То есть они становятся тоже "вечными". А если она не нулевая и прошло более 20 дней, то выводится предупреждение о незаконном копировании и рекомендация немедленно обратиться к продавцу. Через 31 день программа сообщает: "Незаконное копирование!" и прекращает работу.

Логика схемы: если все в порядке, то программа обязательно запускается со стартового (начального) компьютера, что приводит к "вечной" установке всех компьютеров и делает их равнозначными.

Если ваш покупатель передал программу в другую организацию, деинсталлировав все компьютеры, кроме одного, то в другой организации запуска с этого единственного "вечного" компьютера никогда не будет. А все другие компьютеры, инсталлированные в другой организации получат ненулевую дату. Далее сработает защита от незаконного копирования по дате инсталляции.
Дыру в схеме найдите сами.

Защита от хакера.

Вся система защиты построена на использовании SerialNumber. А ведь можно определить и перехватить обращение к чтению этого номера, и подсунуть программе известный правильный номер, имея лицензию хотя бы на один компьютер. Далее программу можно свободно распространять вместе с примочкой, подсовывающей правильный номер. Для программы это будет выглядеть как работа на одном компьютере при реальной работе многих. Не обманывайтесь мыслью, что увеличив число считываемых характеристик, вы защититесь от подмены. Можно перехватить и подменить чтение любых характеристик.

Но есть защита и от подмены. При запуске ваша программа получает номер процесса, который изменить нельзя, не нарушив работу Windows. Давайте запомним и его при старте программы, дополнив текущие характеристики компьютера. И будем его проверять, скажем, через каждые две минуты. Если он изменится, то для программы это будет означать, что на одном компьютере ваша программа запущена дважды. Осталось запретить такой запуск, предупредив об этом покупателя. Тем самым вы защититесь и от хакера.

Хранение учетной информации (защищенная область).

Хранить ее надо, как было сказано выше, в общей базе с данными. Можно использовать естественное место хранения - таблицу, а можно хранить в своих специально созданных Properties. Причем можно создать такие Properties, которые будут недоступны для программ печати свойств, построенных на их переборе. Например, Properties системной таблицы MSysQueries. Забавное свойство Access: распечатать нельзя, а напрямую читать и писать можно. Можно пойти еще дальше, используя Properties поля Expression системной таблицы MSysQueries. Так я вначале и сделал. Но оказалось, что это не здорово. Базы Access имеют свойство портиться. А один из методов восстановления - импорт данных. Но при импорте эти Properties не переписываются. Приходится установочную информацию либо вводить заново, либо переписывать спецпрограммой. То и другое осложняет жизнь. Лучшим выходом оказалось хранение информации просто в таблице, но в зашифрованном виде. Именно в шифрации и в контрольных суммах, учитывающих каждый байт хранимой информации, состоит защита установочной информации.

Особое внимание следует уделить алгоритму шифрации. Типичные ошибки демонстрирует статья Новикова и комментарий к ней Крамарева. http://nsa.chat.ru/Secur_Crypt.html . Если шифрация вскрыта, то все ваши усилия пойдут прахом. Рекомендую обратиться к алгоритму RSA: http://www.leadersoft.ru/subscribe/sub/sub32.htm . Хотя сам использую другой алгоритм. Но он пусть останется в тени.
В. Крамарев дал ссылку на хороший обзор методов шифрования:
http://www.ssl.stu.neva.ru/psw/crypto.html

Заключение.

Защита баз mde от незаконного копирования - необходимая, но не самая трудоемкая часть превращения вашей программы в товарный продукт. Вот еще некоторые другие: восстановление упавших баз ваших клиентов, решение проблем работы на мониторах с разным разрешением, Upgrade не только клиентской части, но и самой структуры данных и обеспечение работы со старыми структурами, автоматизация Upgrade в больших сетях, система настройки внешнего вида форм под вкусы разных пользователей, и, наконец, самая нелюбимая программистами часть - подробный контекстный хелп программы, учитывающий невысокую квалификацию ваших будущих пользователей.
Так что: "Не спешите разделить радость шефа" ...

Выдать разрешения на отдельные столбцы таблицы можно, используя запросы. При этом можно предоставить пользователю возможность добавлять или удалять записи, даже если он не имеет прав на чтение данных из таблицы. Например, возможна ситуация, когда в базе данных сотрудников нужно от пользователей базы скрыть информацию о доходах сотрудников. Как это можно делать, рассмотрим на примере.

Пример 2 . Предположим, что в защищенной базе данныхМоя БД (см. пример1) содержится таблицадетали , в которой указана цена каждой детали. Пусть пользователюМаша надо запретить доступ к полюцена , а к остальным полям этой таблицы разрешить доступ. Для решения этой задачи нужно выполнить следующие действия:

    открыть базу данных Моя БД с правами администратора;

    создать запрос, который будет выбирать все поля из таблицы детали, кроме поля с ценой детали

SELECT детали.номерд, детали.имяд

FROM детали;

    отобрать права у Маши на любые действия с таблицей детали;

    оставить у Маши права на открытие и монопольный доступ к базе данных, а также на другие таблицы;

    открыть запрос в режиме конструктора;

    открыть окно свойств запроса и установить значение "владельца" свойству "При запуске предоставляются права" и закрыть запрос;

    сметить владельца. Сделать владельцем таблиц Машу, а владельцем запроса - пользователя Admin;

    не забыть удалить все права у группы Users , поскольку по умолчанию этой группе даны все права;

    если база данных открывалась для администратора Adminбез пароля, то установить дляAdminпароль, как было сказано в примере 1;

    закрыть базу данных, затем снова открыть ее от имени Маши и убедиться, что Маша не может читать данные из таблицы детали, но может просматривать данные без цены из этой таблицы через запрос;

    установить для Маши непустой пароль.

      1. Снятие защиты

В некоторых случаях бывает необходимо снять защиту базы данных. Если перед установкой защиты была создана резервная копия базы данных, это делается легко. В простейшем случае для снятия защиты нужно выполнить следующую последовательность действий:

    зарегистрируйтесь в системе как член группы Admins(например, можно использовать учетную запись пользователяадмин , созданного в предыдущем разделе);

    дайте пользователю Adminправа администратора, включив его обратно в группуAdmins;

    выдайте группе Usersполные права доступа ко все объектам базы данных;

    сделайте владельцем базы пользователя Admin;

    закройте и заново запустите MSAccess;

    зарегистрируйтесь в системе как пользователь Admin(в окне входа заменитеадмин наAdmin);

    задайте пользователю Adminпустой пароль.

    1. Создание mde-файла

Прежде чем создавать файл с расширением.MDE, рекомендуется создать резервную копию базы данных, поскольку возврат отMDE-файла кMDB-файлу невозможен.

Чем же отличается MDE-файл отMDB-файла?

MDE-файл является базой данных, в которой все программы, созданные вMDB-файле, сохранены в скомпилированном виде. Поэтому просмотр и редактирование исходных кодов невозможен. Кроме того, изменение таких объектов базы данных, как формы, отчеты и модули, также невозможен. Режим конструктора для них оказывается недоступным. Можно вносить изменения только в таблицы и запросы.

Если же какие-то недоступные в MDE-файле объекты потребуют доработки или изменения, то следует вернуться к сохраненномуMDB-файлу, сделать необходимые изменения, а затем заново создатьMDE-файл. Создать базу данных в видеMDE-файла можно, имея права администратора, так:

    открыть исходную базу данных (MDB-файл);

    исполнить команду меню

Сервис/Служебные программы/Создать MDE -файл ,

указав местоположение MDE-файла.

Файлы. MDEобычно создаются, когда разработчик хочет, чтобы пользователи не имели к исходному коду, а также к объектам интерфейса (формам и отчетам), и вмесе с тем разработчик не заинтересован в реализации полной системы обеспечения защиты на уровне пользователя. Хотя, если такая защита реализована в исходномMDB-файле, то она действует и вMDE-файле.

Access creates databases in the .accdb file format. This format supports features such as multivalued fields, data macros, and publishing to Access Services.

You can convert databases that were created in Microsoft Office Access 2003, Access 2002, Access 2000, or Access 97 to the .accdb file format. Keep in mind, though, that a database in the .accdb file format cannot be opened or linked to by using versions of Access earlier than Access 2007.

In addition, the .accdb format does not support replication or user-level security. If you need to share your database with people who use Access 2003 or earlier, or if you need to use replication or user-level security, you must use the .mdb file format.

Note: Even though they share the same file format, some features in Access 2010 and newer versions cannot be used in Access 2007. For more information, see the section .

In this article

Convert an Access 2000 or Access 2002 - 2003 database to the .accdb format

To convert an Access 2000 or Access 2002 - 2003 database (.mdb) to the .accdb file format, you must first open the database by using Access 2007, Access 2010, Access 2013, or Access 2016, and then save it in the .accdb file format.

Convert an Access 97 database to the .accdb format

Starting with Access 2013, it’s no longer possible to directly convert an Access 97 database (.mdb) to the .accdb file format. However, you can open an Access 97 database in a previous version of Access, and then save the database in a format that Access 2013 can open. For example, here’s how to use Access 2003 to open an Access 97 database, then convert it to a format that can be opened by Access 2013:

    Open the Access 97 database in Access 2003.

    Click Tools > Database Utilities > Convert Database > to Access 2002-2003 file format .

    Enter a name for the database and click Save .

    Close Access 2003 and open Access 2013.

    Open the database and click File > Save As > Access Database (.accdb) > Save As > Save .

You can also use Access 2007 or Access 2010 to convert an Access 97 database to the .accdb format. When you open an Access 97 database in either of these two products, the Database Enhancement wizard appears to help convert the database to an .accdb format.

Use Access 2007 to open a database that was created or modified in newer versions

Because Access 2016, Access 2013, Access 2010, and Access 2007 all use the same file format, you can use Access 2007 to open a database that was created in Access 2010, Access 2013, or Access 2016 without first using the Save As command. However, Access 2016, Access 2013, and Access 2010 include some features that require Access 2016, Access 2013, and Access 2010 to run. Depending on the feature, one of the following might happen when you try to use the database in Access 2007:

    You cannot modify the object that uses the feature.

    You cannot open the object that uses the feature.

    You cannot open the database in Access 2007 at all.

У вас есть проблема с открытием.MDE-файлов? Мы собираем информацию о файловых форматах и можем рассказать для чего нужны файлы MDE. Дополнительно мы рекомендуем программы, которые больше всего подходят для открытия или конвертирования таких файлов.

Для чего нужен файловый формат.MDE?

Основная ассоциация файлового расширения .mde принадлежит типу и формату файлов "Защищенная/скомпилированная база данных Майкрософт Office Access" (.mde ), которые использовались предыдущими выпусками Майкрософт Office Access (MSOA) — приложения для работы с базами данными в составе коммерческого офисного пакета Майкрософт Office.

До выпуска 2007 в MSOA для сохранения баз данных JET (Joint Engine Technology) с макросами и модулями Visual Basic for Applications (VBA) использовался файловый формат MDB. Для защиты базы данных MSOA от изменений, а также для блокирования доступа к исходному коду VBA такая БД может быть сохранена в защищенном формате MDE. MSOA 2007 и последующие выпуски используют другой формат и тип файлов защищенных БД (.acc de).



Файл .mde — это файл базы данных JET MSOA, в котором все модули и макросы VBA сохранены в компилированном двоичном виде. Базу данных .mde можно открыть в MSOA, но нельзя ни изменить, ни полностью преобразовать или декомпилировать в исходный вид. Чтобы изменить защищенную базу данных .mde , все изменения должны вноситься в ее исходный вариант (.mdb) с последующей повторной компиляцией в файл .mde .

Существуют несколько утилит, обеспечивающих частичное извлечение таблиц и/или форм из защищенных баз данных .mde .

В ином значении расширение .mde также ранее встречалось в ассоциации с типом и форматом файлов "Модуль учебной версии ArchiCAD" (MDE), ранее использовавшимися применительно к специальной версии ПО ArchiCAD, которую GRAPHISOFT предоставляла на условиях бесплатной лицензии студентам и преподавателям в сфере архитектуры и дизайна. В последних версиях ArchiCAD формат MDE больше не поддерживается.

Программы для открытия или конвертации MDE файлов

Вы можете открыть файлы MDE с помощью следующих программ: 
Compiled Access Add-in Format

    Популярность

    3.4 (11 votes)

Что такое файл MDE?

Расширение файла MDE связано с файлами надстройки скомпилированного доступа, в которых хранится файл Microsoft Access MDA. Он используется этой программой для управления реляционными базами данных. Файл MDE также содержит исходный код VBA в двоичном формате для защиты содержимого в базе данных. Он имеет сжатый размер файла, который легко отправить. Вы можете запустить код VBA этого файла, но вы не можете редактировать его, если у вас нет полного доступа к базе данных.
Это также могут быть надстройки, которые используются в архитектурном программном обеспечении ArchiCAD для расширения его функциональных возможностей.

Программы, обслуживающие файл MDE

Мы надеемся, что помогли Вам решить проблему с файлом MDE. Если Вы не знаете, где можно скачать приложение из нашего списка, нажмите на ссылку (это название программы) - Вы найдете более подробную информацию относительно места, откуда загрузить безопасную установочную версию необходимого приложения.

Что еще может вызвать проблемы?

Поводов того, что Вы не можете открыть файл MDE может быть больше (не только отсутствие соответствующего приложения).
Во-первых - файл MDE может быть неправильно связан (несовместим) с установленным приложением для его обслуживания. В таком случае Вам необходимо самостоятельно изменить эту связь. С этой целью нажмите правую кнопку мышки на файле MDE, который Вы хотите редактировать, нажмите опцию "Открыть с помощью" а затем выберите из списка программу, которую Вы установили. После такого действия, проблемы с открытием файла MDE должны полностью исчезнуть.
Во вторых - файл, который Вы хотите открыть может быть просто поврежден. В таком случае лучше всего будет найти новую его версию, или скачать его повторно с того же источника (возможно по какому-то поводу в предыдущей сессии скачивание файла MDE не закончилось и он не может быть правильно открыт).

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла MDE мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся и отправьте нам свою информацию о файле MDE.