Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];

Вниз

regsrv32.exe   Найти похожие ветки 

 
neXt   (2002-11-15 16:07) [0]

В одном из топиков форума, я, решив блеснуть знанием брякнул, что "нельзя зарегистрировать EXE-шник с помощью программы regsrv32". Получил ответ, что, мол, неправ. Мастера, проясните ситуацию.
Я раньше наивно пологал, что regsrv32 предназначен для регистрации библиотеки типов реализованной в виде DLL (или OCX) файла, а в случае когда COM-интерфейсы зашиты в EXE, их должен регистрировать сам исполняемый файл в момент первого запуска.
?


 
Внук   (2002-11-15 19:40) [1]

Registering an out-of-process server
To register an out-of-process server,
Run the server with the /regserver command-line option.
You can set command-line options with the Run|Parameters dialog box.
You can also register the server by running it.
To unregister an out-of-process server,
Run the server with the /unregserver command-line option.
As an alternative, you can use the tregsvr command from the command line or run the regsvr32.exe from the operating system.

Далее:

Out-of-process server (or local server) _ Another application (EXE) running in a different process space but on the same machine as the client. For example, an Excel spreadsheet embedded in a Word document are two separate applications running on the same machine.


 
asmith   (2002-11-16 14:59) [2]

Вот цитата из MSDN:
-------
The RegSvr32 utility installs a DLL as an in-process server. It invokes one or more functions that are implemented by the application, and exported by name by the DLL. The primary task of these functions is to create or delete appropriate registry entries. The following functions can be invoked by RegSvr32:
1. DllRegisterServer is used for installing DLLs. It should create any necessary registry keys.
2. DllUnregisterServer is used for uninstalling DLLs. It should delete any registry keys that are no longer needed.
-------
Видно, что в RegSvr32 нет никакой магии, а все, что нужно для регистрации, предоставляет сама ActiveX DLL. Так что ты прав. Ну разве что при пеализации out-of-process server заставить его экспортировать вышеприведенные функции и реализовать их, что, согласись, изврат.


 
drpass   (2002-11-16 15:18) [3]

Если СОМ-интерфейсы зашиты в EXE, их может регистрировать сама программа при запуске. А может и не регистрировать - это зависит от желания программиста. Но никто не запрещал реализовать в программе и экспортировать из экзешника DllRegisterServer - и тогда ее вполне можно регистрировать и через Regsvr32


 
Внук   (2002-11-16 17:01) [4]

>>asmith (16.11.02 14:59)
"Ну разве что при пеализации out-of-process server заставить его экспортировать вышеприведенные функции и реализовать их, что, согласись, изврат."
Не соглашусь :))



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
7-28307
Senka
2002-10-04 15:58
2002.12.09
Как выполнить учет печати на принтере в Delphi6


14-28241
Ru
2002-11-18 10:23
2002.12.09
Парсинг


14-28246
vopros
2002-11-18 11:22
2002.12.09
Порадуйте меня чем нибудь.


14-28277
Ketmar
2002-11-15 18:20
2002.12.09
все. до-ве-ли! увольняюсь.


4-28361
Alexey
2002-10-25 23:40
2002.12.09
Карта местности средствами Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский