Kaydet (Commit) 5b77c93b authored tarafından Andras Timar's avatar Andras Timar

remove unused product variables from Windows installer

OLDPRODUCT2 - it was a workaround for OOo 1.9, obsolete
SAMEPRODUCTS - same product have the same ProductCode, so installer detect it
anyway under normal circumstances. It is possible that a tester/developer tries
to install the same version with different ProductCode over an existing installation
(e.g. dailyes or RCs). Then we are in trouble. However, SAMEPRODUCTS was not in use.
Moreover, Windows Installer uses only the first three fields of the product version.
So we cannot make difference between e.g. 4.0.3.1 and 4.0.3.2, and this is the new versioning
scheme.
BETAPRODUCTS - LibreOffice have never used different upgrade code (BETAUPGRADECODE) for betas.
OLDPRODUCTSPATCH, SAMEPRODUCTSPATCH, NEWPRODUCTSPATCH - related to old Star Division patching
mechanism, they were commented out anyway.
STUBPRODUCTS, STUBUPGRADECODE - these look useless

Change-Id: I77d67b72e18fa6b3ba4182b99e198c42f247cea4
üst 0e881978
......@@ -40,7 +40,7 @@ ProgressType2 installed
ProgressType3 installs
RebootYesNo Yes
ReinstallModeText omus
SecureCustomProperties NEWPRODUCTS;SAMEPRODUCTS;OLDPRODUCTS;OLDPRODUCTSSAMEMAJOR
SecureCustomProperties NEWPRODUCTS;OLDPRODUCTS
SetupType Typical
STR_NEW_DISPLAY_NAME OOO_STR_NEW_DISPLAY_NAME
STR_EDIT OOO_STR_EDIT
......
......@@ -42,7 +42,7 @@ ProgressType3 installs
Quickstarterlinkname QUICKSTARTERLINKNAMETEMPLATE
RebootYesNo Yes
ReinstallModeText omus
SecureCustomProperties NEWPRODUCTS;SAMEPRODUCTS;OLDPRODUCTS;OLDPRODUCTSSAMEMAJOR;OLDPRODUCTS2;BETAPRODUCTS;STUBPRODUCTS
SecureCustomProperties NEWPRODUCTS;OLDPRODUCTS
SetupType Typical
SELECT_WORD 0
SELECT_EXCEL 0
......
......@@ -41,7 +41,7 @@ ProgressType2 installed
ProgressType3 installs
RebootYesNo Yes
ReinstallModeText omus
SecureCustomProperties NEWPRODUCTS;SAMEPRODUCTS;OLDPRODUCTS;OLDPRODUCTSSAMEMAJOR
SecureCustomProperties NEWPRODUCTS;OLDPRODUCTS
SetupType Typical
STR_NEW_DISPLAY_NAME OOO_STR_NEW_DISPLAY_NAME
STR_EDIT OOO_STR_EDIT
......
......@@ -68,8 +68,6 @@ LibreOffice
GLOBALPATCHFILEGID gid_File_Txt_Patchfiles
SPELLCHECKERFILE spellchecker_selection.txt
OOODOWNLOADNAME 1
BETAUPGRADECODE
STUBUPGRADECODE {0E7B27B8-D658-4BF9-98D6-EC361582EB4A}
CHANGETARGETDIR 1
PATCHCODEFILE ooo_patchcodes.txt
STARTCENTER_ADDFEATURE_URL http://extensions.libreoffice.org/
......@@ -124,8 +122,6 @@ LibreOffice_Dev
GLOBALPATCHFILEGID gid_File_Txt_Patchfiles
SPELLCHECKERFILE spellchecker_selection.txt
OOODOWNLOADNAME 1
BETAUPGRADECODE
STUBUPGRADECODE {0E7B27B8-D658-4BF9-98D6-EC361582EB4A}
CHANGETARGETDIR 1
PATCHCODEFILE ooodev_patchcodes.txt
CODEFILENAME codes_ooodev.txt
......
......@@ -33,7 +33,7 @@ WindowsCustomAction gid_Customaction_RenamePrgFolder
Source = "shlxtmsi.dll";
Target = "RenamePrgFolder";
Inbinarytable = 1;
Assignment1 = ("InstallExecuteSequence", "VersionNT >= 600 And OLDPRODUCTSSAMEMAJOR And Not REMOVE=\"ALL\" And Not PATCH", "ValidateProductID");
Assignment1 = ("InstallExecuteSequence", "VersionNT >= 600 And OLDPRODUCTS And Not REMOVE=\"ALL\" And Not PATCH", "ValidateProductID");
End
WindowsCustomAction gid_Customaction_RemovePrgFolder
......@@ -42,7 +42,7 @@ WindowsCustomAction gid_Customaction_RemovePrgFolder
Source = "shlxtmsi.dll";
Target = "RemovePrgFolder";
Inbinarytable = 1;
Assignment1 = ("InstallExecuteSequence", "VersionNT >= 600 And OLDPRODUCTSSAMEMAJOR And Not REMOVE=\"ALL\" And Not PATCH", "end");
Assignment1 = ("InstallExecuteSequence", "VersionNT >= 600 And OLDPRODUCTS And Not REMOVE=\"ALL\" And Not PATCH", "end");
End
WindowsCustomAction gid_Customaction_Regallmsdocdll
......
......@@ -86,14 +86,6 @@ extern "C" UINT __stdcall CheckVersions( MSIHANDLE hMSI )
free( pVal );
}
pVal = NULL;
if ( GetMsiProp( hMSI, L"SAMEPRODUCTS", &pVal ) && pVal )
{
OutputDebugStringFormat( TEXT("DEBUG: SAMEPRODUCTS found [%s]"), pVal );
if ( *pVal != 0 )
SetMsiErrorCode( MSI_ERROR_SAME_VERSION_FOUND );
free( pVal );
}
pVal = NULL;
if ( GetMsiProp( hMSI, L"OLDPRODUCTS", &pVal ) && pVal )
{
OutputDebugStringFormat( TEXT("DEBUG: OLDPRODUCTS found [%s]"), pVal );
......@@ -102,38 +94,6 @@ extern "C" UINT __stdcall CheckVersions( MSIHANDLE hMSI )
free( pVal );
}
pVal = NULL;
if ( GetMsiProp( hMSI, L"BETAPRODUCTS", &pVal ) && pVal )
{
OutputDebugStringFormat( TEXT("DEBUG: BETAPRODUCTS found [%s]"), pVal );
if ( *pVal != 0 )
SetMsiErrorCode( MSI_ERROR_OLD_VERSION_FOUND );
free( pVal );
}
pVal = NULL;
if ( GetMsiProp( hMSI, L"NEWPRODUCTSPATCH", &pVal ) && pVal )
{
OutputDebugStringFormat( TEXT("DEBUG: NEWPRODUCTSPATCH found [%s]"), pVal );
if ( *pVal != 0 )
SetMsiErrorCode( MSI_ERROR_NEW_PATCH_FOUND );
free( pVal );
}
pVal = NULL;
if ( GetMsiProp( hMSI, L"SAMEPRODUCTSPATCH", &pVal ) && pVal )
{
OutputDebugStringFormat( TEXT("DEBUG: SAMEPRODUCTSPATCH found [%s]"), pVal );
if ( *pVal != 0 )
SetMsiErrorCode( MSI_ERROR_SAME_PATCH_FOUND );
free( pVal );
}
pVal = NULL;
if ( GetMsiProp( hMSI, L"OLDPRODUCTSPATCH", &pVal ) && pVal )
{
OutputDebugStringFormat( TEXT("DEBUG: OLDPRODUCTSPATCH found [%s]"), pVal );
if ( *pVal != 0 )
SetMsiErrorCode( MSI_ERROR_OLD_PATCH_FOUND );
free( pVal );
}
return ERROR_SUCCESS;
}
......
......@@ -23,18 +23,8 @@
//----------------------------------------------------------
// list of own error codes
#define MSI_ERROR_INVALIDDIRECTORY 9001
#define MSI_ERROR_ISWRONGPRODUCT 9002
#define MSI_ERROR_PATCHISOLDER 9003
#define MSI_ERROR_NEW_VERSION_FOUND 9010
#define MSI_ERROR_SAME_VERSION_FOUND 9011
#define MSI_ERROR_OLD_VERSION_FOUND 9012
#define MSI_ERROR_NEW_PATCH_FOUND 9013
#define MSI_ERROR_SAME_PATCH_FOUND 9014
#define MSI_ERROR_OLD_PATCH_FOUND 9015
#define MSI_ERROR_OFFICE_IS_RUNNING 9020
#define MSI_ERROR_DIRECTORY_NOT_EMPTY 9030
......
......@@ -44,92 +44,16 @@ sub create_upgrade_table
my @upgradetable = ();
# fix for problematic OOo 1.9 versions
my $include_ooo_fix = 0;
my $ooomaxnew = "";
if (($installer::globals::product =~ /^\s*OpenOffice/i ) && ( ! ( $installer::globals::product =~ /SDK/i )) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
{
$include_ooo_fix = 1;
$ooomaxnew = "34.0.0";
}
installer::windows::idtglobal::write_idt_header(\@upgradetable, "upgrade");
# Setting also $installer::globals::msimajorproductversion, that is for example "3.0.0", to differ between old products for OOo 2.x and
# older products from OOo 3.x. The latter must be removed always, the removal of the first is controlled with a checkbox.
my $newline = $installer::globals::upgradecode . "\t" . "\t" . $installer::globals::msimajorproductversion . "\t" . "\t" . "0" . "\t" . "\t" . "OLDPRODUCTS" . "\n";
push(@upgradetable, $newline);
# Setting all products, that must be removed.
# $newline = $installer::globals::upgradecode . "\t" . $installer::globals::msimajorproductversion . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "257" . "\t" . "\t" . "OLDPRODUCTSSAMEMAJOR" . "\n";
$newline = $installer::globals::upgradecode . "\t" . $installer::globals::msimajorproductversion . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "769" . "\t" . "\t" . "OLDPRODUCTSSAMEMAJOR" . "\n";
my $newline = $installer::globals::upgradecode . "\t" . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "513" . "\t" . "\t" . "OLDPRODUCTS" . "\n";
push(@upgradetable, $newline);
# preventing downgrading
$newline = $installer::globals::upgradecode . "\t" . $installer::globals::msiproductversion . "\t" . $ooomaxnew . "\t" . "\t" . "2" . "\t" . "\t" . "NEWPRODUCTS" . "\n";
$newline = $installer::globals::upgradecode . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "\t" . "2" . "\t" . "\t" . "NEWPRODUCTS" . "\n";
push(@upgradetable, $newline);
# $newline = $installer::globals::upgradecode . "\t" . $installer::globals::msiproductversion . "\t" . $ooomaxnew . "\t" . "\t" . "258" . "\t" . "\t" . "SAMEPRODUCTS" . "\n";
# push(@upgradetable, $newline);
if ( $include_ooo_fix )
{
$newline = $installer::globals::upgradecode . "\t" . "35.0.0" . "\t" . "36.0.0" . "\t" . "\t" . "1" . "\t" . "\t" . "OLDPRODUCTS2" . "\n";
push(@upgradetable, $newline);
}
# if (( $allvariableshashref->{'PATCHUPGRADECODE'} ) && ( ! $installer::globals::languagepack ))
# {
# $newline = $allvariableshashref->{'PATCHUPGRADECODE'} . "\t" . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "1" . "\t" . "\t" . "OLDPRODUCTSPATCH" . "\n";
# push(@upgradetable, $newline);
#
# $newline = $allvariableshashref->{'PATCHUPGRADECODE'} . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "\t" . "2" . "\t" . "\t" . "NEWPRODUCTSPATCH" . "\n";
# push(@upgradetable, $newline);
#
# $newline = $allvariableshashref->{'PATCHUPGRADECODE'} . "\t" . $installer::globals::msiproductversion . "\t" . "\t" . "\t" . "258" . "\t" . "\t" . "SAMEPRODUCTSPATCH" . "\n";
# push(@upgradetable, $newline);
# }
# also searching for the beta
if (( $allvariableshashref->{'BETAUPGRADECODE'} ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
{
$newline = $allvariableshashref->{'BETAUPGRADECODE'} . "\t" . "1.0" . "\t" . "\t" . "\t" . "1" . "\t" . "\t" . "BETAPRODUCTS" . "\n";
push(@upgradetable, $newline);
}
# also searching for the stub
if (( $allvariableshashref->{'STUBUPGRADECODE'} ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
{
$newline = $allvariableshashref->{'STUBUPGRADECODE'} . "\t" . "1.0" . "\t" . "\t" . "\t" . "1" . "\t" . "\t" . "STUBPRODUCTS" . "\n";
push(@upgradetable, $newline);
}
# searching for all older patches and languagepacks (defined in a extra file)
if (( $allvariableshashref->{'REMOVE_UPGRADE_CODE_FILE'} ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
{
my $filename = $allvariableshashref->{'REMOVE_UPGRADE_CODE_FILE'};
my $langpackcodefilename = $installer::globals::idttemplatepath . $installer::globals::separator . $filename;
if ( ! -f $langpackcodefilename ) { installer::exiter::exit_program("ERROR: Could not find file \"$langpackcodefilename\".", "create_upgrade_table"); }
my $filecontent = installer::files::read_file($langpackcodefilename);
my $newlines = analyze_file_for_upgrade_table($filecontent);
for ( my $i = 0; $i <= $#{$newlines}; $i++ ) { push(@upgradetable, ${$newlines}[$i]); }
}
# No upgrade for Beta versions!
if (( $allvariableshashref->{'PRODUCTEXTENSION'} eq "Beta" ) && ( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack ))
{
@upgradetable = ();
installer::windows::idtglobal::write_idt_header(\@upgradetable, "upgrade");
my $infoline = "Beta product -> empty Upgrade table\n";
push(@installer::globals::logfileinfo, $infoline);
}
# Saving the file
my $upgradetablename = $basedir . $installer::globals::separator . "Upgrade.idt";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment