I got an error during creating a installer for my web application(c#). The error is
Error 19 ‘msado20.tlb’ should be excluded because its source file ‘C:Program FilesCommon Filessystemadomsado20.tlb’ is under Windows System File Protection.
what does mean?
andynormancx
13.3k6 gold badges36 silver badges52 bronze badges
asked Aug 24, 2009 at 8:53
You need to exclude the file from the installer.
From MSDN
The specified file is a protected system file on Windows 2000, Windows XP, and Windows Server 2003. Protected system files are usually installed via operating-system service packs or separate setup packages, such as Windows Media Player or Internet Explorer. Including this file in an installer may cause instability if installed on operating systems that do not support protected system files. For example, by installing a component such as stdole.tlb outside of the System folder and registering it, you will overwrite the registration for the component under system-file protection. When your application is uninstalled, the component installed by the application is removed and the component under system file protection is
left in an unregistered state.
Bye.
answered Aug 24, 2009 at 9:02
RRUZRRUZ
134k19 gold badges355 silver badges482 bronze badges
1
Windows File Protection system stops important system files from getting over written. You installer doesn’t want to be installing files like this.
It looks like the file in question is part of Microsoft ADO. So rather than installing this file via your installer you need to make it requirement that the version of ADO that your application needs is installed.
answered Aug 24, 2009 at 9:04
andynormancxandynormancx
13.3k6 gold badges36 silver badges52 bronze badges
Как отключить защиту системных файлов
В операционной системе Windows, начиная с версии Millenium, включена защита системных файлов. Сделано это для дополнительной безопасности ОС, снижения риска выхода системы из строя при попадании на компьютер вредоносных программ. Но в этой ситуации есть свои минусы. Например, иногда не удается установить некоторые программы.
Вам понадобится
- — компьютер с ОС Windows;
- — утилита Tweaker.
Инструкция
Отключить защиту системных файлов операционной системы можно с помощью редактирования реестра. Нажмите «Пуск». Дальше выберите «Все программы», а в списке программ — «Стандартные». Найдите и откройте командную строку. В командной строке введите regedit. Нажмите клавишу Enter. Через секунду откроется окно редактора системного реестра.
В правом окне редактора есть список основных разделов. Найдите раздел HKEY_LOCAL_MACHINE. Рядом с ним есть стрелочка. Нажмите по ней. Таким способом вы откроете дополнительные подразделы, возле которых также есть стрелочка. Вам нужно открывать их в таком порядке SOFTWARE/Microsoft/Windows NT/CurrentVersion/. В CurrentVersion найдите строку Winlogon. Кликните по этой строке левой кнопкой мышки, выделив ее.
В правой части окна редактора реестра откроется список параметров. В этом списке вам необходимо найти параметр SFCDisable. Кликните по нему двойным левым щелчком мышки. В строке «Значение» введите dword:ffffff9d, после чего нажмите OK. Закройте окно редактора реестра. Теперь вы отключили защиту системных файлов. Если вам понадобится включить ее, вам придется вернуть параметру SFCDisable значение dword:00000000. Защита системных файлов опять будет включена.
Также для отключения защиты системных файлов можно использовать специальный Tweaker. Это утилита, которая может тонко настроить работу операционной системы. Скачайте Tweaker. При скачивании обязательно учитывайте версию вашей операционной системы. Если у вас Windows 7, то Tweaker должен быть именно для нее. Версии для разных ОС могут быть несовместимы.
Запустите Tweaker. Появится окно с основными настройками работы операционной системы. В этом окне напротив строки «Отключить system file protection SFC» установите флажок и нажмите «Применить». Защита будет снята.
Видео по теме
Войти на сайт
или
Забыли пароль?
Еще не зарегистрированы?
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
- Remove From My Forums
-
Question
-
Hi;
As you know one of the main section of System State backup is: System files that are under Windows File Protection. Now, how can I find which files are under Windows File Protection?
Thanks
Answers
-
Run diskshadow.exe to list writers. This will show you VSS Writers on your system and what files/folders they are protecting. All the Windows 2008 backup products use this information as part of their system state backups.
> diskshadow /l log.txt
DISKSHADOW> list writers
DISKSHADOW> exit
> notepad log.txt
Terry Carruthers EMC Corporation
-
Proposed as answer by
Friday, July 8, 2011 1:12 AM
-
Marked as answer by
R.Alikhani
Monday, July 11, 2011 3:45 AM
-
Proposed as answer by
Аннотация
В данной статье приведено описание механизма защиты файлов Windows (WFP).
Дополнительная информация
Защита файлов Windows (WFP) служит для предотвращения перезаписи программами важных файлов операционной системы. Такие файлы нельзя перезаписывать, поскольку они используются как самой операционной системой, так и другими программами. Защита таких файлов необходима для предупреждения возможных неполадок в работе операционной системы и установленного программного обеспечения.
Механизм WFP отвечает за защиту важных системных файлов, устанавливаемых вместе с Windows (например, файлы с расширениями dll, exe, ocx и sys, а также некоторые шрифты True Type). Проверка правильности версии защищенных системных файлов производится с помощью подписей файлов и файлов каталога, созданных в процессе подписывания. Замена защищенных файлов операционной системы возможна только посредством следующих механизмов.
-
При установке пакетов обновления для Windows с помощью программы Update.exe.
-
При установке исправлений с помощью программ Hotfix.exe и Update.exe.
-
При обновлении операционной системы с помощью программы Winnt32.exe.
-
При использовании веб-узла Windows Update.
Если для замены защищенного файла используется другой способ, функция WFP восстанавливает исходные файлы. При установке важных системных файлов установщик Windows не устанавливает и не заменяет их самостоятельно, а всегда использует механизм WFP, обращаясь к нему с запросом установки или замены защищенных файлов.
Принцип работы механизма защиты файлов Windows
Для защиты файлов операционной системы в WFP предусмотрены два механизма. Первый механизм работает в фоновом режиме и активируется после того, как WFP получает уведомление об изменении папки для файла из защищенной папки. После получения этого уведомления WFP определяет, какой файл был изменен. Если был изменен защищенный файл, WFP находит в файле каталога подпись защищенного файла для проверки правильности версии нового файла. Если версия является неправильной, новый файл заменяется исходным из папки кэша (если он там имеется) или источника установки. Поиск файла допустимой версии производится в следующем порядке.
-
Папка кэша (по умолчанию %systemroot%system32dllcache).
-
Путь к сетевому источнику установки, если он был использован для установки операционной системы.
-
Компакт-диск Windows, если он был использован для установки операционной системы.
Если файл удается найти в папке кэша или выполняется автоматическое обнаружение источника установки, файл заменяется без уведомления пользователя. Если WFP не удается автоматически найти файл ни в одном из этих местоположений, пользователь получает одно из следующих сообщений, в которых имя_файла — это имя замененного файла, а продукт — это используемый продукт Windows.
-
Защита файлов Windows
Файлы, нужные для правильной работы Windows, были заменены неизвестными версиями. Для обеспечения стабильной работы системы Windows необходимо восстановить оригинальные версии этих файлов. Вставьте компакт-диск продукт. -
Защита файлов Windows
Файлы, нужные для правильной работы Windows, были заменены неизвестными версиями. Для обеспечения стабильной работы системы Windows необходимо восстановить оригинальные версии этих файлов. Сетевая папка, из которой необходимо скопировать эти файлы, \серверобщий_ресурс, недоступна. Обратитесь к системному администратору или вставьте компакт-диск продукт.
Примечание. Если вход в систему был выполнен с учетной записью, которая не дает прав администратора, описанные выше диалоговые окна не отображаются. В таком случае эти диалоговые окна отображаются только после входа в систему с правами администратора. WFP ждет входа в систему администратора в следующих ситуациях.
-
Запись реестра SFCShowProgress отсутствует или содержит значение 1, а сервер настроен на проверку при каждом запуске компьютера; в таком случае WFP ждет входа с консоли, поэтому сервер RPC не запускается, пока не будет выполнена проверка. В течение этого времени компьютер не защищен.
Примечание. При этом сохраняется возможность подключения сетевых дисков и использования системных файлов, и для входа на сервер можно использовать службы терминалов. WFP не считает эти операции консольным входом и находится в состоянии ожидания неограниченно долго.
-
WFP должен восстановить файл из общего сетевого ресурса. Такая ситуация может возникнуть в случае, если в папке Dllcache нет требуемого файла или он поврежден. В этом случае у WFP может не быть требуемых учетных данных для доступа к общему ресурсу на носителе для установки по сети.
В качестве второго механизма защиты, обеспечиваемого WFP, используется средство проверки системных файлов (файл Sfc.exe). В конце работы режима графического интерфейса программы установки это средство проверяет, не были ли защищенные файлы изменены программами, установленными автоматически. Кроме того, программа Sfc.exe проверяет все файлы каталога, используемые для отслеживания правильных версий файлов. В случае отсутствия или повреждения любого из файлов каталога он переименовывается и восстанавливается из папки кэша. Если в папке кэша файл найти не удается, WFP запрашивает установку соответствующего носителя с новой копией файла каталога.
Средство проверки системных файлов предоставляет администратору возможность проверить версии всех защищенных файлов. Кроме того, это средство проверяет и повторно заполняет папку кэша (по умолчанию — %SystemRoot%System32Dllcache) Если папка кэша повреждена или стала непригодной для использования, для восстановления ее содержимого используется команда sfc /scanonce или sfc /scanboot.
Параметр SfcScan из раздела системного реестра
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon может принимать три значения. Возможные значения параметра SfcScan:
-
0x0 — не проверять защищенные файлы после перезагрузки системы (по умолчанию);
-
0x1 — проверять все защищенные файлы после каждой перезагрузки системы (устанавливается после запуска команды sfc /scanboot).
-
0x2 — проверить все защищенные файлы после перезагрузки системы (устанавливается после запуска команды sfc /scanonce).
По умолчанию резервные копии всех системных файлов хранятся в папке кэша, размер которой составляет 400 МБ (по умолчанию). Хранение резервных копий всех системных файлов не всегда желательно с точки зрения наличия свободного места на диске. Для изменения размера кэша измените значение параметра SFCQuota в следующем разделе реестра:
HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon. WFP хранит проверенные версии файлов на жестком диске в папке Dllcache. Количество хранимых файлов определяется значением параметра SFCQuota (по умолчанию 0xFFFFFFFF или 400 Мбайтов). Администратор может увеличивать или уменьшать значение параметраSFCQuota по своему усмотрению. Обратите внимание, что если для параметра SFCQuota установлено значение 0xFFFFFFFF, WFP хранит все защищенные файлы (приблизительно 2700 файлов).
Отсутствие в папке кэша копий некоторых системных файлов (независимо от значения параметра SFCQuota) возможно по двум причинам.
-
Недостаточно места на диске.
На компьютере под управлением Windows XP запись в папку Dllcache прекращается, когда на жестком диске объем оставшегося свободного места меньше суммы (600 МБ + максимальный размер файла подкачки).
На компьютере под управлением Windows 2000 запись в папку Dllcache прекращается, когда на жестком диске остается менее 600 МБ свободного места. -
Сетевая установка.
Если ОС Windows 2000 или Windows XP установлена по сети, файлы из папки i386lang не заносятся в папку Dllcache.
Кроме того, все драйверы в файле Driver.cab являются защищенными, но в папку Dllcache не записываются. WFP восстанавливает эти файлы непосредственно из файла Driver.cab без вывода пользователю запроса на предоставление носителя исходных файлов, однако при выполнении команды sfc /scannow файлы, содержащиеся в файле Driver.cab, записываются в папку Dllcache.
Если WFP обнаруживает изменение файла, не входящего в папку кэша, выполняется проверка версии измененного файла, используемой операционной системой в текущий момент. Если используемый в текущий момент файл имеет допустимую версию, он копируется в папку кэша. Если версия файла не является допустимой или файл отсутствует в папке кэша, WFP выполняет поиск источника установки. Если его найти не удается, WFP предлагает администратору установить соответствующий носитель для замены версии файла, находящегося в папке кэша.
Местонахождение папки Dllcache указывается параметром SFCDllCacheDir (REG_EXPAND_SZ) из следующего раздела реестра:
HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon По умолчанию параметр SFCDllCacheDir имеет значение %SystemRoot%System32. В качестве значения параметра SFCDllCacheDir может быть использован путь к папке на локальном диске. По умолчанию параметр SFCDllCacheDir в разделе HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon отсутствует. Таким образом, для изменения местонахождения папки кэша этот параметр необходимо добавить самостоятельно.
При запуске Windows значения параметров из раздела
HKEY_LOCAL_MACHINESoftwarePoliciesMicrosoftWindows NTWindows File Protection WFP копируются в соответствующие параметры в разделе
HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon. Следовательно, если в разделе HKEY_LOCAL_MACHINESoftwarePoliciesMicrosoftWindows NTWindows File Protection присутствуют параметры SfcScan, SFCQuota или SFCDllCacheDir, их значения имеют преимущество перед значениями аналогичных параметров в подразделе HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon.
Для получения дополнительных сведений о механизме WFP щелкните следующий номер статьи базы знаний Майкрософт:
222473 Настройки реестра для защиты файлов WindowsДля получения дополнительных сведений о средстве проверки системных файлов в Windows XP и Windows Server 2003 щелкните следующий номер статьи базы знаний Майкрософт:
310747 Описание средства проверки системных файлов Windows XP и Windows Server 2003 (Sfc.exe)Для получения дополнительных сведений о средстве проверки системных файлов в Windows 2000 щелкните следующий номер статьи базы знаний Майкрософт:
222471 Описание средства проверки системных файлов Windows 2000 (Sfc.exe) (Эта ссылка может указывать на содержимое полностью или частично на английском языке)
Для получения дополнительных сведений о механизме WFP посетите веб-узел корпорации Майкрософт по адресу:
http://msdn2.microsoft.com/en-us/library/aa382551.aspxДля получения дополнительных сведений об установщике Windows и механизме WFP посетите веб-узел корпорации Майкрософт по адресу:
http://msdn2.microsoft.com/en-us/library/aa372820.aspx
Нужна дополнительная помощь?
- Remove From My Forums
-
Question
-
Hi,
I have an application with windows media player attached to it.
When i tried to build setup it throws me an error
Error 7 ‘wmp.dll’ should be excluded because its source file ‘C:WINDOWSsystem32wmp.dll’ is under Windows System File Protection.
How to build setup for this.
Answers
-
have you tried to put wmp.dll into your References folder? or set in the WMP.DLL properties to COPY LOCAL to TRUE, and then try to rebuild your setup project
-
Proposed as answer by
Thursday, July 1, 2010 10:50 AM
-
Marked as answer by
YiChun Chen
Thursday, July 1, 2010 10:54 AM -
Unmarked as answer by
YiChun Chen
Thursday, July 1, 2010 10:54 AM -
Unproposed as answer by
YiChun Chen
Thursday, July 1, 2010 10:54 AM -
Marked as answer by
YiChun Chen
Monday, July 5, 2010 8:53 AM
-
Proposed as answer by
-
Hi Jayagopal,
Thank you for your post!
Based on your description, it seems that your .dll could not be excluded in your list of dependencies.
In order to achieve your goal, we have some steps as below: (It works on my side. :))
1, Firstly, please add new reference into list of References.
2, The project could be build, and accomplish to setup on my computer.
3, If it does not work, you could right click .dll and exclude it.
4, Re-build it again.
Hope this helps you! If you have any doubts and concerns, please feel free to let me know. We are going to continue to follow-up.Best Regards
Axel Gong
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
-
Marked as answer by
Jayagopal
Friday, July 2, 2010 8:35 AM
-
Marked as answer by
-
Hi Jayagopal,
Thank you for your post.
The reason for file protection is to prevent people from installing some mismatched versions of OS files and might corrupt the system. Thus, it is not recommended to recall a Dll like wmp.dll.
Hope this helps! If you have any concern, please feel free to let me know.
Best regards,
Yichun Chen
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.-
Marked as answer by
YiChun Chen
Monday, July 5, 2010 8:53 AM
-
Marked as answer by
Защита системных файлов
Как отключить защиту
В Windows Me и выше на смену утилите sfc.exe пришла автоматически отслеживающая замену файлов служба System File Protection, которая не только обнаружит попытку переписать важный файл, но и сама восстановит его исходный вариант. Защита системных файлов — это средство Windows, обеспечивающее сохранность файлов, необходимых для работы системы. Оно предотвращает замену этих файлов их старыми версиями и версиями, не утвержденными корпорацией Майкрософт.
Даже приложения, разработанные корпорацией Майкрософт, не могут заменять защищенные этой системой файлы на их старые версии. Приложения сторонних поставщиков могут заменять системные файлы, только если эти файлы поставляются с каталогом, подписанным корпорацией Майкрософт, содержащим более новый файл.
В некоторых случаях требуется отключать эту защиту. Не забывайте делать резервную копию всего, что изменяете
Итак, для Windows 2000 без Service Pack 2 (SP2), то в раздел реестра
HKLMSOFTWAREMicrosoftWindows NTCurrent VersionWinlogon
добавьте DWORD-параметр (если его нет) SFCDisable со значением FFFFFF9D.
Для Windows 2000 с Service Pack 2 (SP2) — откройте файл %systemroot%system32sfc.dll в любом шестнадцатеричном редакторе, перейдите на смещение 00006211 (6211 hex) и измените байты 8BC6 на 9090. Если исходные значения другие, то ничего не меняйте! Сохраните изменения. В реестре установите параметр SFCDisable равным FFFFFF9D.
Для Windows XP без SP1 — в файле %systemroot%system32sfc_os.dll по адресу 0000E2B8 (E2B8 hex) измените байты 8BC6 на 9090. В реестре установите параметр SFCDisable равным FFFFFF9D
Для Windows XP с SP1 — в файле %systemroot%system32sfc_os.dll по адресу 0000E3BB (E3BB hex) измените байты 8BC6 на 9090. В реестре установите параметр SFCDisable равным FFFFFF9D
Для параметра SFCDisable существуют следующие возможные значения:
0 — включить WFP/SFC
1 — отключить WFP/SFC до следующей перезагрузки ПК, во время которой будет выдано приглашение снова включить защиту файлов
2 — отключить WFP/SFC до следующей перезагрузки
4 — включить WFP/SFC, отключить выдачу всех всплывающих сообщений о работе этой службы
FFFFFF9D — полностью выключить WFP/SFC.
Уведомления о защите файлов
Если вы ее не отключали защиту файлов, и если хотите получать каждый раз уведомление о срабатывании системы глобальной защиты основных файлов, то установите такой параметр типа DWORD ShowPopups равным 1 в разделе:
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionSystemFileProtection
А почитать протокол уже проделанной работы System File Protection можно в файле C:WindowsSystemSfpsfplog.txt. При этом «родные» файлы для замены она берет не с компакт-диска, а из папки C:WindowsOptions, в которую записывает и обновленные после посещения Windows Update библиотеки, так что файлы в ее базе всегда самые свежие и удалять эту папку не рекомендуется.
У меня возникла ошибка при создании установщика для моего веб-приложения (C #). Ошибка
Ошибка 19 «msado20.tlb» должна быть исключена, поскольку ее исходный файл «C: Program Files Common Files system ado msado20.tlb» находится под защитой системных файлов Windows.
что значит?
2 ответы
Вам нужно исключить файл из установщика.
Из MSDN
Указанный файл является защищенным системным файлом в Windows 2000, Windows XP и Windows Server 2003. Защищенные системные файлы обычно устанавливаются с помощью пакетов обновления операционной системы или отдельных пакетов установки, таких как Windows Media Player или Internet Explorer. Включение этого файла в программу установки может вызвать нестабильность при установке в операционных системах, не поддерживающих защищенные системные файлы. Например, установив такой компонент, как stdole.tlb, вне системной папки и зарегистрировав его, вы перезапишете регистрацию для компонента под защитой системных файлов. При удалении приложения компонент, установленный приложением, удаляется, а компонент, находящийся под защитой системных файлов, остается в незарегистрированном состоянии.
До свидания.
ответ дан 24 авг.
Система защиты файлов Windows предотвращает перезапись важных системных файлов. Ваш установщик не хочет устанавливать такие файлы.
Похоже, что рассматриваемый файл является частью Microsoft ADO. Таким образом, вместо того, чтобы устанавливать этот файл через установщик, вам нужно потребовать, чтобы версия ADO, которая требуется вашему приложению, была установлена.
ответ дан 24 авг.
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками
c#
windows
installation
or задайте свой вопрос.