wsprintf(szBuf, szMsg, siCObject->szDescriptionShort); ShowMessage(szBuf, TRUE); DecryptString(szParameterBuf, siCObject->szParameter); WinSpawn(szArchive, szParameterBuf, szTempDir, SW_SHOWNORMAL, TRUE); ShowMessage(szBuf, FALSE);
WinSpawn(szSpawnFile, szParameterBuf, szTempDir, SW_SHOWNORMAL, TRUE);  if(siCObject->dwAttributes & SIC_UNCOMPRESS) FileDelete(szSpawnFile);  ShowMessage(szMessageString, FALSE);
HRESULT LaunchApps(){  DWORD     dwIndex0;  BOOL      bArchiveFound;  siC       *siCObject = NULL;  char      szArchive[MAX_BUF];  char      szBuf[MAX_BUF];  char      szMsg[MAX_BUF];  LogISLaunchApps(W_START);  if(!GetPrivateProfileString("Messages", "MSG_CONFIGURING", "", szMsg, sizeof(szMsg), szFileIniInstall))    return(1);  dwIndex0 = 0;  siCObject = SiCNodeGetObject(dwIndex0, TRUE, AC_ALL);  while(siCObject)  {    /* launch 3rd party executable */    if((siCObject->dwAttributes & SIC_SELECTED) && (siCObject->dwAttributes & SIC_LAUNCHAPP))    {      bArchiveFound = TRUE;      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))          {            bArchiveFound = FALSE;          }        }      }      if(bArchiveFound)      {        char szParameterBuf[MAX_BUF];        LogISLaunchAppsComponent(siCObject->szDescriptionShort);        wsprintf(szBuf, szMsg, siCObject->szDescriptionShort);        ShowMessage(szBuf, TRUE);        DecryptString(szParameterBuf, siCObject->szParameter);        WinSpawn(szArchive, szParameterBuf, szTempDir, SW_SHOWNORMAL, TRUE);        ShowMessage(szBuf, FALSE);      }    }    ++dwIndex0;    siCObject = SiCNodeGetObject(dwIndex0, TRUE, AC_ALL);  }  LogISLaunchApps(W_END);  return(0);}