summaryrefslogtreecommitdiff
path: root/desktop/win32
diff options
context:
space:
mode:
authorIvo Hinkelmann <ihi@openoffice.org>2008-07-16 15:32:01 +0000
committerIvo Hinkelmann <ihi@openoffice.org>2008-07-16 15:32:01 +0000
commita7a39823402d337e70a166c96299d6e3b8168553 (patch)
tree2900708fb70f165f7aad5aacc8f80c70921bd559 /desktop/win32
parentdeb37d45a95355fb6950345f4734d0538e3bb559 (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.cpp29
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' )