Changeset 6515 for trunk/tools/install/odininst.cpp
- Timestamp:
- Aug 11, 2001, 11:34:11 AM (24 years ago)
- 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:10sandervl Exp $ */1 /* $Id: odininst.cpp,v 1.9 2001-08-11 09:34:11 sandervl Exp $ */ 2 2 /* 3 3 * Odin WarpIn installation app … … 173 173 //todo: productid, registered org/owner, sourcepath, 174 174 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 175 279 //Shell32 & IE related keys 176 280 //[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00021400-0000-0000-C000-000000000046}]
Note:
See TracChangeset
for help on using the changeset viewer.