Показать сообщение отдельно
  #3  
Старый 19.07.2012, 06:38
Riota Riota вне форума
Прохожий
 
Регистрация: 18.07.2012
Сообщения: 2
Репутация: 10
Восклицание

посмотрела как и куда записываются гуиды у com сервера http://blog.not-a-kernel-guy.com/2007/04/18/173 не помогло

проблема в том что он должен автоматически регистрироваться через командную строку вот код
procedure ServerRegister;
var
stGUID: string;
begin
try
CoInitialize(nil);
stGUID := GUIDToString(CLASS_SferaAppServer);
with TRegistry.Create do
try
RootKey := HKEY_CLASSES_ROOT;
if not OpenKey('\CLSID\' + stGUID, True) then
exit;
WriteString('AppID', stGUID);
CloseKey;
if not OpenKey('\AppID\' + stGUID, True) then
exit;
WriteString('', 'Sfera Application Server');
WriteString('RunAs', 'Interactive User');
CloseKey;
finally
Free;
end;
if CreateComponentCategory(ID_SFERACAT , 'OPC Daten Server V2.0') <> 0 then exit;
if RegisterCLSIDInCategory(CLASS_Sfera AppServer, ID_SFERACAT) <> 0 then exit;
ToLog('Регистрация сервера выполнена');
MessageBox(0, 'Регистрация сервера выполнена', 'Sfera Application Server', 0);
except
ErrorHandler(Exception(ExceptObject ).Message, 'ServerRegister');
end;
end;
вот почему он на xe2 не работает загадка,и реестр я уже изрядно засрала поэтому посмотреть что он записывает проблемно,unregister не удаляет раннее созданные в ветке записи о гуидах com объекта
Ответить с цитированием