Можно ли подавить приглашение MS Access «Security Warning» без подписания проекта? - PullRequest
1 голос
/ 16 февраля 2011

Справочная информация: У одного из моих коллег есть проект, написанный на VBA для использования среды выполнения MS Access 2003 в качестве внешнего интерфейса для базы данных MSSQL. Это внутренний проект, используемый несколькими пользователями, работающими в терминальных сессиях на сервере Server 2008 R2.

Проблема: Каждый раз, когда открывается проект Access, пользователи получают предупреждение системы безопасности:

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

У них есть возможность отменить или открыть. Пользователи хотели бы иметь возможность пропустить это приглашение.

Поскольку полная версия Access не установлена, пользователи не могут изменять свои индивидуальные уровни безопасности, а проект VBA не может быть подписан сертификатами selfcert.exe. (Я не уверен, что это все равно будет работать для нескольких пользователей?).

Идеальное исправление: Я надеюсь, что есть объект групповой политики или раздел реестра, который изменяет параметры безопасности для Access Runtime, но я открыт для других предложений. Я уверен, что проблему можно решить, купив лицензию на полную версию Access и сертификат у утвержденного центра сертификации, но у этого проекта нет на это бюджета.

Обновление: Подтвердили, что парень, который создал этот проект, сделал это в Access 2003 и не хочет повторно тестировать среды выполнения Access 2007/2010. Итак, мы застряли с 2003 Runtime.

Ответы [ 2 ]

2 голосов
/ 28 марта 2013

Очень поздний ответ, но это может кому-то помочь. Есть способ сделать это. Я создал оболочку для своих приложений Access (изначально просто для автоматического обновления моих приложений), и во время этого обнаружил, что вы можете полностью обойти безопасность Access 2003 (& 2007 и т. Д. С помощью надежных расположений Remou).

Установите SecurityLevel в реестре, запустите mdb через командную строку, сбросьте реестр. Корень: HKCU; Подраздел: ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ \ Microsoft \ Office \ 11.0 \ Access \ Security; ValueType: dword; ValueName: Level; ValueData: 1; Проверьте: IsAccInstalled ('11 .0 '); Флаги: dontcreatekey Уровень 1 = Низкий, никаких действий; 2 = (по умолчанию) средний, быстрый; 3 = Высокий, Запретить?

Вы также можете запустить свой mdb с помощью COM, установив SecurityLevel через COM перед открытием mdb. Однако COM не будет работать во время выполнения (и вы не сможете определить процесс ОС позже с помощью уникальной командной строки, как мне было нужно)

0 голосов
/ 13 ноября 2011

Отвечая на этот вопрос просто чтобы сказать, что нет, похоже, не существует способа избежать предупреждения безопасности для Access 2003 Runtime без фактического подписания проекта.

...