Сервер ole не был правильно зарегистрирован

» Как правильно разное

Сервер ole не был правильно зарегистрирован

Где и как починить OLE сервер для MS Access 07-10

Это я уже делал, в т.ч. и с предыдущими версиями Access на другик ПК.

Сжать и восстановить БД тоже пробовал.

Склоняюсь к мысли, что виновата больше сама база данных, после того как мы ее попытались открыть в Access 2010.

Первоначально она была создана и работала на Access 2000, 2003, 2007.

На работе есть ПК с разными версиями.

Она именно содержимое этих полей обьектов OLE теперь нигде не дает открыть внешней программой, например Adobe Acrobat или MS Picture Manager. Открывать пытаюсь в режиме таблица щелкая по полю с содержимым (как обычно и делал для этих полей).

Сервер OLE не был правильно зарегистрирован

Переустановите его для регистрации

Все остальное работает.

Отметьте первым, что считаете это полезным

История сообщений о нарушениях

Выполните восстановление Office 2010:

Пуск-Панель управления-Программы и компоненты, в списке установленных прилодений найдите Microsoft Office выделите его, левой кнопкой мыши и нажмите кнопку изменить. В открывшемся окне выберете Восстановить и нажмите кнопку Продолжить. Дождитесь окончания восстановления, перезагрузите компьютер и проверьте работу Access.

Отметьте первым, что считаете это полезным

История сообщений о нарушениях

Это я уже делал, в т.ч. и с предыдущими версиями Access на другик ПК.

Сжать и восстановить БД тоже пробовал.

Склоняюсь к мысли, что виновата больше сама база данных, после того как мы ее попытались открыть в Access 2010.

Первоначально она была создана и работала на Access 2000, 2003, 2007.

На работе есть ПК с разными версиями.

Она именно содержимое этих полей обьектов OLE теперь нигде не дает открыть внешней программой, например Adobe Acrobat или MS Picture Manager. Открывать пытаюсь в режиме таблица щелкая по полю с содержимым (как обычно и делал для этих полей).

Сервер OLE не был правильно зарегистрирован

Переустановите его для регистрации

Все остальное работает.

Отметьте первым, что считаете это полезным

История сообщений о нарушениях

можно попробовать вытащить с помощью этого кода:

Alex Dybenko #40;MVP#41;
http#58;#47;#47;AccessBlog.net

Отметьте первым, что считаете это полезным

История сообщений о нарушениях

Этот сайт на других языках

Пример OLE приложения

Сохранение OLE объекта в базе данных

    1. Обзор
    2. Из статьи Вы узнаете основные сведения об OLE, некоторые вещи относительно OLE 2 и OLE Automation. В статье рассказывается об использовании объекта TOLEContainer для построения OLE приложения в Delphi.
    3. Основы OLE
    4. Прежде, чем перейти к рассмотрению основ OLE, потребуется изучить терминологию.

    Аббревиатура OLE обозначает Objects Linked and Embedded (Присоединенные И Встроенные Объекты — ПИВО J ). Данные, разделяемые между приложениями называются OLE объектом. Приложение, которое может содержать OLE объекты, называют OLE контейнером (OLE Container). Приложение, данные из которого можно включить в OLE контейнер в виде OLE объекта, называют OLE сервером.

    Например, MicroSoft Word может включать в документ графические объекты, аудио- и видеоклипы и множество других объектов (такой документ иногда называют составным документом — compound document ).

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

    OLE является дальнейшим развитием идеи разделяемых между приложениями данных. Если с помощью DDE можно было работать с текстом, то OLE позволяет легко встроить в приложение обработку любых типов данных. Как и в случае с DDE, для правильной работы приложения-клиента (OLE контейнера) требуется наличие приложения OLE сервера. Каждый раз, когда в программе-клиенте пользователь обращается к OLE объекту с целью просмотра или редактирования данных (обычно двойной щелчок мышкой на объекте), запускается приложение-сервер, в котором и происходит работа с данными.

    В природе существует несколько видов OLE, отличающихся по способу активации OLE сервера. OLE версии 1 запускает сервер в отдельном окне. OLE 2 реализует то, что называется in-place activation and editing. В данном случае сервер запускается “внутри” приложения-клиента, модифицирует вид системного меню, линейки инструментов и др. Развитие идеи OLE привело к появлению OLE automation — приложение-клиент может выполнить часть кода сервера. Тип OLE объекта, помещенного в программу-клиент, определяется тем, какую версию OLE поддерживает сервер.

  1. Объект TOLEContainer
  2. Объект TOLEContainer находится на странице System Палитры Компонент и нужен для создания приложений OLE-контейнеров. TOLEContainer скрывает все сложности, связанные с внутренней организацией OLE и предоставляет программисту достаточно простой интерфейс. Построим простейшее приложение с использованием OLE объекта. Создайте новый проект и поместите на форму TOLEContainer, в Инспекторе Объектов дважды щелкните мышкой на свойство ObjClass или ObjDoc — появится стандартный диалог Windows “Insert Object” (см. рис.1)

    В этом диалоге есть список всех зарегистрированных в системе OLE-серверов (регистрация происходит при инсталляции программы). Тип OLE-объекта определяется как раз тем сервером, который Вы укажете. Если Вы создаете новый объект (Create New), то при нажатии кнопки OK запустится программа OLE-сервер, в которой и формируется новый объект. После выхода из программы-сервера новый OLE объект включается (embedded object) в программу. OLE объект можно создать используя уже имеющийся файл в формате одного из OLE-серверов. Для этого нужно выбрать пункт Create from File (см. рис.2)

    Выбранный объект можно как включить в приложение, так и присоединить, отметив пункт Link.

    Итак, давайте при создании нашего проекта создадим новый объект, выбрав для этого, например, Microsoft Word Document (рис.1). Нажмите OK и после того, как запустится MS Word, наберите там любой текст (“Это OLE-объект Microsoft Word document ”). Для завершения работы в меню есть специальный пункт “File|Close and Return to Form1” (Win’95+MS Word 7.0). Запустите проект, он будет выглядеть примерно так:

    Щелкните дважды мышкой на OLE-контейнер — запустится MS Word с документом из OLE-объекта, который можно редактировать, при этом все изменения сохраняются в OLE-объекте.

    . Если во время дизайна Вы выбираете объект для включения в OLE-контейнер, то он полностью записывается в файл формы (FORM1.DFM) и в дальнейшем прикомпилируется к EXE файлу. В случае очень больших объектов это может привести во время дизайна к длительным паузам и даже к возникновению ошибки “Out of resource”. Поэтому рекомендуется большие объекты делать присоединенными (linked).

    TOLEContainer позволяет отображать в программе объект в его непосредственном виде (с различной степенью увеличения или уменьшения — свойство Zoom) или в виде пиктограммы, определяемой в диалоге на рис.1 (Display as Icon).

    Выбор OLE-объекта может происходить не только во время дизайна, но и во время выполнения программы (об этом чуть ниже). Результаты работы с этим объектом можно сохранить в виде файла и в следующий раз восстановить его оттуда, для этого TOLEContainer имеет два метода SaveToFile и LoadFromFile.

  3. Пример OLE приложения
  4. Среди демонстрационных примеров, входящих в Delphi есть два, относящихся к работе с OLE-объектами (в директориях X:DELPHIDEMOSOLE2 и X:DELPHIDEMOSDOCOLE2). Более полным является второй, который, кроме всего прочего является примером построения MDI приложения. Данная программа демонстрирует все основные возможности TOLEContainer и позволяет:

    — создавать новый OLE контейнер во время выполнения программы;

    — инициализировать OLE объект либо в стандартном диалоге Windows “Insert Object”, либо с помощью Clipboard, либо с помощью техники “перенести и бросить” (drag-and-drop);

    — сохранить OLE объект в файле и восстановить его оттуда;

    На рис.4 показан пример MDI приложения, содержащий два дочерних окна с OLE объектами. Для создания нового OLE объекта нужно выбрать пункт меню File|New и далее Edit|Insert Object. Появится стандартный диалог Windows для инициализации OLE объекта (см. рис.1). Если приложение OLE-сервер имеет возможность сохранять информацию об OLE объекте в Clipboard, то проинициализировать объект можно с помощью пункта меню Edit|Paste Special.

    Иногда необходимо хранить OLE объекты не в файлах, а в базе данных (BLOB поле в таблице). Конечно, в данном случае OLE объект должен быть присоединенным (embedded) в целях переносимости. К сожалению, в стандартной поставке Delphi нет специального объекта типа TDBOLEContainer для данных целей, но OLE объект можно сохранять и восстанавливать с помощью методов SaveToStream и LoadFromStream. Например:

    procedure TOLEForm.SaveOLE(Sender: TObject);

    OLEContainer.SaveToStream(BlSt as TStream);

    OLE-сервер это:

    Смотреть что такое OLE-сервер в других словарях:

    Сервер проверки подлинности локальной системы безопасности — Сервер проверки подлинности локальной системы безопасности#160;(англ.#160;Local Security Authority Subsystem Service, LSASS) часть операционной системы Windows, отвечающей за авторизацию локальных пользователей отдельного компьютера. Сервис#8230; … Википедия

    Сервер (программное обеспечение) — У этого термина существуют и другие значения, см. Сервер. Логотип Web сервера Apache Серверное программное обеспечение (англ.#160;server от … Википедия

    Сервер (приложение) — Логотип сервера англ. server от англ. to serve служить) в информационных технологиях программный компонент вычислительной системы, выполняющий сервисные (обслуживающие) функции по запросу клиента, предоставляя ему доступ к определённым ресурсам#8230; … Википедия

    Сервер/SERVER — компьютер или приложение, предоставляющие услуги (сервисы), ресурсы или данные клиентскому приложению или компьютеру. Клиентское приложение обычно посылает серверу запрос в формате OLE, DDE или в каком либо другом … Толковый словарь по информационному обществу и новой экономике

    OPC-сервер — OPC (OLE for Process Control) семейство программных технологий, предоставляющих единый интерфейс для управления объектами автоматизации и технологическими процессами. Многие из OPC протоколов базируются на Windows технологиях: OLE, ActiveX,#8230; … Википедия

    Процесс исполнения клиент-сервер — Подсистема клиент/сервер времени выполнения (англ.#160;Client/Server Runtime Subsystem, CSRSS) или csrss.exe, входит в состав операционной системы Microsoft Windows NT, и предоставляет собой часть пользовательского режима подсистемы Win32.#8230; … Википедия

    Object Linking and Embedding — OLE (англ.#160;Object Linking and Embedding, произносится как oh lay [олэй]) технология связывания и внедрения объектов в другие документы и объекты, разработанная корпорацией Майкрософт. В 1996 году Microsoft переименовала технологию в ActiveX … Википедия

    серверы автоматизации — Автоматизация. Клиенты и серверы автоматизации. Автоматизация (ранее известная как OLE автоматизация – OLE Automation) – это одно из наиболее важных средств технологии ActiveX, позволяющее программно управлять объектами из других#8230; … Справочник технического переводчика

    Microsoft SQL Server — Тип Реляционная СУБД Разработчик Sybase, Ashton Tate, Microsoft … Википедия

    Component Object Model — В данной статье или разделе имеется список источников или внешних ссылок, но источники отдельных утверждений остаются неясными из за отсутствия сносок … Википедия

    SMB — (сокр. от англ. Server Message Block)#160; сетевой протокол прикладного уровня для удалённого доступа к файлам, принтерам и другим сетевым ресурсам, а также для межпроцессного взаимодействия. Первая версия протокола была разработана компаниями#8230; … Википедия

    Сервер ole не был правильно зарегистрирован

    В программе есть OLE-сервер. При старте программы соотвественно происходит принудительная регистрация OLE-сервера. Но в Win2000 если у пользователя нет определенных прав программа выдает ошибку и вылетает. Понятно что можно запустить программу один раз от «АДМИНИСТРАТОР» и потом спокойно работать. Но чаще всего в OLE-сервере, который встроен в мою программу, нет необходимости. Вопрос — можно ли запустить EXEшник без регистрации OLE-сервера или написать коды программы так, чтобы OLE-сервер регистировался только при определенных входных параметрах (не при REGSERVER, а при каком-то определенном мной параметре).


    Digitman ( 2004-02-18 15:20 ) [1]

    где и как у тебя в приложении выполняется регистрация ?


    den777 ( 2004-02-18 15:35 ) [2]

    procedure InitComServer;
    begin
    if SaveInitProc <> nil then TProcedure(SaveInitProc);
    ComServer.FStartSuspended := (CoInitFlags <> -1) and
    Assigned(ComObj.CoInitializeEx) and Assigned(ComObj.CoResumeClassObjects);
    ComServer.Initialize; в этом методе и происходит регистрация
    if ComServer.FStartSuspended then
    ComObj.CoResumeClassObjects;
    end;

    initialization
    begin
    OleAutHandle := SafeLoadLibrary(«OLEAUT32.DLL»);
    ComServer := TComServer.Create;
    if not ModuleIsLib then
    begin
    SaveInitProc := InitProc;
    InitProc := @InitComServer;
    AddTerminateProc(@AutomationTerminateProc);
    end;
    end;

    А в моих кодах соответственно есть
    TMyAutoObject = class(TAutoObject, IConnectionPointContainer, IcoPP)

    Наверное отсюда можно что-то понять, а иначе еще много кодов вставить придется.


    just me ( 2004-02-18 15:47 ) [3]

    Посмотри реализацию конструктора класса TComServer — с помощью параметров командной строки этим можно управлять


    Digitman ( 2004-02-18 16:04 ) [4]

    думаю, нужно каким-то образом сделать условным выполнение кода, выделенного жирным :

    TAutoObjectFactory.Create(ComServer, TMyAutoObject, Сlass_MyAutoObject, ciMultiInstance, tmApartment);


    den777 ( 2004-02-18 16:46 ) [5]


    > думаю, нужно каким-то образом сделать условным выполнение
    > кода, выделенного жирным :

    Думаю это как раз никак не повлияет. Из приведенных мною выше кодов стандартного UNITа DELPHI comserv.pas следует что регистрация происходит не при создании класса TAutoObjectFactory, а при инициализации модуля comserv.pas. А вот на секцию initialization UNITA comserv.pas повлиять не удасться. Есть предположение переписать TComServer описанный в этом юните и перекрыть TComServer.Initialize в котором выполнять UpdateRegistry(FStartMode <> smUnregServer) по какому-либо условию. Соответственно сделав потом что-то типа TAutoObjectFactory.Create(ComServerMy . ) я смогу управлять процессом регистрации.Но как-бы потом это не аукнулось в каком-нибудь другом месте. Есть ли мнения на данный счет.


    den777 ( 2004-02-18 18:22 ) [6]

    Может кто-нибудь еще выскажется.


    Бином Ньютоныч ( 2004-02-18 21:15 ) [7]

    Регистрация класса производится его фабрикой — метод UpdateRegistry.
    Если не создавать фабрику в инициализации, то и регистрации не будет. Но при этом, возможно, придется вручную загрузить библиотеку типов, если этот класс — единственный, который ее использует.


    den777 ( 2004-02-18 21:40 ) [8]

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

    1 procedure TComServer.UpdateRegistry(Register: Boolean);
    2 begin
    3 if FTypeLib <> nil then
    4 if Register then
    5 RegisterTypeLibrary(FTypeLib, GetModuleFileName) else
    6 UnregisterTypeLibrary(FTypeLib);
    7 FRegister := Register;
    8 ComClassManager.ForEachFactory(Self, FactoryUpdateRegistry);
    9 end;

    Спасибо за ответ и Digitmanу. Сразу не разобрался, а ответ по сути правильный.

    Сервер ole не был правильно зарегистрирован

    Из статьи Вы узнаете основные сведения об OLE, некоторые вещи относительно OLE 2 и OLE Automation. В статье рассказывается об использовании объекта TOLEContainer для построения OLE приложения в Delphi.

    Основы OLE

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

    Аббревиатура OLE обозначает Objects Linked and Embedded (Присоединенные И Встроенные Объекты — ПИВО J). Данные, разделяемые между приложениями называются OLE объектом. Приложение, которое может содержать OLE объекты, называют OLE контейнером (OLE Container). Приложение, данные из которого можно включить в OLE контейнер в виде OLE объекта, называют OLE сервером.

    Например, MicroSoft Word может включать в документ графические объекты, аудио- и видеоклипы и множество других объектов (такой документ иногда называют составным документом — compound document).

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

    OLE является дальнейшим развитием идеи разделяемых между приложениями данных. Если с помощью DDE можно было работать с текстом, то OLE позволяет легко встроить в приложение обработку любых типов данных. Как и в случае с DDE, для правильной работы приложения-клиента (OLE контейнера) требуется наличие приложения OLE сервера. Каждый раз, когда в программе-клиенте пользователь обращается к OLE объекту с целью просмотра или редактирования данных (обычно двойной щелчок мышкой на объекте), запускается приложение-сервер, в котором и происходит работа с данными.

    В природе существует несколько видов OLE, отличающихся по способу активации OLE сервера. OLE версии 1 запускает сервер в отдельном окне. OLE 2 реализует то, что называется in-place activation and editing. В данном случае сервер запускается «внутри» приложения-клиента, модифицирует вид системного меню, линейки инструментов и др. Развитие идеи OLE привело к появлению OLE automation — приложение-клиент может выполнить часть кода сервера. Тип OLE объекта, помещенного в программу-клиент, определяется тем, какую версию OLE поддерживает сервер.

    Объект TOLEContainer

    Объект TOLEContainer находится на странице System Палитры Компонент и нужен для создания приложений OLE-контейнеров. TOLEContainer скрывает все сложности, связанные с внутренней организацией OLE и предоставляет программисту достаточно простой интерфейс. Построим простейшее приложение с использованием OLE объекта. Создайте новый проект и поместите на форму TOLEContainer, в Инспекторе Объектов дважды щелкните мышкой на свойство ObjClass или ObjDoc — появится стандартный диалог Windows «Insert Object» (см. рис.1)

    Рис.1: Стандартный диалог Windows для определения OLE объекта.

    В этом диалоге есть список всех зарегистрированных в системе OLE-серверов (регистрация происходит при инсталляции программы). Тип OLE-объекта определяется как раз тем сервером, который Вы укажете. Если Вы создаете новый объект (Create New), то при нажатии кнопки OK запустится программа OLE-сервер, в которой и формируется новый объект. После выхода из программы-сервера новый OLE объект включается (embedded object) в программу. OLE объект можно создать используя уже имеющийся файл в формате одного из OLE-серверов. Для этого нужно выбрать пункт Create from File (см. рис.2)

    Рис.2: Выбор OLE-объекта, хранящегося в файле.

    Выбранный объект можно как включить в приложение, так и присоединить, отметив пункт Link.

    Итак, давайте при создании нашего проекта создадим новый объект, выбрав для этого, например, Microsoft Word Document (рис.1). Нажмите OK и после того, как запустится MS Word, наберите там любой текст («Это OLE-объект Microsoft Word document»). Для завершения работы в меню есть специальный пункт «File|Close and Return to Form1» (Win’95+MS Word 7.0). Запустите проект, он будет выглядеть примерно так:

    Рис.3: Простое приложение с OLE-контейнером.

    Щелкните дважды мышкой на OLE-контейнер — запустится MS Word с документом из OLE-объекта, который можно редактировать, при этом все изменения сохраняются в OLE-объекте.

    . Если во время дизайна Вы выбираете объект для включения в OLE-контейнер, то он полностью записывается в файл формы (FORM1.DFM) и в дальнейшем прикомпилируется к EXE файлу. В случае очень больших объектов это может привести во время дизайна к длительным паузам и даже к возникновению ошибки «Out of resource». Поэтому рекомендуется большие объекты делать присоединенными (linked).

    TOLEContainer позволяет отображать в программе объект в его непосредственном виде (с различной степенью увеличения или уменьшения — свойство Zoom) или в виде пиктограммы, определяемой в диалоге на рис.1 (Display as Icon).

    Выбор OLE-объекта может происходить не только во время дизайна, но и во время выполнения программы (об этом чуть ниже). Результаты работы с этим объектом можно сохранить в виде файла и в следующий раз восстановить его оттуда, для этого TOLEContainer имеет два метода SaveToFile и LoadFromFile.

    Пример OLE приложения

    Среди демонстрационных примеров, входящих в Delphi есть два, относящихся к работе с OLE-объектами (в директориях X:DELPHIDEMOSOLE2 и X:DELPHIDEMOSDOCOLE2). Более полным является второй, который, кроме всего прочего является примером построения MDI приложения. Данная программа демонстрирует все основные возможности TOLEContainer и позволяет:

    • создавать новый OLE контейнер во время выполнения программы;
    • инициализировать OLE объект либо в стандартном диалоге Windows «Insert Object», либо с помощью Clipboard, либо с помощью техники «перенести и бросить» (drag-and-drop);
    • сохранить OLE объект в файле и восстановить его оттуда;

    Рис.4: MDI OLE приложение.

    На рис.4 показан пример MDI приложения, содержащий два дочерних окна с OLE объектами. Для создания нового OLE объекта нужно выбрать пункт меню File|New и далее Edit|Insert Object. Появится стандартный диалог Windows для инициализации OLE объекта (см. рис.1). Если приложение OLE-сервер имеет возможность сохранять информацию об OLE объекте в Clipboard, то проинициализировать объект можно с помощью пункта меню Edit|Paste Special.

    Достаточно интересной является возможность применения техники drag-and-drop в применении к OLE объектам. Запустите MS Word (разместите его окно так, чтобы было видно и OLE приложение), наберите какой-нибудь текст, выделите его и с помощью мышки перетащите и бросьте на главное MDI окно приложения. Появится новое дочернее окно с OLE контейнером, содержащим этот текст. Программирование данной возможности достаточно сложно. Полное описание технологии построения данного OLE приложения есть в документации в коробке с Delphi (User’s guide), этому посвящена отдельная глава.

    Сохранение OLE объекта в базе данных

    Иногда необходимо хранить OLE объекты не в файлах, а в базе данных (BLOB поле в таблице). Конечно, в данном случае OLE объект должен быть присоединенным (embedded) в целях переносимости. К сожалению, в стандартной поставке Delphi нет специального объекта типа TDBOLEContainer для данных целей, но OLE объект можно сохранять и восстанавливать с помощью методов SaveToStream и LoadFromStream. Например:

    Как организовать подключение к OLE серверу?

    Веб-программирование на Java /

    Веб-серверы и серверы приложений

    Есть OLE сервер — exe фаил (унифицированный СОМ интерфейс для доступа к данным кассового аппарата).
    Как в java подключить его, чтоб иметь доступ к его функциям(OLE сервера)?

    В дальнейшем необходимо обработать объекты и передать данные в тхт фаил.

    Я смотрел. Везде примеры с Office приложениями. А примера с сторонним сервером непопадается.

    Если директрорию не указывать как к серверу обращение будет осуществляться?

    Из документации к кассовому аппарату.
    Функциональное описание OLE-сервера EKKA 1.0
    Программа представляет унифицированный СОМ интерфейс для доступа к данным кассового аппарата.

    На 1С это обращение выглядит:

    КА = СоздатьОбъект(«AddIn.TAddIn»);//запускаем сервер (или подключаемся)
    КА.SetDataPath(«c:AddIn»);//устанавливаем путь
    ответ = КА.StartGetObj(num,nume,port,phone,pass);

    Я думал что в java должно быть что-то подобное

    Как-как? Странный вопрос. Через OLE. Не пойму зачем вам путь к экзешнику. Для общения с экселем не надо указывать путь к его экзешнику. Чем ваш OLE-сервер лучше/хуже?

    Судя по приведенному вами коду вам нужен не путь к экзешнику, а путь к каталогу с данными. Да и опять же — вы его устанавливаете, а не получаете.

    У меня тот же вопрос. На делфи когда-то ещё писал, подключался через оле. на яве не могу понять, как также сделать? Если можно небольшой пример плиз. а дальше сам догоню

    Особенности регистрации 1С:Предприятия v7 в качестве сервера OLE

    Для того, чтобы сторонние клиенты могли запустить 1С:Предприятие версии 7x в режиме сервера OLE, в реестре Windows должны быть прописаны соответствующие OLE-классы, в частности:

    и связанные с ними GUID’ы.

    Например, без этого не срабатывает перенос данных в базу V8, инициированный на стороне приемника.

    Частичная регистрация классов OLE в реестре производится при запуске 1С:Предприятия v7 (проверено на 7.7.027 для SQL) с повышенными привилегиями в любом режиме, включая монитор.

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

    Регистрируются только несуществующие ключи, то есть при выборочном стирании ключей может оказаться, что одни ключи OLE настроены на одну папку установки 1С, а другие — на другую. Или на разные EXE-файлы.

    Для верности перед запуском «правильного» 1cv7*.exe рекомендуется выполнить очистку, запустив 1cv7OLEClearReg.reg из прилагаемого архива.

    Остальные REG-файлы в архиве выдраны из конкретной регистрации 1Cv7, их можно использовать, например, при написании сетевого/доменного скрипта регистрации. Это если делать грамотно, с использованием переменных среды. Хотя можно тупо слить все в один REG-файл и исправить в нем пути к папке BIN и имя 1cv7*.exe.

    Частично весь этот винигрет вносится в реестр при помощи команд:

    а вот группу файлов 1cv7s. reg придется вносить программно. По крайней мере, я не додумался, под каким соусом можно подсунуть regsvr32 сразу 1cv7*.exe и ole32.dll. Если кто располагает такой информацией, напишите в комментариях — может, кому-то еще пригодится.

    Читать еще:  Правильно подобранные модели не ограничивают
Ссылка на основную публикацию
Adblock
detector