Ignore:
Timestamp:
Aug 11, 2001, 11:34:11 AM (24 years ago)
Author:
sandervl
Message:

add ole32 & oleaut32 COM registry keys

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/install/odininst.cpp

    r6399 r6515  
    1 /* $Id: odininst.cpp,v 1.8 2001-07-28 18:48:10 sandervl Exp $ */
     1/* $Id: odininst.cpp,v 1.9 2001-08-11 09:34:11 sandervl Exp $ */
    22/*
    33 * Odin WarpIn installation app
     
    173173    //todo: productid, registered org/owner, sourcepath,
    174174
     175//#
     176//# Entries for OLE32 (COM/OLE base)
     177//#
     178//
     179//# OLE32's built-in marshaler, handles standard interfaces such as IClassFactory.
     180//# (PSFactoryBuffer = Proxy/Stub factory)
     181//[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00000320-0000-0000-C000-000000000046}]
     182//@="PSFactoryBuffer"
     183//
     184//[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00000320-0000-0000-C000-000000000046}\InProcServer32]
     185//@="ole32.dll"
     186//"ThreadingModel"="Both"
     187   #define PSFACTORYBUFFER "PSFactoryBuffer"
     188   if(RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00000320-0000-0000-C000-000000000046}",&hkey)!=ERROR_SUCCESS) {
     189    goto initreg_error;
     190   }
     191   RegSetValueEx(hkey, "", 0, REG_SZ, (LPBYTE)PSFACTORYBUFFER, sizeof(PSFACTORYBUFFER));
     192   RegCloseKey(hkey);
     193   if(RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00000320-0000-0000-C000-000000000046}\\InProcServer32",&hkey)!=ERROR_SUCCESS) {
     194    goto initreg_error;
     195   }
     196   RegSetValueEx(hkey, "", 0, REG_SZ, (LPBYTE)CLASS_OLE32DLL, sizeof(CLASS_OLE32DLL));
     197   RegSetValueEx(hkey, COM_THREADMODEL, 0, REG_SZ, (LPBYTE)THREAD_BOTH, sizeof(THREAD_BOTH));
     198   RegCloseKey(hkey);
     199
     200//# IUnknown, the superclass for everything COM/OLE.
     201//[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00000000-0000-0000-C000-000000000046}]
     202//@="IUnknown"
     203//
     204//[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00000000-0000-0000-C000-000000000046}\BaseInterface]
     205//@=""
     206//
     207//[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00000000-0000-0000-C000-000000000046}\NumMethods]
     208//@="3"
     209   #define IUNKNOWN "IUnknown"
     210   if(RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00000000-0000-0000-C000-000000000046}",&hkey)!=ERROR_SUCCESS) {
     211    goto initreg_error;
     212   }
     213   RegSetValueEx(hkey, "", 0, REG_SZ, (LPBYTE)IUNKNOWN, sizeof(IUNKNOWN));
     214   RegCloseKey(hkey);
     215   if(RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00000000-0000-0000-C000-000000000046}\\BaseInterface",&hkey)!=ERROR_SUCCESS) {
     216    goto initreg_error;
     217   }
     218   RegSetValueEx(hkey, "", 0, REG_SZ, (LPBYTE)"", 1);
     219   RegCloseKey(hkey);
     220   if(RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00000000-0000-0000-C000-000000000046}\\NumMethods",&hkey)!=ERROR_SUCCESS) {
     221    goto initreg_error;
     222   }
     223   RegSetValueEx(hkey, "", 0, REG_SZ, (LPBYTE)"3", 2);
     224   RegCloseKey(hkey);
     225
     226//# IClassFactory, standard interface for creating instances of classes.
     227//[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00000001-0000-0000-C000-000000000046}]
     228//@="IClassFactory"
     229//
     230//[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00000001-0000-0000-C000-000000000046}\NumMethods]
     231//@="5"
     232//
     233//[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\{00000001-0000-0000-C000-000000000046}\ProxyStubClsid32]
     234//@="{00000320-0000-0000-C000-000000000046}"
     235   #define ICLASSFACTORY "IClassFactory"
     236   if(RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00000001-0000-0000-C000-000000000046}",&hkey)!=ERROR_SUCCESS) {
     237    goto initreg_error;
     238   }
     239   RegSetValueEx(hkey, "", 0, REG_SZ, (LPBYTE)ICLASSFACTORY, sizeof(ICLASSFACTORY));
     240   RegCloseKey(hkey);
     241   if(RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00000001-0000-0000-C000-000000000046}\\NumMethods",&hkey)!=ERROR_SUCCESS) {
     242    goto initreg_error;
     243   }
     244   RegSetValueEx(hkey, "", 0, REG_SZ, (LPBYTE)"5", 2);
     245   RegCloseKey(hkey);
     246   #define PSFACTORY_GUID "{00000320-0000-0000-C000-000000000046}"
     247   if(RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00000001-0000-0000-C000-000000000046}\\ProxyStubClsid32",&hkey)!=ERROR_SUCCESS) {
     248    goto initreg_error;
     249   }
     250   RegSetValueEx(hkey, "", 0, REG_SZ, (LPBYTE)PSFACTORY_GUID, sizeof(PSFACTORY_GUID));
     251   RegCloseKey(hkey);
     252
     253//#
     254//# Entries for OLEAUT32 (OLE Automation)
     255//#
     256//
     257//# The Universal Marshaler, also known as the Type Library Marshaler.
     258//# (PSOAInterface = Proxy/Stub OLE Automation interface)
     259//[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00020424-0000-0000-C000-000000000046}]
     260//@="PSOAInterface"
     261//
     262//[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00020424-0000-0000-C000-000000000046}\InProcServer32]
     263//@="oleaut32.dll"
     264//"ThreadingModel"="Both"
     265   #define PSOAINTERFACE "PSOAInterface"
     266   if(RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00020424-0000-0000-C000-000000000046}",&hkey)!=ERROR_SUCCESS) {
     267    goto initreg_error;
     268   }
     269   RegSetValueEx(hkey, "", 0, REG_SZ, (LPBYTE)PSOAINTERFACE, sizeof(PSOAINTERFACE));
     270   RegCloseKey(hkey);
     271   if(RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00020424-0000-0000-C000-000000000046}\\InProcServer32",&hkey)!=ERROR_SUCCESS) {
     272    goto initreg_error;
     273   }
     274   RegSetValueEx(hkey, "", 0, REG_SZ, (LPBYTE)CLASS_OLEAUT32DLL, sizeof(CLASS_OLEAUT32DLL));
     275   RegSetValueEx(hkey, COM_THREADMODEL, 0, REG_SZ, (LPBYTE)THREAD_BOTH, sizeof(THREAD_BOTH));
     276   RegCloseKey(hkey);
     277
     278
    175279   //Shell32 & IE related keys
    176280   //[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00021400-0000-0000-C000-000000000046}]
Note: See TracChangeset for help on using the changeset viewer.