summaryrefslogtreecommitdiff
path: root/setup_native
diff options
context:
space:
mode:
Diffstat (limited to 'setup_native')
-rw-r--r--setup_native/scripts/makefile.mk10
-rwxr-xr-xsetup_native/source/java/javaversion.dat26
-rw-r--r--setup_native/source/java/javaversion2.dat26
-rw-r--r--setup_native/source/win32/customactions/reg4allmsdoc/exports.dxp2
-rw-r--r--setup_native/source/win32/customactions/reg4allmsdoc/reg4allmsi.cxx213
-rw-r--r--[-rwxr-xr-x]setup_native/source/win32/customactions/reg64/makefile.mk0
-rw-r--r--[-rwxr-xr-x]setup_native/source/win32/customactions/reg64/reg64.cxx0
7 files changed, 231 insertions, 46 deletions
diff --git a/setup_native/scripts/makefile.mk b/setup_native/scripts/makefile.mk
index b8fc6649eddf..de91bd011efe 100644
--- a/setup_native/scripts/makefile.mk
+++ b/setup_native/scripts/makefile.mk
@@ -50,7 +50,8 @@ UNIXTEXT= \
UNIXTEXT+= $(BIN)$/stclient_wrapper.sh
.ENDIF
-FAKEDB=$(BIN)$/noarch/fake-db-1.0-0.noarch.rpm
+NOARCH=$(BIN)$/noarch
+FAKEDB=$(NOARCH)/fake-db-1.0-0.noarch.rpm
FAKEDBROOT=$(COMMONMISC)/$(TARGET)/fake-db-root
# --- Targets ------------------------------------------------------
@@ -58,7 +59,7 @@ FAKEDBROOT=$(COMMONMISC)/$(TARGET)/fake-db-root
.ENDIF # L10N_framework
.INCLUDE : target.mk
.IF "$(L10N_framework)"==""
-.IF "$(OS)" == "SOLARIS" || "$(OS)" == "LINUX"
+.IF "$(OS)" == "SOLARIS" || ( "$(OS)" == "LINUX" && "$(PKGFORMAT)"!="$(PKGFORMAT:s/rpm//)" )
ALLTAR: $(BIN)$/install $(BIN)$/uninstall
@@ -69,18 +70,21 @@ $(BIN)$/install: install_$(OS:l).sh
.ENDIF
.IF "$(OS)" == "LINUX"
+.IF "$(PKGFORMAT)"!="$(PKGFORMAT:s/rpm//)"
$(FAKEDB) : fake-db.spec
$(MKDIRHIER) $(FAKEDBROOT)
$(RPM) --define "_builddir $(shell @cd $(FAKEDBROOT) && pwd)" --define "_rpmdir $(shell @cd $(BIN) && pwd)" -bb $<
+ chmod g+w $(NOARCH)
$(BIN)$/install: $(FAKEDB)
+.ENDIF # "$(PKGFORMAT)"!="$(PKGFORMAT:s/rpm//)"
$(BIN)$/uninstall: uninstall_linux.sh
$(TYPE) $< | tr -d "\015" > $@
-chmod 775 $@
-.ENDIF
+.ENDIF # "$(OS)" == "LINUX"
.IF "$(OS)" == "SOLARIS"
diff --git a/setup_native/source/java/javaversion.dat b/setup_native/source/java/javaversion.dat
index 17084cc92234..461bd7d6579a 100755
--- a/setup_native/source/java/javaversion.dat
+++ b/setup_native/source/java/javaversion.dat
@@ -26,30 +26,30 @@
#*************************************************************************
# GUI String in the installer ("Java Runtime Environment (${JAVAVERSION})")
-JAVAVERSION=Java 6 Update 18
-WINDOWSJAVAVERSION=Java 6 Update 18
+JAVAVERSION=Java 6 Update 19
+WINDOWSJAVAVERSION=Java 6 Update 19
# Windows (scp2 and downloadtemplate.nsi)
-WINDOWSJAVAFILENAME=jre-6u18-windows-i586.exe
-WINDOWSJAVAREGISTRYENTRY=1.6.0_18
+WINDOWSJAVAFILENAME=jre-6u19-windows-i586.exe
+WINDOWSJAVAREGISTRYENTRY=1.6.0_19
# Linux (scp2)
-LINUXJAVAFILENAME=jre-6u18-linux-i586.rpm
+LINUXJAVAFILENAME=jre-6u19-linux-i586.rpm
# Linux (rpmUnit.xml, rpm -qp <filename> )
-LINUXJAVANAME=jre-1.6.0_18-fcs
+LINUXJAVANAME=jre-1.6.0_19-fcs
# Linux-x64 (scp2)
-LINUXX64JAVAFILENAME=jre-6u18-linux-amd64.rpm
+LINUXX64JAVAFILENAME=jre-6u19-linux-amd64.rpm
# Solaris Sparc (scp2)
-SOLSJAVARTPACKED=SUNWj6rt_1_6_0_18_sparc.tar.gz
-SOLSJAVACFGPACKED=SUNWj6cfg_1_6_0_18_sparc.tar.gz
-SOLSJAVAMANPACKED=SUNWj6man_1_6_0_18_sparc.tar.gz
+SOLSJAVARTPACKED=SUNWj6rt_1_6_0_19_sparc.tar.gz
+SOLSJAVACFGPACKED=SUNWj6cfg_1_6_0_19_sparc.tar.gz
+SOLSJAVAMANPACKED=SUNWj6man_1_6_0_19_sparc.tar.gz
# Solaris x86 (scp2)
-SOLIJAVARTPACKED=SUNWj6rt_1_6_0_18_x86.tar.gz
-SOLIJAVACFGPACKED=SUNWj6cfg_1_6_0_18_x86.tar.gz
-SOLIJAVAMANPACKED=SUNWj6man_1_6_0_18_x86.tar.gz
+SOLIJAVARTPACKED=SUNWj6rt_1_6_0_19_x86.tar.gz
+SOLIJAVACFGPACKED=SUNWj6cfg_1_6_0_19_x86.tar.gz
+SOLIJAVAMANPACKED=SUNWj6man_1_6_0_19_x86.tar.gz
# Solaris (pkgUnit.xml, needs only to be changed in major changes)
SOLARISJAVART=SUNWj6rt
diff --git a/setup_native/source/java/javaversion2.dat b/setup_native/source/java/javaversion2.dat
index 17084cc92234..461bd7d6579a 100644
--- a/setup_native/source/java/javaversion2.dat
+++ b/setup_native/source/java/javaversion2.dat
@@ -26,30 +26,30 @@
#*************************************************************************
# GUI String in the installer ("Java Runtime Environment (${JAVAVERSION})")
-JAVAVERSION=Java 6 Update 18
-WINDOWSJAVAVERSION=Java 6 Update 18
+JAVAVERSION=Java 6 Update 19
+WINDOWSJAVAVERSION=Java 6 Update 19
# Windows (scp2 and downloadtemplate.nsi)
-WINDOWSJAVAFILENAME=jre-6u18-windows-i586.exe
-WINDOWSJAVAREGISTRYENTRY=1.6.0_18
+WINDOWSJAVAFILENAME=jre-6u19-windows-i586.exe
+WINDOWSJAVAREGISTRYENTRY=1.6.0_19
# Linux (scp2)
-LINUXJAVAFILENAME=jre-6u18-linux-i586.rpm
+LINUXJAVAFILENAME=jre-6u19-linux-i586.rpm
# Linux (rpmUnit.xml, rpm -qp <filename> )
-LINUXJAVANAME=jre-1.6.0_18-fcs
+LINUXJAVANAME=jre-1.6.0_19-fcs
# Linux-x64 (scp2)
-LINUXX64JAVAFILENAME=jre-6u18-linux-amd64.rpm
+LINUXX64JAVAFILENAME=jre-6u19-linux-amd64.rpm
# Solaris Sparc (scp2)
-SOLSJAVARTPACKED=SUNWj6rt_1_6_0_18_sparc.tar.gz
-SOLSJAVACFGPACKED=SUNWj6cfg_1_6_0_18_sparc.tar.gz
-SOLSJAVAMANPACKED=SUNWj6man_1_6_0_18_sparc.tar.gz
+SOLSJAVARTPACKED=SUNWj6rt_1_6_0_19_sparc.tar.gz
+SOLSJAVACFGPACKED=SUNWj6cfg_1_6_0_19_sparc.tar.gz
+SOLSJAVAMANPACKED=SUNWj6man_1_6_0_19_sparc.tar.gz
# Solaris x86 (scp2)
-SOLIJAVARTPACKED=SUNWj6rt_1_6_0_18_x86.tar.gz
-SOLIJAVACFGPACKED=SUNWj6cfg_1_6_0_18_x86.tar.gz
-SOLIJAVAMANPACKED=SUNWj6man_1_6_0_18_x86.tar.gz
+SOLIJAVARTPACKED=SUNWj6rt_1_6_0_19_x86.tar.gz
+SOLIJAVACFGPACKED=SUNWj6cfg_1_6_0_19_x86.tar.gz
+SOLIJAVAMANPACKED=SUNWj6man_1_6_0_19_x86.tar.gz
# Solaris (pkgUnit.xml, needs only to be changed in major changes)
SOLARISJAVART=SUNWj6rt
diff --git a/setup_native/source/win32/customactions/reg4allmsdoc/exports.dxp b/setup_native/source/win32/customactions/reg4allmsdoc/exports.dxp
index 364ebc705df8..566981ba569e 100644
--- a/setup_native/source/win32/customactions/reg4allmsdoc/exports.dxp
+++ b/setup_native/source/win32/customactions/reg4allmsdoc/exports.dxp
@@ -1 +1,3 @@
FindRegisteredExtensions
+LookForRegisteredExtensions
+RegisterSomeExtensions \ No newline at end of file
diff --git a/setup_native/source/win32/customactions/reg4allmsdoc/reg4allmsi.cxx b/setup_native/source/win32/customactions/reg4allmsdoc/reg4allmsi.cxx
index 1be921ca5846..3aba597098fb 100644
--- a/setup_native/source/win32/customactions/reg4allmsdoc/reg4allmsi.cxx
+++ b/setup_native/source/win32/customactions/reg4allmsdoc/reg4allmsi.cxx
@@ -68,6 +68,11 @@ static const CHAR* g_Extensions[] =
0
};
+static const int WORD_START = 0;
+static const int EXCEL_START = 7;
+static const int POWERPOINT_START = 15;
+static const int POWERPOINT_END = 23;
+
// ".xlam", // Office Excel 2007 XML macro-enabled add-in
// ".ppam", // Office PowerPoint 2007 macro-enabled XML add-in
// ".ppsm", // Office PowerPoint 2007 macro-enabled XML show
@@ -90,15 +95,6 @@ static inline void OutputDebugStringFormat( LPCSTR, ... )
#endif
//----------------------------------------------------------
-static bool IsModuleSelectedForInstallation( MSIHANDLE handle, LPCTSTR name )
-{
- INSTALLSTATE current_state;
- INSTALLSTATE future_state;
- MsiGetFeatureState(handle, name, &current_state, &future_state);
- return (future_state == INSTALLSTATE_LOCAL);
-}
-
-//----------------------------------------------------------
static BOOL CheckExtensionInRegistry( LPCSTR lpSubKey )
{
BOOL bRet = false;
@@ -264,6 +260,23 @@ bool IsSetMsiProp( MSIHANDLE handle, LPCSTR name )
}
//----------------------------------------------------------
+static void registerForExtension( MSIHANDLE handle, const int nIndex, bool bRegister )
+{
+ CHAR sPropName[256];
+ StringCchCopyA( sPropName, 256, "REGISTER_" );
+ StringCchCatA( sPropName, 256, (g_Extensions[nIndex])+1 );
+ CharUpperBuffA( sPropName+9, 4 );
+
+ if ( bRegister ) {
+ MsiSetPropertyA( handle, sPropName, "1" );
+ OutputDebugStringFormat( "Set MSI property %s.\n", sPropName );
+ } else {
+ MsiSetPropertyA( handle, sPropName, "0" );
+ OutputDebugStringFormat( "Unset MSI property %s.\n", sPropName );
+ }
+}
+
+//----------------------------------------------------------
static void registerForExtensions( MSIHANDLE handle, BOOL bRegisterAll )
{ // Check all file extensions
int nIndex = 0;
@@ -271,23 +284,180 @@ static void registerForExtensions( MSIHANDLE handle, BOOL bRegisterAll )
{
BOOL bRegister = bRegisterAll || CheckExtensionInRegistry( g_Extensions[nIndex] );
if ( bRegister )
- {
- CHAR sPropName[256];
- StringCchCopyA( sPropName, 256, "REGISTER_" );
- StringCchCatA( sPropName, 256, (g_Extensions[nIndex])+1 );
- CharUpperBuffA( sPropName+9, 4 );
- MsiSetPropertyA( handle, sPropName, "1" );
- OutputDebugStringFormat( "Set MSI property %s.\n", sPropName );
- }
+ registerForExtension( handle, nIndex, true );
+ ++nIndex;
+ }
+}
+
+//----------------------------------------------------------
+static bool checkSomeExtensionInRegistry( const int nStart, const int nEnd )
+{ // Check all file extensions
+ int nIndex = nStart;
+ bool bFound = false;
+
+ while ( !bFound && ( g_Extensions[nIndex] != 0 ) && ( nIndex < nEnd ) )
+ {
+ bFound = ! CheckExtensionInRegistry( g_Extensions[nIndex] );
+
+ if ( bFound )
+ OutputDebugStringFormat( "Found registration for [%s].\n", g_Extensions[nIndex] );
+
++nIndex;
}
+ return bFound;
}
//----------------------------------------------------------
+static void registerSomeExtensions( MSIHANDLE handle, const int nStart, const int nEnd, bool bRegister )
+{ // Check all file extensions
+ int nIndex = nStart;
+
+ while ( ( g_Extensions[nIndex] != 0 ) && ( nIndex < nEnd ) )
+ {
+ registerForExtension( handle, nIndex++, bRegister );
+ }
+}
+
//----------------------------------------------------------
//----------------------------------------------------------
+//----------------------------------------------------------
+extern "C" UINT __stdcall LookForRegisteredExtensions( MSIHANDLE handle )
+{
+ OutputDebugStringFormat( "LookForRegisteredExtensions: " );
+
+ INSTALLSTATE current_state;
+ INSTALLSTATE future_state;
+
+ bool bWriterEnabled = false;
+ bool bCalcEnabled = false;
+ bool bImpressEnabled = false;
+ bool bRegisterNone = IsSetMsiProp( handle, "REGISTER_NO_MSO_TYPES" );
+
+ if ( ( ERROR_SUCCESS == MsiGetFeatureState( handle, L"gm_p_Wrt", &current_state, &future_state ) ) &&
+ ( (future_state == INSTALLSTATE_LOCAL) || ((current_state == INSTALLSTATE_LOCAL) && (future_state == INSTALLSTATE_UNKNOWN) ) ) )
+ bWriterEnabled = true;
+
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Install state Writer is [%d], will be [%d]", current_state, future_state );
+ if ( bWriterEnabled )
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Writer is enabled" );
+ else
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Writer is NOT enabled" );
+
+ if ( ( ERROR_SUCCESS == MsiGetFeatureState( handle, L"gm_p_Calc", &current_state, &future_state ) ) &&
+ ( (future_state == INSTALLSTATE_LOCAL) || ((current_state == INSTALLSTATE_LOCAL) && (future_state == INSTALLSTATE_UNKNOWN) ) ) )
+ bCalcEnabled = true;
+
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Install state Calc is [%d], will be [%d]", current_state, future_state );
+ if ( bCalcEnabled )
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Calc is enabled" );
+ else
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Calc is NOT enabled" );
+
+ if ( ( ERROR_SUCCESS == MsiGetFeatureState( handle, L"gm_p_Impress", &current_state, &future_state ) ) &&
+ ( (future_state == INSTALLSTATE_LOCAL) || ((current_state == INSTALLSTATE_LOCAL) && (future_state == INSTALLSTATE_UNKNOWN) ) ) )
+ bImpressEnabled = true;
+
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Install state Impress is [%d], will be [%d]", current_state, future_state );
+ if ( bImpressEnabled )
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Impress is enabled" );
+ else
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Impress is NOT enabled" );
+
+ MsiSetPropertyA( handle, "SELECT_WORD", "" );
+ MsiSetPropertyA( handle, "SELECT_EXCEL", "" );
+ MsiSetPropertyA( handle, "SELECT_POWERPOINT", "" );
+
+ if ( ! bRegisterNone )
+ {
+ if ( IsSetMsiProp( handle, "REGISTER_ALL_MSO_TYPES" ) )
+ {
+ if ( bWriterEnabled )
+ MsiSetPropertyA( handle, "SELECT_WORD", "1" );
+ if ( bCalcEnabled )
+ MsiSetPropertyA( handle, "SELECT_EXCEL", "1" );
+ if ( bImpressEnabled )
+ MsiSetPropertyA( handle, "SELECT_POWERPOINT", "1" );
+ }
+ else
+ {
+ if ( bWriterEnabled && ! checkSomeExtensionInRegistry( WORD_START, EXCEL_START ) )
+ {
+ MsiSetPropertyA( handle, "SELECT_WORD", "1" );
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Register for MicroSoft Word" );
+ }
+ if ( bCalcEnabled && ! checkSomeExtensionInRegistry( EXCEL_START, POWERPOINT_START ) )
+ {
+ MsiSetPropertyA( handle, "SELECT_EXCEL", "1" );
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Register for MicroSoft Excel" );
+ }
+ if ( bImpressEnabled && ! checkSomeExtensionInRegistry( POWERPOINT_START, POWERPOINT_END ) )
+ {
+ MsiSetPropertyA( handle, "SELECT_POWERPOINT", "1" );
+ OutputDebugStringFormat( "LookForRegisteredExtensions: Register for MicroSoft PowerPoint" );
+ }
+ }
+ }
+
+ MsiSetPropertyA( handle, "FILETYPEDIALOGUSED", "1" );
+
+ return ERROR_SUCCESS;
+}
+
+//----------------------------------------------------------
+extern "C" UINT __stdcall RegisterSomeExtensions( MSIHANDLE handle )
+{
+ OutputDebugStringFormat( "RegisterSomeExtensions: " );
+
+ if ( IsSetMsiProp( handle, "SELECT_WORD" ) )
+ {
+ registerSomeExtensions( handle, WORD_START, EXCEL_START, true );
+ MsiSetFeatureState( handle, L"gm_p_Wrt_MSO_Reg", INSTALLSTATE_LOCAL );
+ OutputDebugStringFormat( "RegisterSomeExtensions: Register for MicroSoft Word" );
+ }
+ else
+ {
+ registerSomeExtensions( handle, WORD_START, EXCEL_START, false );
+ MsiSetFeatureState( handle, L"gm_p_Wrt_MSO_Reg", INSTALLSTATE_ABSENT );
+ }
+
+ if ( IsSetMsiProp( handle, "SELECT_EXCEL" ) )
+ {
+ registerSomeExtensions( handle, EXCEL_START, POWERPOINT_START, true );
+ MsiSetFeatureState( handle, L"gm_p_Calc_MSO_Reg", INSTALLSTATE_LOCAL );
+ OutputDebugStringFormat( "RegisterSomeExtensions: Register for MicroSoft Excel" );
+ }
+ else
+ {
+ registerSomeExtensions( handle, EXCEL_START, POWERPOINT_START, false );
+ MsiSetFeatureState( handle, L"gm_p_Calc_MSO_Reg", INSTALLSTATE_ABSENT );
+ }
+
+ if ( IsSetMsiProp( handle, "SELECT_POWERPOINT" ) )
+ {
+ registerSomeExtensions( handle, POWERPOINT_START, POWERPOINT_END, true );
+ MsiSetFeatureState( handle, L"gm_p_Impress_MSO_Reg", INSTALLSTATE_LOCAL );
+ OutputDebugStringFormat( "RegisterSomeExtensions: Register for MicroSoft PowerPoint" );
+ }
+ else
+ {
+ registerSomeExtensions( handle, POWERPOINT_START, POWERPOINT_END, false );
+ MsiSetFeatureState( handle, L"gm_p_Impress_MSO_Reg", INSTALLSTATE_ABSENT );
+ }
+
+ return ERROR_SUCCESS;
+}
+
+//----------------------------------------------------------
extern "C" UINT __stdcall FindRegisteredExtensions( MSIHANDLE handle )
{
+ if ( IsSetMsiProp( handle, "FILETYPEDIALOGUSED" ) )
+ {
+ OutputDebugStringFormat( "FindRegisteredExtensions: FILETYPEDIALOGUSED!" );
+ return ERROR_SUCCESS;
+ }
+
+ OutputDebugStringFormat( "FindRegisteredExtensions:" );
+
bool bRegisterAll = IsSetMsiProp( handle, "REGISTER_ALL_MSO_TYPES" );
if ( IsSetMsiProp( handle, "REGISTER_NO_MSO_TYPES" ) )
@@ -300,6 +470,15 @@ extern "C" UINT __stdcall FindRegisteredExtensions( MSIHANDLE handle )
else
OutputDebugStringFormat( "FindRegisteredExtensions: " );
+ // setting the msi properties SELECT_* will force registering for all corresponding
+ // file types
+ if ( IsSetMsiProp( handle, "SELECT_WORD" ) )
+ registerSomeExtensions( handle, WORD_START, EXCEL_START, true );
+ if ( IsSetMsiProp( handle, "SELECT_EXCEL" ) )
+ registerSomeExtensions( handle, EXCEL_START, POWERPOINT_START, true );
+ if ( IsSetMsiProp( handle, "SELECT_POWERPOINT" ) )
+ registerSomeExtensions( handle, POWERPOINT_START, POWERPOINT_END, true );
+
registerForExtensions( handle, bRegisterAll );
return ERROR_SUCCESS;
diff --git a/setup_native/source/win32/customactions/reg64/makefile.mk b/setup_native/source/win32/customactions/reg64/makefile.mk
index 04117c10365d..04117c10365d 100755..100644
--- a/setup_native/source/win32/customactions/reg64/makefile.mk
+++ b/setup_native/source/win32/customactions/reg64/makefile.mk
diff --git a/setup_native/source/win32/customactions/reg64/reg64.cxx b/setup_native/source/win32/customactions/reg64/reg64.cxx
index 2264a228030d..2264a228030d 100755..100644
--- a/setup_native/source/win32/customactions/reg64/reg64.cxx
+++ b/setup_native/source/win32/customactions/reg64/reg64.cxx