Добрый день! Уважаемые читатели и гости, популярного IT блога pyatilistnik.org. Сегодня я продолжу пополнять свою копилку знаний в разделе 1С. Вчера меня один из разработчиков, попросил ему помочь настроить компоненты DCOM для Excel.Application в связке с приложением 1С. Я ранее этого не делал, так что пришлось в этом разбираться. По итогам найденного решения, появилась и эта заметка. Уверен, что на этот материал найдутся желающие.
Что такое DCOM
Distributed Component Object Model (DCOM) — программная архитектура, разработанная компанией Microsoft для распределения приложений между несколькими компьютерами в сети. Программный компонент на одной из машин может использовать DCOM для передачи сообщения (его называют удаленным вызовом процедуры) к компоненту на другой машине. DCOM автоматически устанавливает соединение, передает сообщение и возвращает ответ удаленного компонента. С данным компонентов мы уже знакомились, когда решали ошибку 10016.
Настройка DCOM для Excel.Application
И так у меня есть виртуальная машина под управлением Windows Server 2012 R2, на ней установлены серверные компоненты 1С, есть задача для Excel.Application модуля, настроить DCOM компоненты.
Для выполнения нижеописанных действий, вам будут необходимы права локального администратора, на том сервере, где все будет выполняться
Нам необходимо открыть в панели управления Windows, компонент «Службы компонентов».
Полный путь «Панель управленияВсе элементы панели управленияАдминистрированиеСлужбы компонентов»
Либо можете, через окно выполнить ввести DCOMCNFG, откроется, тоже самое.
В службах компонентов (Component Services) откройте ветку:
Компоненты — Мой компьютер — Настройка DCOM — Microsoft Excel Application (Component Services — Computers — My computer — DCOM Config)
Если по каким-то причинам у вас нет пункта Microsoft Excel Application, откройте реестр Windows, найдите ветку: HKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем ее. В ней должен быть ключ REG_SZ со значением {00020812-0000-0000-C000-000000000046}.
КОМУ ЛЕНЬ самому создавать, то можете скачать данный ключ реестра у меня. Просто запустите потом и подтвердите, что согласны добавить. Затем откройте командную строку от имени администратора и выполните команду:
У вас откроется mmc оснастка «Службы компонентов», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты. В результате этих манипуляций компонент Microsoft Excel Application у вас должен появиться. Открываем свойства Microsoft Excel Application.
Переходим на вкладку «Безопасность (Secutity)». В пункте «Разрешения на запуск и активацию (Launch and Activation Permissions)», выберите «Настроить (Customize )» и изменить. Вам нужно добавить сюда учетную запись, от имени которой запускается служба 1С и предоставить ей права:
- Локальный запуск — Local Launch
- Локальная активация — Local Activation
Далее переходим к пункту «Разрешения на доступ (Access Permissions)» и так же меняем их. Добавьте там ту же учетную запись, от имени которой запускается сервис 1С, и дайте ей права «Локальный доступ (Local Access)». Сохраните настройки.
Закрываем окно служб компонентов, теперь для того, чтобы закончит ьнастройку DCOM для 1С и Microsoft Excel Application, вам необходимо дать права на две папки.
Вам нужно убедиться, что у вас есть две папки:
C:WindowsSysWOW64configsystemprofileDesktop
и
C:WindowsSystem32configsystemprofileDesktop
Если их нет, то создайте их. Далее даем полные права на эту папку, для все той же учетной записи, сервиса 1С. Надеюсь, что было не сложно, и вы разобрались в конфигурировании DCOM для компонента Excel.Application в связке с 1С. С вами был Семин Иван, автор и основатель IT портала Pyatilistnik.org,
The entry for «Microsoft Excel Application» is not there in DCOM Config (tried in both 32-bit and 64-bit). How can I make it shows up there? I have Microsoft Office installed.
TylerH
20.6k64 gold badges76 silver badges97 bronze badges
asked Jul 17, 2013 at 21:11
1
If you cannot find ‘Microsoft Excel Application’ in either 32-bit or 64-bit DCOMCNFG, you might go into registry to HKEY_CLASSES_ROOT/AppID and find the CLSID for your version of Excel (Excel 2013 has an AppID of {00020812-0000-0000-C000-000000000046})
Check that the (Default) REG_SZ for this key has a value set for it.
If not, change the default value to «Microsoft Excel Application» and after relaunching DCOMCNFG you should see «Microsoft Excel Application» in the DCOM tree.
answered Mar 24, 2017 at 13:29
1
Assuming you have restarted since the install, this page explains how to attempt to re-register the COM server: TechNet Entry on Excel DCOM Config.
From a command prompt, navigate to where the Excel.exe is located and
re-register the application. On a 64-bit machine, this is located (by
default) under C:Program Files (x86)Microsoft OfficeOffice14 for
Office 2010 and C:Program Files (x86)Microsoft OfficeOffice12 for
Office 2007.
- Open a command prompt – START, RUN, type CMD.EXE but don’t hit ENTER just yet
- Find CMD.EXE in the ‘All Programs” list. Right click it and left click on “Run as administrator”
This should open a command prompt. Now, type the following:
CD
And hit ENTER. Then type:
CD C:Program Files (x86)Microsoft OfficeOffice14
And hit ENTER. Then type:
EXCEL.EXE –REGSERVER
And hit ENTER
* Note, for Microsoft Word the CMD would be:
WINWORD.EXE –REGSERVER
TylerH
20.6k64 gold badges76 silver badges97 bronze badges
answered Jul 17, 2013 at 21:23
1
Another trick is to unregister the component first.
First run:
EXCEL.EXE -UNREGSERVER
then:
EXCEL.EXE -REGSERVER
answered Jan 31, 2022 at 11:20
andrey_tandrey_t
1181 gold badge1 silver badge6 bronze badges
Start DCOMCNFG in 32-bit Mode:
DCOMCNFG -32
Then located under:
Component Services My Computer DCOM Config Microsoft Excel Application
answered Oct 19, 2015 at 18:46
Gordon BellGordon Bell
13.1k3 gold badges45 silver badges64 bronze badges
0
Опубликовано в Статьи по 1С 02.09.2019
Добрый день! Уважаемые читатели и гости, популярного IT блога pyatilistnik.org. Сегодня я продолжу пополнять свою копилку знаний в разделе 1С. Вчера меня один из разработчиков, попросил ему помочь настроить компоненты DCOM для Excel.Application в связке с приложением 1С. Я ранее этого не делал, так что пришлось в этом разбираться. По итогам найденного решения, появилась и эта заметка. Уверен, что на этот материал найдутся желающие.
Что такое DCOM
Distributed Component Object Model (DCOM) — программная архитектура, разработанная компанией Microsoft для распределения приложений между несколькими компьютерами в сети. Программный компонент на одной из машин может использовать DCOM для передачи сообщения (его называют удаленным вызовом процедуры) к компоненту на другой машине. DCOM автоматически устанавливает соединение, передает сообщение и возвращает ответ удаленного компонента. С данным компонентов мы уже знакомились, когда решали ошибку 10016.
Настройка DCOM для Excel.Application
И так у меня есть виртуальная машина под управлением Windows Server 2012 R2, на ней установлены серверные компоненты 1С, есть задача для Excel.Application модуля, настроить DCOM компоненты.Для выполнения нижеописанных действий, вам будут необходимы права локального администратора, на том сервере, где все будет выполняться
Нам необходимо открыть в панели управления Windows, компонент «Службы компонентов».
Полный путь «Панель управленияВсе элементы панели управленияАдминистрированиеСлужбы компонентов»
Либо можете, через окно выполнить ввести DCOMCNFG, откроется, тоже самое.
В службах компонентов (Component Services) откройте ветку:Компоненты — Мой компьютер — Настройка DCOM — Microsoft Excel Application (Component Services — Computers — My computer — DCOM Config)
Если по каким-то причинам у вас нет пункта Microsoft Excel Application, откройте реестр Windows, найдите ветку: HKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем ее. В ней должен быть ключ REG_SZ со значением {00020812-0000-0000-C000-000000000046}.
КОМУ ЛЕНЬ самому создавать, то можете скачать данный ключ реестра у меня. Просто запустите потом и подтвердите, что согласны добавить. Затем откройте командную строку от имени администратора и выполните команду:mmc comexp.msc /32
У вас откроется mmc оснастка «Службы компонентов», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты. В результате этих манипуляций компонент Microsoft Excel Application у вас должен появиться. Открываем свойства Microsoft Excel Application.
Переходим на вкладку «Безопасность (Secutity)». В пункте «Разрешения на запуск и активацию (Launch and Activation Permissions)», выберите «Настроить (Customize )» и изменить. Вам нужно добавить сюда учетную запись, от имени которой запускается служба 1С и предоставить ей права:
- Локальный запуск — Local Launch
- Локальная активация — Local Activation
Далее переходим к пункту «Разрешения на доступ (Access Permissions)» и так же меняем их. Добавьте там ту же учетную запись, от имени которой запускается сервис 1С, и дайте ей права «Локальный доступ (Local Access)». Сохраните настройки.
Закрываем окно служб компонентов, теперь для того, чтобы закончит ьнастройку DCOM для 1С и Microsoft Excel Application, вам необходимо дать права на две папки.
Вам нужно убедиться, что у вас есть две папки:C:WindowsSysWOW64configsystemprofileDesktop
и
C:WindowsSystem32configsystemprofileDesktop
Если их нет, то создайте их. Далее даем полные права на эту папку, для все той же учетной записи, сервиса 1С. Надеюсь, что было не сложно, и вы разобрались в конфигурировании DCOM для компонента Excel.Application в связке с 1С. С вами был Семин Иван, автор и основатель IT портала Pyatilistnik.org,
- Также рекомендуется дать полный доступ на папку
C:WindowsSystem32configsystemprofileAppData
Оригинл статьи: http://pyatilistnik.org/dcom-in-excel-application/
- Remove From My Forums
-
Question
-
Hi I’m using windows 7 home premium. I have an application in ASP.Net which uses Excel Application Object. It used to work fine in XP but in Windows 7 I’m getting an error as mentioned below:
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005.
I need to give permissions to Microsoft Excel Application in DCOM config but I can’t seem to find this in windows 7. It used to be there in earlier versions but now its not there. I tried to reinstall Office 2007 but still I couldn’t find it in DCOM config. Please suggest where I can give permissions to MS Excel Application so that my application runs without errors.
Thanks
Irfan<!— google_ad_section_end —>
Answers
-
Solved!
1. In DCOMCNFG, right click on the My Computer and select properties.
2. Choose the COM Securities tab
3. In Access Permissions, click «Edit Defaults» and add Network Service to it and give it «Allow local access» permission. Do the same for <Machine_name>Users.
4. In launch and Activation Permissions, click «Edit Defaults» and add Network Service to it and give it «Local launch» and «Local Activation» permission. Do the same for <Machine_name>UsersPress OK and thats it. i can run my application now.
-
Marked as answer by
Sunday, January 24, 2010 2:39 PM
-
Marked as answer by
- Remove From My Forums
-
Question
-
Hi I’m using windows 7 home premium. I have an application in ASP.Net which uses Excel Application Object. It used to work fine in XP but in Windows 7 I’m getting an error as mentioned below:
Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005.
I need to give permissions to Microsoft Excel Application in DCOM config but I can’t seem to find this in windows 7. It used to be there in earlier versions but now its not there. I tried to reinstall Office 2007 but still I couldn’t find it in DCOM config. Please suggest where I can give permissions to MS Excel Application so that my application runs without errors.
Thanks
Irfan<!— google_ad_section_end —>
Answers
-
Solved!
1. In DCOMCNFG, right click on the My Computer and select properties.
2. Choose the COM Securities tab
3. In Access Permissions, click «Edit Defaults» and add Network Service to it and give it «Allow local access» permission. Do the same for <Machine_name>Users.
4. In launch and Activation Permissions, click «Edit Defaults» and add Network Service to it and give it «Local launch» and «Local Activation» permission. Do the same for <Machine_name>UsersPress OK and thats it. i can run my application now.
-
Marked as answer by
Sunday, January 24, 2010 2:39 PM
-
Marked as answer by