if(NS_LoadString(hSetupRscInst, IDS_STR_COPYINGFILE, szStrCopyingFile, MAX_BUF) != WIZ_OK)
if(!GetPrivateProfileString("Messages", "STR_COPYINGFILE", "", szStrCopyingFile, sizeof(szStrCopyingFile), szFileIniInstall))
HRESULT SmartUpdateJars(){  DWORD     dwIndex0;  siC       *siCObject = NULL;  HRESULT   hrResult;  char      szBuf[MAX_BUF];  char      szEXpiInstall[MAX_BUF];  char      szArchive[MAX_BUF];  char      szMsgSmartUpdateStart[MAX_BUF];  char      szDlgExtractingTitle[MAX_BUF];  if(NS_LoadString(hSetupRscInst, IDS_MSG_SMARTUPDATE_START, szMsgSmartUpdateStart, MAX_BUF) != WIZ_OK)    return(1);  if(NS_LoadString(hSetupRscInst, IDS_DLG_EXTRACTING_TITLE, szDlgExtractingTitle, MAX_BUF) != WIZ_OK)    return(1);  if(NS_LoadString(hSetupRscInst, IDS_STR_PROCESSINGFILE, szStrProcessingFile, MAX_BUF) != WIZ_OK)    exit(1);  if(NS_LoadString(hSetupRscInst, IDS_STR_INSTALLING, szStrInstalling, MAX_BUF) != WIZ_OK)    exit(1);  if(NS_LoadString(hSetupRscInst, IDS_STR_COPYINGFILE, szStrCopyingFile, MAX_BUF) != WIZ_OK)    exit(1);  ShowMessage(szMsgSmartUpdateStart, TRUE);  if(InitializeXPIStub() == WIZ_OK)  {    LogISXPInstall(W_START);    lstrcpy(szBuf, sgProduct.szPath);    if(*sgProduct.szSubPath != '\0')    {      AppendBackSlash(szBuf, sizeof(szBuf));      lstrcat(szBuf, sgProduct.szSubPath);    }    hrResult = pfnXpiInit(szBuf, FILE_INSTALL_LOG, cbXPIProgress);    ShowMessage(szMsgSmartUpdateStart, FALSE);    InitProgressDlg();    GetTotalArchivesToInstall();    SetWindowText(dlgInfo.hWndDlg, szDlgExtractingTitle);    dwIndex0          = 0;    dwCurrentArchive  = 0;    dwTotalArchives   = (dwTotalArchives * 2) + 1;    bBarberBar        = FALSE;    siCObject         = SiCNodeGetObject(dwIndex0, TRUE, AC_ALL);    while(siCObject)    {      if(siCObject->dwAttributes & SIC_SELECTED)        /* Since the archive is selected, we need to process the file ops here */         ProcessFileOps(T_PRE_ARCHIVE, siCObject->szReferenceName);      /* launch smartupdate engine for earch jar to be installed */      if((siCObject->dwAttributes & SIC_SELECTED)   &&        !(siCObject->dwAttributes & SIC_LAUNCHAPP) &&        !(siCObject->dwAttributes & SIC_DOWNLOAD_ONLY))      {        lFileCounter      = 0;        lBarberCounter    = 0;        dwBarberDirection = BDIR_RIGHT;			  dlgInfo.nFileBars = 0;        UpdateGaugeFileProgressBar(0);        lstrcpy(szArchive, sgProduct.szAlternateArchiveSearchPath);        AppendBackSlash(szArchive, sizeof(szArchive));        lstrcat(szArchive, siCObject->szArchiveName);        if((*sgProduct.szAlternateArchiveSearchPath == '\0') || (!FileExists(szArchive)))        {          lstrcpy(szArchive, szSetupDir);          AppendBackSlash(szArchive, sizeof(szArchive));          lstrcat(szArchive, siCObject->szArchiveName);          if(!FileExists(szArchive))          {            lstrcpy(szArchive, szTempDir);            AppendBackSlash(szArchive, sizeof(szArchive));            lstrcat(szArchive, siCObject->szArchiveName);            if(!FileExists(szArchive))            {              char szEFileNotFound[MAX_BUF];              if(NS_LoadString(hSetupRscInst, IDS_ERROR_FILE_NOT_FOUND, szEFileNotFound, MAX_BUF) == WIZ_OK)              {                wsprintf(szBuf, szEFileNotFound, szArchive);                PrintError(szBuf, ERROR_CODE_HIDE);              }              return(1);            }          }        }        if(dwCurrentArchive == 0)        {          ++dwCurrentArchive;          UpdateGaugeArchiveProgressBar((unsigned)(((double)(dwCurrentArchive)/(double)dwTotalArchives)*(double)100));        }        wsprintf(szBuf, szStrInstalling, siCObject->szDescriptionShort);        SetDlgItemText(dlgInfo.hWndDlg, IDC_STATUS0, szBuf);        LogISXPInstallComponent(siCObject->szDescriptionShort);        hrResult = pfnXpiInstall(szArchive, "", 0xFFFF);        if(hrResult == E_REBOOT)          bReboot = TRUE;        else if((hrResult != WIZ_OK) &&               !(siCObject->dwAttributes & SIC_IGNORE_XPINSTALL_ERROR))        {          LogMSXPInstallStatus(siCObject->szArchiveName, hrResult);          LogISXPInstallComponentResult(hrResult);          if(NS_LoadString(hSetupRscInst, IDS_ERROR_XPI_INSTALL, szEXpiInstall, MAX_BUF) == WIZ_OK)          {            char szErrorString[MAX_BUF];            GetErrorString(hrResult, szErrorString, sizeof(szErrorString));            wsprintf(szBuf, "%s - %s: %d %s", szEXpiInstall, siCObject->szDescriptionShort, hrResult, szErrorString);            PrintError(szBuf, ERROR_CODE_HIDE);          }          /* break out of the siCObject while loop */          break;        }        ++dwCurrentArchive;        UpdateGaugeArchiveProgressBar((unsigned)(((double)(dwCurrentArchive)/(double)dwTotalArchives)*(double)100));        ProcessWindowsMessages();        LogISXPInstallComponentResult(hrResult);        if((hrResult != WIZ_OK) &&          (siCObject->dwAttributes & SIC_IGNORE_XPINSTALL_ERROR))          /* reset the result to WIZ_OK if there was an error and the           * component's attributes contains SIC_IGNORE_XPINSTALL_ERROR.           * This should be done after LogISXPInstallComponentResult()           * because we still should log the error value. */          hrResult = WIZ_OK;      }      if(siCObject->dwAttributes & SIC_SELECTED)        /* Since the archive is selected, we need to do the file ops here */         ProcessFileOps(T_POST_ARCHIVE, siCObject->szReferenceName);      ++dwIndex0;      siCObject = SiCNodeGetObject(dwIndex0, TRUE, AC_ALL);    } /* while(siCObject) */    pfnXpiExit();    DeInitProgressDlg();  }  else  {    ShowMessage(szMsgSmartUpdateStart, FALSE);  }  DeInitializeXPIStub();  LogISXPInstall(W_END);  return(hrResult);}