Ignore:
Timestamp:
Aug 31, 2000, 2:47:51 PM (25 years ago)
Author:
sandervl
Message:

install additions + getlasterror logging

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/initsystem.cpp

    r4093 r4134  
    1 /* $Id: initsystem.cpp,v 1.13 2000-08-25 09:02:54 sandervl Exp $ */
     1/* $Id: initsystem.cpp,v 1.14 2000-08-31 12:47:51 sandervl Exp $ */
    22/*
    33 * Odin system initialization (registry, directories & environment)
     
    5858#define DSOUND_DEFAULT          "DirectSound Object"
    5959#define DSOUND_DLL              "dsound.dll"
     60#define CLASS_DESKTOP           "Desktop"
     61#define CLASS_SHORTCUT          "Shortcut"
     62#define CLASS_SHELL32DLL        "shell32.dll"
    6063#define COM_CLASS_ID            "CLSID"
    6164#define COM_INPROCSERVER        "InprocServer32"
    6265#define COM_THREADMODEL         "ThreadingModel"
     66#define COM_THREAD_APARTMENT    "Apartment"
    6367#define THREAD_BOTH             "Both"
    6468#define INITREG_ERROR           "InitRegistry: Unable to register system information"
     
    241245        RegSetValueExA(hkey,"Templates",0,REG_SZ, (LPBYTE)shellpath, strlen(shellpath)+1);
    242246//   }
     247   RegCloseKey(hkey);
     248
     249   //Shell32 & IE related keys
     250   //[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00021400-0000-0000-C000-000000000046}]
     251   //@="Desktop"
     252   //[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00021400-0000-0000-C000-000000000046}\InProcServer32]
     253   //@="shell32.dll"
     254   //ThreadingModel="Apartment"
     255   if(RegCreateKeyA(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00021400-0000-0000-C000-000000000046}",&hkey)!=ERROR_SUCCESS) {
     256        goto initreg_error;
     257   }
     258   RegSetValueExA(hkey, "", 0, REG_SZ, (LPBYTE)CLASS_DESKTOP, sizeof(CLASS_DESKTOP));
     259   RegCloseKey(hkey);
     260   if(RegCreateKeyA(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00021400-0000-0000-C000-000000000046}\\InProcServer32",&hkey)!=ERROR_SUCCESS) {
     261        goto initreg_error;
     262   }
     263   RegSetValueExA(hkey, "", 0, REG_SZ, (LPBYTE)CLASS_SHELL32DLL, sizeof(CLASS_SHELL32DLL));
     264   RegSetValueExA(hkey, COM_THREADMODEL, 0, REG_SZ, (LPBYTE)COM_THREAD_APARTMENT, sizeof(COM_THREAD_APARTMENT));
     265   RegCloseKey(hkey);
     266   //[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00021401-0000-0000-C000-000000000046}]
     267   //@="Shortcut"
     268   //[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00021401-0000-0000-C000-000000000046}\InProcServer32]
     269   //@="shell32.dll"
     270   //"ThreadingModel"="Apartment"
     271   //[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00021401-0000-0000-C000-000000000046}\shellex\MayChangeDefaultMenu]
     272   //@=""
     273   if(RegCreateKeyA(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00021401-0000-0000-C000-000000000046}",&hkey)!=ERROR_SUCCESS) {
     274        goto initreg_error;
     275   }
     276   RegSetValueExA(hkey, "", 0, REG_SZ, (LPBYTE)CLASS_SHORTCUT, sizeof(CLASS_SHORTCUT));
     277   RegCloseKey(hkey);
     278   if(RegCreateKeyA(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00021401-0000-0000-C000-000000000046}\\InProcServer32",&hkey)!=ERROR_SUCCESS) {
     279        goto initreg_error;
     280   }
     281   RegSetValueExA(hkey, "", 0, REG_SZ, (LPBYTE)CLASS_SHELL32DLL, sizeof(CLASS_SHELL32DLL));
     282   RegSetValueExA(hkey, COM_THREADMODEL, 0, REG_SZ, (LPBYTE)COM_THREAD_APARTMENT, sizeof(COM_THREAD_APARTMENT));
     283   RegCloseKey(hkey);
     284   if(RegCreateKeyA(HKEY_LOCAL_MACHINE,"SOFTWARE\\Classes\\CLSID\\{00021401-0000-0000-C000-000000000046}\\shellex\\MayChangeDefaultMenu",&hkey)!=ERROR_SUCCESS) {
     285        goto initreg_error;
     286   }
     287   RegSetValueExA(hkey, "", 0, REG_SZ, (LPBYTE)"", 0);
    243288   RegCloseKey(hkey);
    244289
Note: See TracChangeset for help on using the changeset viewer.