SiCNodeSetItemsSelected(diSetupType.stSetupType0.dwCItems, diSetupType.stSetupType0.dwCItemsSelected);
SiCNodeSetItemsSelected(dwSetupType, diSetupType.stSetupType0.dwCItems, diSetupType.stSetupType0.dwCItemsSelected);
HRESULT ParseConfigIni(LPSTR lpszCmdLine){  HDC  hdc;  char szBuf[MAX_BUF];  char szPreviousPath[MAX_BUF];  char szShowDialog[MAX_BUF];  if(CheckInstances())    return(1);  if(InitSetupGeneral())    return(1);  if(InitDlgWelcome(&diWelcome))    return(1);  if(InitDlgLicense(&diLicense))    return(1);  if(InitDlgSetupType(&diSetupType))    return(1);  if(InitDlgSelectComponents(&diSelectComponents, SM_SINGLE))    return(1);  if(InitDlgSelectComponents(&diSelectAdditionalComponents, SM_SINGLE))    return(1);  if(InitDlgWindowsIntegration(&diWindowsIntegration))    return(1);  if(InitDlgProgramFolder(&diProgramFolder))    return(1);  if(InitDlgDownloadOptions(&diDownloadOptions))    return(1);  if(InitDlgAdvancedSettings(&diAdvancedSettings))    return(1);  if(InitDlgStartInstall(&diStartInstall))    return(1);  if(InitSDObject())    return(1);  if(InitSXpcomFile())    return(1);   /* get install Mode information */  GetPrivateProfileString("General", "Run Mode", "", szBuf, MAX_BUF, szFileIniConfig);  SetSetupRunMode(szBuf);  ParseCommandLine(lpszCmdLine);  if((sgProduct.dwMode == NORMAL) || (sgProduct.dwMode == AUTO))  {    /* show blue background here */    ShowWindow(hWndMain, SW_MAXIMIZE);    UpdateWindow(hWndMain);  }  /* get product name description */  GetPrivateProfileString("General", "Product Name", "", sgProduct.szProductName, MAX_BUF, szFileIniConfig);  GetPrivateProfileString("General", "Sub Path",     "", sgProduct.szSubPath,     MAX_BUF, szFileIniConfig);  GetPrivateProfileString("General", "Program Name", "", sgProduct.szProgramName, MAX_BUF, szFileIniConfig);    /* get main install path */  if(LocatePreviousPath("Locate Previous Product Path", szPreviousPath, sizeof(szPreviousPath)) == FALSE)  {    GetPrivateProfileString("General", "Path", "", szBuf, MAX_BUF, szFileIniConfig);    DecryptString(sgProduct.szPath, szBuf);  }  else  {    /* If the previous path is located in the regsitry, then we need to check to see if the path from     * the regsitry plus the Sub Path contains the Program Name file.  If it does, then we have the     * correct path, so just use it.     *     * If it does not contain the Program Name file, then check the parent path (from the registry) +     * SubPath.  If this path contains the Program Name file, then we found an older path format.  We     * then need to use the parent path as the default path.     *     * Only do the older path format checking if the Sub Path= and Program Name= keys exist.  If     * either are not set, then assume that the path from the registry is what we want.     */    if((*sgProduct.szSubPath != '\0') && (*sgProduct.szProgramName != '\0'))    {      /* If the Sub Path= and Program Name= keys exist, do extra parsing for the correct path */      lstrcpy(szBuf, szPreviousPath);      AppendBackSlash(szBuf, sizeof(szBuf));      lstrcat(szBuf, sgProduct.szSubPath);      AppendBackSlash(szBuf, sizeof(szBuf));      lstrcat(szBuf, sgProduct.szProgramName);      /* Check to see if PreviousPath + SubPath + ProgramName exists.  If it does, then we have the       * correct path.       */      if(FileExists(szBuf))      {        lstrcpy(sgProduct.szPath, szPreviousPath);      }      else      {        /* If not, try parent of PreviousPath + SubPath + ProgramName.         * If this exists, then we need to use the parent path of PreviousPath.         */        RemoveBackSlash(szPreviousPath);        ParsePath(szPreviousPath, szBuf, sizeof(szBuf), PP_PATH_ONLY);        AppendBackSlash(szBuf, sizeof(szBuf));        lstrcat(szBuf, sgProduct.szSubPath);        AppendBackSlash(szBuf, sizeof(szBuf));        lstrcat(szBuf, sgProduct.szProgramName);        if(FileExists(szBuf))        {          RemoveBackSlash(szPreviousPath);          ParsePath(szPreviousPath, szBuf, sizeof(szBuf), PP_PATH_ONLY);          lstrcpy(sgProduct.szPath, szBuf);        }        else        {          /* If we still can't locate ProgramName file, then use the default in the config.ini */          GetPrivateProfileString("General", "Path", "", szBuf, MAX_BUF, szFileIniConfig);          DecryptString(sgProduct.szPath, szBuf);        }      }    }    else    {      lstrcpy(sgProduct.szPath, szPreviousPath);    }  }  RemoveBackSlash(sgProduct.szPath);  /* make a copy of sgProduct.szPath to be used in the Setup Type dialog */  lstrcpy(szTempSetupPath, sgProduct.szPath);    /* get main program folder path */  GetPrivateProfileString("General", "Program Folder Path", "", szBuf, MAX_BUF, szFileIniConfig);  DecryptString(sgProduct.szProgramFolderPath, szBuf);    /* get main program folder name */  GetPrivateProfileString("General", "Program Folder Name", "", szBuf, MAX_BUF, szFileIniConfig);  DecryptString(sgProduct.szProgramFolderName, szBuf);  /* get setup title strings */  GetPrivateProfileString("General", "Setup Title0", "", sgProduct.szSetupTitle0, MAX_BUF, szFileIniConfig);  GetPrivateProfileString("General", "Setup Title1", "", sgProduct.szSetupTitle1, MAX_BUF, szFileIniConfig);  GetPrivateProfileString("General", "Setup Title2", "", sgProduct.szSetupTitle2, MAX_BUF, szFileIniConfig);  /* get setup title font color */  GetPrivateProfileString("General", "Setup Title0 Font Color", "", szBuf, sizeof(szBuf), szFileIniConfig);  sgProduct.crSetupTitle0FontColor = DecryptFontColor(szBuf);  GetPrivateProfileString("General", "Setup Title1 Font Color", "", szBuf, sizeof(szBuf), szFileIniConfig);  sgProduct.crSetupTitle1FontColor = DecryptFontColor(szBuf);  GetPrivateProfileString("General", "Setup Title2 Font Color", "", szBuf, sizeof(szBuf), szFileIniConfig);  sgProduct.crSetupTitle2FontColor = DecryptFontColor(szBuf);  /* get setup title font size */  sgProduct.iSetupTitle0FontSize = 42;  sgProduct.iSetupTitle1FontSize = 42;  sgProduct.iSetupTitle2FontSize = 42;  GetPrivateProfileString("General", "Setup Title0 Font Size", "", szBuf, sizeof(szBuf), szFileIniConfig);  if(*szBuf != '\0')    sgProduct.iSetupTitle0FontSize = atoi(szBuf);  GetPrivateProfileString("General", "Setup Title1 Font Size", "", szBuf, sizeof(szBuf), szFileIniConfig);  if(*szBuf != '\0')    sgProduct.iSetupTitle1FontSize = atoi(szBuf);  GetPrivateProfileString("General", "Setup Title2 Font Size", "", szBuf, sizeof(szBuf), szFileIniConfig);  if(*szBuf != '\0')    sgProduct.iSetupTitle2FontSize = atoi(szBuf);  /* get setup title font shadow */  GetPrivateProfileString("General", "Setup Title0 Font Shadow", "", szBuf, sizeof(szBuf), szFileIniConfig);  if(lstrcmpi(szBuf, "FALSE") == 0)    sgProduct.bSetupTitle0FontShadow = FALSE;  else    sgProduct.bSetupTitle0FontShadow = TRUE;  GetPrivateProfileString("General", "Setup Title1 Font Shadow", "", szBuf, sizeof(szBuf), szFileIniConfig);  if(lstrcmpi(szBuf, "FALSE") == 0)    sgProduct.bSetupTitle1FontShadow = FALSE;  else    sgProduct.bSetupTitle1FontShadow = TRUE;  GetPrivateProfileString("General", "Setup Title2 Font Shadow", "", szBuf, sizeof(szBuf), szFileIniConfig);  if(lstrcmpi(szBuf, "FALSE") == 0)    sgProduct.bSetupTitle2FontShadow = FALSE;  else    sgProduct.bSetupTitle2FontShadow = TRUE;  /* Welcome dialog */  GetPrivateProfileString("Dialog Welcome",             "Show Dialog",     "", szShowDialog,                  MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Welcome",             "Title",           "", diWelcome.szTitle,             MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Welcome",             "Message0",        "", diWelcome.szMessage0,          MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Welcome",             "Message1",        "", diWelcome.szMessage1,          MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Welcome",             "Message2",        "", diWelcome.szMessage2,          MAX_BUF, szFileIniConfig);  if(lstrcmpi(szShowDialog, "TRUE") == 0)    diWelcome.bShowDialog = TRUE;  /* License dialog */  GetPrivateProfileString("Dialog License",             "Show Dialog",     "", szShowDialog,                  MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog License",             "Title",           "", diLicense.szTitle,             MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog License",             "License File",    "", diLicense.szLicenseFilename,   MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog License",             "Message0",        "", diLicense.szMessage0,          MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog License",             "Message1",        "", diLicense.szMessage1,          MAX_BUF, szFileIniConfig);  if(lstrcmpi(szShowDialog, "TRUE") == 0)    diLicense.bShowDialog = TRUE;  /* Setup Type dialog */  GetPrivateProfileString("Dialog Setup Type",          "Show Dialog",     "", szShowDialog,                  MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Setup Type",          "Title",           "", diSetupType.szTitle,           MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Setup Type",          "Message0",        "", diSetupType.szMessage0,        MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Setup Type",          "Readme Filename", "", diSetupType.szReadmeFilename,  MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Setup Type",          "Readme App",      "", diSetupType.szReadmeApp,       MAX_BUF, szFileIniConfig);  if(lstrcmpi(szShowDialog, "TRUE") == 0)    diSetupType.bShowDialog = TRUE;  /* Get Setup Types info */  GetPrivateProfileString("Setup Type0", "Description Short", "", diSetupType.stSetupType0.szDescriptionShort, MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Setup Type0", "Description Long",  "", diSetupType.stSetupType0.szDescriptionLong,  MAX_BUF, szFileIniConfig);  STGetComponents("Setup Type0", &diSetupType.stSetupType0, szFileIniConfig);  GetPrivateProfileString("Setup Type1", "Description Short", "", diSetupType.stSetupType1.szDescriptionShort, MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Setup Type1", "Description Long",  "", diSetupType.stSetupType1.szDescriptionLong,  MAX_BUF, szFileIniConfig);  STGetComponents("Setup Type1", &diSetupType.stSetupType1, szFileIniConfig);  GetPrivateProfileString("Setup Type2", "Description Short", "", diSetupType.stSetupType2.szDescriptionShort, MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Setup Type2", "Description Long",  "", diSetupType.stSetupType2.szDescriptionLong,  MAX_BUF, szFileIniConfig);  STGetComponents("Setup Type2", &diSetupType.stSetupType2, szFileIniConfig);  GetPrivateProfileString("Setup Type3", "Description Short", "", diSetupType.stSetupType3.szDescriptionShort, MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Setup Type3", "Description Long",  "", diSetupType.stSetupType3.szDescriptionLong,  MAX_BUF, szFileIniConfig);  STGetComponents("Setup Type3", &diSetupType.stSetupType3, szFileIniConfig);  /* remember the radio button that is considered the Custom type (the last radio button) */  SetCustomType();  /* Select Components dialog */  GetPrivateProfileString("Dialog Select Components",   "Show Dialog",  "", szShowDialog,                    MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Select Components",   "Title",        "", diSelectComponents.szTitle,      MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Select Components",   "Message0",     "", diSelectComponents.szMessage0,   MAX_BUF, szFileIniConfig);  if(lstrcmpi(szShowDialog, "TRUE") == 0)    diSelectComponents.bShowDialog = TRUE;  /* Select Additional Components dialog */  GetPrivateProfileString("Dialog Select Additional Components",   "Show Dialog",  "", szShowDialog,                              MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Select Additional Components",   "Title",        "", diSelectAdditionalComponents.szTitle,      MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Select Additional Components",   "Message0",     "", diSelectAdditionalComponents.szMessage0,   MAX_BUF, szFileIniConfig);  if(lstrcmpi(szShowDialog, "TRUE") == 0)    diSelectAdditionalComponents.bShowDialog = TRUE;  /* Windows Integration dialog */  GetPrivateProfileString("Dialog Windows Integration", "Show Dialog",  "", szShowDialog,                    MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Windows Integration", "Title",        "", diWindowsIntegration.szTitle,    MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Windows Integration", "Message0",     "", diWindowsIntegration.szMessage0, MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Windows Integration", "Message1",     "", diWindowsIntegration.szMessage1, MAX_BUF, szFileIniConfig);  if(lstrcmpi(szShowDialog, "TRUE") == 0)    diWindowsIntegration.bShowDialog = TRUE;  /* Program Folder dialog */  GetPrivateProfileString("Dialog Program Folder",      "Show Dialog",  "", szShowDialog,                    MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Program Folder",      "Title",        "", diProgramFolder.szTitle,         MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Program Folder",      "Message0",     "", diProgramFolder.szMessage0,      MAX_BUF, szFileIniConfig);  if(lstrcmpi(szShowDialog, "TRUE") == 0)    diProgramFolder.bShowDialog = TRUE;  /* Download Options dialog */  GetPrivateProfileString("Dialog Download Options",       "Show Dialog",    "", szShowDialog,                     MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Download Options",       "Title",          "", diDownloadOptions.szTitle,        MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Download Options",       "Message0",       "", diDownloadOptions.szMessage0,     MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Download Options",       "Message1",       "", diDownloadOptions.szMessage1,     MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Download Options",       "Save Installer", "", szBuf,                            MAX_BUF, szFileIniConfig);  if(lstrcmpi(szBuf, "TRUE") == 0)    diDownloadOptions.bSaveInstaller = TRUE;  if(lstrcmpi(szShowDialog, "TRUE") == 0)    diDownloadOptions.bShowDialog = TRUE;  /* Advanced Settings dialog */  GetPrivateProfileString("Dialog Advanced Settings",       "Show Dialog",    "", szShowDialog,                     MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Advanced Settings",       "Title",          "", diAdvancedSettings.szTitle,       MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Advanced Settings",       "Message0",       "", diAdvancedSettings.szMessage0,    MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Advanced Settings",       "Proxy Server",   "", diAdvancedSettings.szProxyServer, MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Advanced Settings",       "Proxy Port",     "", diAdvancedSettings.szProxyPort,   MAX_BUF, szFileIniConfig);  if(lstrcmpi(szShowDialog, "TRUE") == 0)    diAdvancedSettings.bShowDialog = TRUE;  /* Start Install dialog */  GetPrivateProfileString("Dialog Start Install",       "Show Dialog",      "", szShowDialog,                     MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Start Install",       "Title",            "", diStartInstall.szTitle,           MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Start Install",       "Message Install",  "", diStartInstall.szMessageInstall,  MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Dialog Start Install",       "Message Download", "", diStartInstall.szMessageDownload, MAX_BUF, szFileIniConfig);  if(lstrcmpi(szShowDialog, "TRUE") == 0)    diStartInstall.bShowDialog = TRUE;  /* Reboot dialog */  GetPrivateProfileString("Dialog Reboot", "Show Dialog", "", szShowDialog, MAX_BUF, szFileIniConfig);  if(lstrcmpi(szShowDialog, "TRUE") == 0)    diReboot.dwShowDialog = TRUE;  else if(lstrcmpi(szShowDialog, "AUTO") == 0)    diReboot.dwShowDialog = AUTO;  GetPrivateProfileString("Windows Integration-Item0", "CheckBoxState", "", szBuf,                                    MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Windows Integration-Item0", "Description",   "", diWindowsIntegration.wiCB0.szDescription, MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Windows Integration-Item0", "Archive",       "", diWindowsIntegration.wiCB0.szArchive,     MAX_BUF, szFileIniConfig);  /* Check to see if the checkbox need to be shown at all or not */  if(*diWindowsIntegration.wiCB0.szDescription != '\0')    diWindowsIntegration.wiCB0.bEnabled = TRUE;  /* check to see if the checkbox needs to be checked by default or not */  if(lstrcmpi(szBuf, "TRUE") == 0)    diWindowsIntegration.wiCB0.bCheckBoxState = TRUE;  GetPrivateProfileString("Windows Integration-Item1", "CheckBoxState", "", szBuf,                           MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Windows Integration-Item1", "Description",   "", diWindowsIntegration.wiCB1.szDescription, MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Windows Integration-Item1", "Archive",       "", diWindowsIntegration.wiCB1.szArchive, MAX_BUF, szFileIniConfig);  /* Check to see if the checkbox need to be shown at all or not */  if(*diWindowsIntegration.wiCB1.szDescription != '\0')    diWindowsIntegration.wiCB1.bEnabled = TRUE;  /* check to see if the checkbox needs to be checked by default or not */  if(lstrcmpi(szBuf, "TRUE") == 0)    diWindowsIntegration.wiCB1.bCheckBoxState = TRUE;  GetPrivateProfileString("Windows Integration-Item2", "CheckBoxState", "", szBuf,                           MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Windows Integration-Item2", "Description",   "", diWindowsIntegration.wiCB2.szDescription, MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Windows Integration-Item2", "Archive",       "", diWindowsIntegration.wiCB2.szArchive, MAX_BUF, szFileIniConfig);  /* Check to see if the checkbox need to be shown at all or not */  if(*diWindowsIntegration.wiCB2.szDescription != '\0')    diWindowsIntegration.wiCB2.bEnabled = TRUE;  /* check to see if the checkbox needs to be checked by default or not */  if(lstrcmpi(szBuf, "TRUE") == 0)    diWindowsIntegration.wiCB2.bCheckBoxState = TRUE;  GetPrivateProfileString("Windows Integration-Item3", "CheckBoxState", "", szBuf,                           MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Windows Integration-Item3", "Description",   "", diWindowsIntegration.wiCB3.szDescription, MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Windows Integration-Item3", "Archive",       "", diWindowsIntegration.wiCB3.szArchive, MAX_BUF, szFileIniConfig);  /* Check to see if the checkbox need to be shown at all or not */  if(*diWindowsIntegration.wiCB3.szDescription != '\0')    diWindowsIntegration.wiCB3.bEnabled = TRUE;  /* check to see if the checkbox needs to be checked by default or not */  if(lstrcmpi(szBuf, "TRUE") == 0)    diWindowsIntegration.wiCB3.bCheckBoxState = TRUE;  switch(sgProduct.dwMode)  {    case AUTO:    case SILENT:      diWelcome.bShowDialog                     = FALSE;      diLicense.bShowDialog                     = FALSE;      diSetupType.bShowDialog                   = FALSE;      diSelectComponents.bShowDialog            = FALSE;      diSelectAdditionalComponents.bShowDialog  = FALSE;      diWindowsIntegration.bShowDialog          = FALSE;      diProgramFolder.bShowDialog               = FALSE;      diDownloadOptions.bShowDialog             = FALSE;      diAdvancedSettings.bShowDialog            = FALSE;      diStartInstall.bShowDialog                = FALSE;      break;  }  InitSiComponents(szFileIniConfig);  InitSiteSelector(szFileIniConfig);  /* get Default Setup Type */  GetPrivateProfileString("General", "Default Setup Type", "", szBuf, MAX_BUF, szFileIniConfig);  if((lstrcmpi(szBuf, "Setup Type 0") == 0) && diSetupType.stSetupType0.bVisible)  {    dwSetupType     = ST_RADIO0;    dwTempSetupType = dwSetupType;    SiCNodeSetItemsSelected(diSetupType.stSetupType0.dwCItems, diSetupType.stSetupType0.dwCItemsSelected);  }  else if((lstrcmpi(szBuf, "Setup Type 1") == 0) && diSetupType.stSetupType1.bVisible)  {    dwSetupType     = ST_RADIO1;    dwTempSetupType = dwSetupType;    SiCNodeSetItemsSelected(diSetupType.stSetupType1.dwCItems, diSetupType.stSetupType1.dwCItemsSelected);  }  else if((lstrcmpi(szBuf, "Setup Type 2") == 0) && diSetupType.stSetupType2.bVisible)  {    dwSetupType     = ST_RADIO2;    dwTempSetupType = dwSetupType;    SiCNodeSetItemsSelected(diSetupType.stSetupType2.dwCItems, diSetupType.stSetupType2.dwCItemsSelected);  }  else if((lstrcmpi(szBuf, "Setup Type 3") == 0) && diSetupType.stSetupType3.bVisible)  {    dwSetupType     = ST_RADIO3;    dwTempSetupType = dwSetupType;    SiCNodeSetItemsSelected(diSetupType.stSetupType3.dwCItems, diSetupType.stSetupType3.dwCItemsSelected);  }  else  {    if(diSetupType.stSetupType0.bVisible)    {      dwSetupType     = ST_RADIO0;      dwTempSetupType = dwSetupType;      SiCNodeSetItemsSelected(diSetupType.stSetupType0.dwCItems, diSetupType.stSetupType0.dwCItemsSelected);    }    else if(diSetupType.stSetupType1.bVisible)    {      dwSetupType     = ST_RADIO1;      dwTempSetupType = dwSetupType;      SiCNodeSetItemsSelected(diSetupType.stSetupType1.dwCItems, diSetupType.stSetupType1.dwCItemsSelected);    }    else if(diSetupType.stSetupType2.bVisible)    {      dwSetupType     = ST_RADIO2;      dwTempSetupType = dwSetupType;      SiCNodeSetItemsSelected(diSetupType.stSetupType2.dwCItems, diSetupType.stSetupType2.dwCItemsSelected);    }    else if(diSetupType.stSetupType3.bVisible)    {      dwSetupType     = ST_RADIO3;      dwTempSetupType = dwSetupType;      SiCNodeSetItemsSelected(diSetupType.stSetupType3.dwCItems, diSetupType.stSetupType3.dwCItemsSelected);    }  }  /* get install size required in temp for component Xpcom.  Sould be in Kilobytes */  GetPrivateProfileString("Core", "Install Size", "", szBuf, MAX_BUF, szFileIniConfig);  if(*szBuf != '\0')    siCFXpcomFile.ullInstallSize = _atoi64(szBuf);  else    siCFXpcomFile.ullInstallSize = 0;  GetPrivateProfileString("SmartDownload-Netscape Install", "core_file",        "", siSDObject.szXpcomFile,       MAX_BUF, szFileIniConfig);  GetPrivateProfileString("SmartDownload-Netscape Install", "core_file_path",   "", siSDObject.szXpcomFilePath,   MAX_BUF, szFileIniConfig);  GetPrivateProfileString("SmartDownload-Netscape Install", "xpcom_dir",        "", siSDObject.szXpcomDir,        MAX_BUF, szFileIniConfig);  GetPrivateProfileString("SmartDownload-Netscape Install", "no_ads",           "", siSDObject.szNoAds,           MAX_BUF, szFileIniConfig);  GetPrivateProfileString("SmartDownload-Netscape Install", "silent",           "", siSDObject.szSilent,          MAX_BUF, szFileIniConfig);  GetPrivateProfileString("SmartDownload-Netscape Install", "execution",        "", siSDObject.szExecution,       MAX_BUF, szFileIniConfig);  GetPrivateProfileString("SmartDownload-Netscape Install", "confirm_install",  "", siSDObject.szConfirmInstall,  MAX_BUF, szFileIniConfig);  GetPrivateProfileString("SmartDownload-Netscape Install", "extract_msg",      "", siSDObject.szExtractMsg,      MAX_BUF, szFileIniConfig);  GetPrivateProfileString("SmartDownload-Execution",        "exe",              "", siSDObject.szExe,             MAX_BUF, szFileIniConfig);  GetPrivateProfileString("SmartDownload-Execution",        "exe_param",        "", siSDObject.szExeParam,        MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Core",                           "Source",           "", szBuf,                        MAX_BUF, szFileIniConfig);  DecryptString(siCFXpcomFile.szSource, szBuf);  GetPrivateProfileString("Core",                           "Destination",      "", szBuf,                        MAX_BUF, szFileIniConfig);  DecryptString(siCFXpcomFile.szDestination, szBuf);  GetPrivateProfileString("Core",                           "Message",          "", siCFXpcomFile.szMessage,      MAX_BUF, szFileIniConfig);  GetPrivateProfileString("Core",                           "Cleanup",          "", szBuf,                        MAX_BUF, szFileIniConfig);  if(lstrcmpi(szBuf, "FALSE") == 0)  {    siCFXpcomFile.bCleanup = FALSE;  }  else  {    siCFXpcomFile.bCleanup = TRUE;  }  hdc = GetDC(hWndMain);  OutputSetupTitle(hdc);  ReleaseDC(hWndMain, hdc);  CleanupXpcomFile();  return(0);}