--- setup2/inc/main.hxx.orig 2005-06-16 18:49:41 +0400 +++ setup2/inc/main.hxx 2005-09-16 14:09:52 +0400 @@ -170,6 +170,7 @@ PAR_SHOW_HELP, PAR_LANGUAGE, PAR_ALL_USER, + PAR_INSTDB, PAR_IGNORE_OFFICE, PAR_UNKNOWN }; @@ -243,6 +244,9 @@ ByteString m_aUpdateDestPath; ByteString m_aParamFollowApp; ByteString m_SetupIniSourcePath; + + ByteString m_aInstDB; + int m_nLanguage; USHORT m_nWorkStationCnt; USHORT m_nWorkStationIdx; --- setup2/source/ui/main.cxx.orig 2005-09-16 14:15:21 +0400 +++ setup2/source/ui/main.cxx 2005-09-16 14:13:41 +0400 @@ -1258,6 +1258,10 @@ eParameter = PAR_LANGUAGE; else if( aParameter == "ALLUSER" ) // AllUser installation eParameter = PAR_ALL_USER; + + else if( aParameter == "INSTDB" ) // alternative instdb.ins + eParameter = PAR_INSTDB; + else if( aParameter == "IGNORE_OFFICE" ) // Ignore a running Office during workstation install. eParameter = PAR_IGNORE_OFFICE; else @@ -1426,6 +1430,11 @@ else bExtParamError = TRUE; break; + case PAR_INSTDB: if ( GetAdditionalParam( i, aExtendedParam ) ) + m_aInstDB = aExtendedParam; + else + bExtParamError = TRUE; + case PAR_NOGUI: m_bParamDisableGUI = TRUE; break; case PAR_SHOW_HELP: @@ -1480,6 +1489,10 @@ ByteString aScriptName( SETUP_INSTDB_FILE ); SiDirEntry aScript (m_pEnv->GetStartPath()); aScript += aScriptName; + + if ( m_aInstDB.Len() ) { + aScript = m_aInstDB; + } while( (!aScript.Exists()) && (aScript.Level() > 2) ) {