diff options
author | Ivo Hinkelmann <ihi@openoffice.org> | 2008-07-16 15:32:01 +0000 |
---|---|---|
committer | Ivo Hinkelmann <ihi@openoffice.org> | 2008-07-16 15:32:01 +0000 |
commit | a7a39823402d337e70a166c96299d6e3b8168553 (patch) | |
tree | 2900708fb70f165f7aad5aacc8f80c70921bd559 /desktop/win32 | |
parent | deb37d45a95355fb6950345f4734d0538e3bb559 (diff) |
INTEGRATION: CWS sysui26 (1.14.74); FILE MERGED
2008/07/03 14:42:01 dv 1.14.74.1: Allow setting of msi properties for mso file types
Diffstat (limited to 'desktop/win32')
-rw-r--r-- | desktop/win32/source/setup/setup.cpp | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/desktop/win32/source/setup/setup.cpp b/desktop/win32/source/setup/setup.cpp index b4db008aedc6..7de05d9fda92 100644 --- a/desktop/win32/source/setup/setup.cpp +++ b/desktop/win32/source/setup/setup.cpp @@ -7,7 +7,7 @@ * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: setup.cpp,v $ - * $Revision: 1.14 $ + * $Revision: 1.15 $ * * This file is part of OpenOffice.org. * @@ -68,8 +68,12 @@ #define PARAM_ADMIN TEXT( "/A " ) #define PARAM_TRANSFORM TEXT( " TRANSFORMS=" ) #define PARAM_REBOOT TEXT( " REBOOT=Force" ) +#define PARAM_REG_ALL_MSO_TYPES TEXT( "REGISTER_ALL_MSO_TYPES=1 " ) +#define PARAM_REG_NO_MSO_TYPES TEXT( "REGISTER_NO_MSO_TYPES=1 " ) -#define PARAM_RUNNING TEXT( "ignore_running" ) +#define PARAM_RUNNING TEXT( "ignore_running" ) +#define CMDLN_REG_ALL_MSO_TYPES TEXT( "msoreg=1" ) +#define CMDLN_REG_NO_MSO_TYPES TEXT( "msoreg=0" ) #define MSI_DLL TEXT( "msi.dll" ) #define ADVAPI32_DLL TEXT( "advapi32.dll" ) @@ -135,6 +139,9 @@ SetupAppX::SetupAppX() m_bQuiet = false; m_bAdministrative = false; + m_bRegNoMsoTypes = false; + m_bRegAllMsoTypes = false; + m_bIgnoreAlreadyRunning = false; } @@ -844,6 +851,11 @@ boolean SetupAppX::Install( long nLanguage ) // we will always use the parameter setup used int nParLen = lstrlen( PARAM_SETUP_USED ); + if ( m_bRegNoMsoTypes ) + nParLen += lstrlen( PARAM_REG_NO_MSO_TYPES ); + else if ( m_bRegAllMsoTypes ) + nParLen += lstrlen( PARAM_REG_ALL_MSO_TYPES ); + if ( m_pAdvertise ) nParLen += lstrlen( m_pAdvertise ) + 1; // one for the space else @@ -867,6 +879,11 @@ boolean SetupAppX::Install( long nLanguage ) StringCchCopy( pParams, nParLen, PARAM_SETUP_USED ); + if ( m_bRegNoMsoTypes ) + StringCchCat( pParams, nParLen, PARAM_REG_NO_MSO_TYPES ); + else if ( m_bRegAllMsoTypes ) + StringCchCat( pParams, nParLen, PARAM_REG_ALL_MSO_TYPES ); + if ( m_pAdvertise ) StringCchCat( pParams, nParLen, m_pAdvertise ); else if ( m_bAdministrative ) @@ -1502,6 +1519,14 @@ boolean SetupAppX::GetCmdLineParameters( LPTSTR *pCmdLine ) { m_bIgnoreAlreadyRunning = true; } + else if ( _tcsnicmp( pSub, CMDLN_REG_ALL_MSO_TYPES, _tcslen( CMDLN_REG_ALL_MSO_TYPES ) ) == 0 ) + { + m_bRegAllMsoTypes = true; + } + else if ( _tcsnicmp( pSub, CMDLN_REG_NO_MSO_TYPES, _tcslen( CMDLN_REG_NO_MSO_TYPES ) ) == 0 ) + { + m_bRegNoMsoTypes = true; + } else if ( (*pSub) == 'i' || (*pSub) == 'I' || (*pSub) == 'f' || (*pSub) == 'F' || (*pSub) == 'p' || (*pSub) == 'P' || (*pSub) == 'x' || (*pSub) == 'X' || (*pSub) == 'y' || (*pSub) == 'Y' || (*pSub) == 'z' || (*pSub) == 'Z' ) |