diff options
author | Michael Stahl <mstahl@redhat.com> | 2012-01-28 20:52:45 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-01-28 20:52:45 +0100 |
commit | 2e626373db2412ac22e8c5c27a60d11cd29e875b (patch) | |
tree | 9e9f67205cd5b72f1031721273e1534a3a1e5b0f /setup_native | |
parent | f7ee7bbd5174b084f018c2ec94d8c70c98ee04da (diff) |
replace obsolete "master" branch with README that points at new repoHEADmaster-deletedmaster
Diffstat (limited to 'setup_native')
177 files changed, 0 insertions, 23200 deletions
diff --git a/setup_native/inc/setup_native/qswin32.h b/setup_native/inc/setup_native/qswin32.h deleted file mode 100644 index 2ef69b21e..000000000 --- a/setup_native/inc/setup_native/qswin32.h +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _QSWIN32_H -#define _QSWIN32_H - -#define QUICKSTART_CLASSNAMEA "SO Listener Class" -#define QUICKSTART_WINDOWNAMEA "SO Listener Window" -#define SHUTDOWN_QUICKSTART_MESSAGEA "SO KillTray" - -#define QUICKSTART_CLASSNAMEW L##QUICKSTART_CLASSNAMEA -#define QUICKSTART_WINDOWNAMEW L##QUICKSTART_WINDOWNAMEA -#define SHUTDOWN_QUICKSTART_MESSAGEW L##SHUTDOWN_QUICKSTART_MESSAGEA - -#ifdef UNICODE -# define QUICKSTART_CLASSNAME QUICKSTART_CLASSNAMEW -# define QUICKSTART_WINDOWNAME QUICKSTART_WINDOWNAMEW -# define SHUTDOWN_QUICKSTART_MESSAGE SHUTDOWN_QUICKSTART_MESSAGEW -#else -# define QUICKSTART_CLASSNAME QUICKSTART_CLASSNAMEA -# define QUICKSTART_WINDOWNAME QUICKSTART_WINDOWNAMEA -# define SHUTDOWN_QUICKSTART_MESSAGE SHUTDOWN_QUICKSTART_MESSAGEA -#endif - -#endif /* _QSWIN32_H */ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/prj/build.lst b/setup_native/prj/build.lst deleted file mode 100644 index 4ca42cac8..000000000 --- a/setup_native/prj/build.lst +++ /dev/null @@ -1,20 +0,0 @@ -pk setup_native : TRANSLATIONS:translations l10ntools soltools sal sfx2 NATIVE:xml2cmp NULL -pk setup_native usr1 - all sn_mkout NULL -pk setup_native\scripts\source nmake - u sn_source NULL -pk setup_native\scripts nmake - u sn_scripts sn_source.u NULL -pk setup_native\source\mac nmake - u sn_mac NULL -pk setup_native\source\win32\customactions\tools nmake - w sn_tools NULL -pk setup_native\source\win32\customactions\rebase nmake - w sn_rebase NULL -pk setup_native\source\win32\customactions\regactivex nmake - w sn_regactivex NULL -pk setup_native\source\win32\customactions\regpatchactivex nmake - w sn_regpatchactivex NULL -pk setup_native\source\win32\customactions\reg4allmsdoc nmake - w sn_reg4allmsdoc NULL -pk setup_native\source\win32\customactions\sellang nmake - w sn_sellang NULL -pk setup_native\source\win32\customactions\thesaurus nmake - w sn_thesaurus NULL -pk setup_native\source\win32\customactions\reg64 nmake - w sn_reg64 NULL -pk setup_native\source\win32\customactions\javafilter nmake - w sn_javafilter NULL -pk setup_native\source\win32\customactions\quickstarter nmake - w sn_quickstarter NULL -pk setup_native\source\win32\customactions\shellextensions nmake - w sn_shellextensions sn_tools.w NULL -pk setup_native\source\win32\customactions\indexingfilter nmake - w sn_indexingfilter NULL -pk setup_native\source\win32\customactions\languagepacks nmake - w sn_languagepacks sn_shellextensions.w sn_tools.w NULL -pk setup_native\source\win32\customactions\patch nmake - w sn_patch sn_languagepacks.w sn_shellextensions.w sn_quickstarter.w sn_tools.w NULL -pk setup_native\source\ulfconv nmake - all sn_ulfconv NULL diff --git a/setup_native/prj/d.lst b/setup_native/prj/d.lst deleted file mode 100644 index 6221f738c..000000000 --- a/setup_native/prj/d.lst +++ /dev/null @@ -1,54 +0,0 @@ -mkdir: %_DEST%\bin\osl -..\%__SRC%\bin\*.dll %_DEST%\bin\*.dll -..\%__SRC%\bin\*.exe %_DEST%\bin\*.exe -..\%__SRC%\class\*.jar %_DEST%\bin\*.jar - -mkdir: %_DEST%\bin\userscripts -..\%__SRC%\bin\install %_DEST%\bin\userscripts\install -..\%__SRC%\bin\uninstall %_DEST%\bin\userscripts\uninstall -..\%__SRC%\bin\noarch\fake-db-1.0-0.noarch.rpm %_DEST%\bin\openoffice.org-userland-1.0-0.noarch.rpm - -mkdir: %_DEST%\bin\osolsmf -..\%__SRC%\bin\ulfconv %_DEST%\bin\ulfconv -..\%__SRC%\bin\langpackscript.sh %_DEST%\bin\langpackscript.sh -..\%__SRC%\bin\linuxpatchscript.sh %_DEST%\bin\linuxpatchscript.sh -..\%__SRC%\bin\downloadscript.sh %_DEST%\bin\downloadscript.sh -..\%__SRC%\bin\register_extensions %_DEST%\bin\register_extensions -..\%__SRC%\bin\deregister_extensions %_DEST%\bin\deregister_extensions -..\%__SRC%\bin\unpack_update.sh %_DEST%\bin\unpack_update -..\%__SRC%\bin\update.sh %_DEST%\bin\update -..\%__SRC%\bin\javaloader.sh %_DEST%\bin\javaloader.sh -..\%__SRC%\misc\mac_ulffiles_dest\*.ulf %_DEST%\bin\*.ulf -..\source\win32\msi-encodinglist.txt %_DEST%\bin\msi-encodinglist.txt -..\source\win32\patchlist.txt %_DEST%\bin\patchlist.txt -..\source\win32\desktophelper.txt %_DEST%\bin\desktophelper.txt -..\source\win32\get_retval.bat %_DEST%\bin\get_retval.bat -..\source\win32\nsis\downloadtemplate.nsi %_DEST%\bin\downloadtemplate.nsi -..\source\win32\nsis\*.ico %_DEST%\bin\*.ico -..\source\win32\nsis\*.bmp %_DEST%\bin\*.bmp -..\source\linux\*.dat %_DEST%\bin\*.dat -..\source\mac\*.icns %_DEST%\bin\*.icns -..\source\mac\Info.plist.langpack %_DEST%\bin\Info.plist.langpack -..\source\mac\ooo\osxdndinstall.png %_DEST%\bin\osl\osxdndinstall.png -..\source\mac\ooo\osxdndinstall_nologo.png %_DEST%\bin\osl\osxdndinstall_nologo.png -..\source\mac\ooo\DS_Store %_DEST%\bin\osl\DS_Store -..\source\mac\ooo\DS_Store_Langpack %_DEST%\bin\osl\DS_Store_Langpack -..\source\java\javaversion.dat %_DEST%\bin\javaversion.dat -..\source\java\javaversion2.dat %_DEST%\bin\javaversion2.dat -..\source\opensolaris\bundledextensions\installed %_DEST%\bin\osolsmf\installed -..\source\opensolaris\bundledextensions\README %_DEST%\bin\osolsmf\README -..\source\opensolaris\bundledextensions\ooo_bundled_extensions.xml %_DEST%\bin\osolsmf\ooo_bundled_extensions.xml -..\source\opensolaris\bundledextensions\svc-ooo_bundled_extensions %_DEST%\bin\osolsmf\svc-ooo_bundled_extensions -..\source\packinfo\solariscopyrightfile %_DEST%\bin\solariscopyrightfile -..\source\packinfo\linuxcopyrightfile %_DEST%\bin\linuxcopyrightfile -..\source\packinfo\*.txt %_DEST%\bin\*.txt -..\source\packinfo\*.pcp %_DEST%\bin\*.pcp -..\scripts\admin.pl %_DEST%\bin\admin.pl -..\scripts\*.txt %_DEST%\bin\*.txt -..\scripts\mac_install.script %_DEST%\bin\mac_install.script -..\scripts\osx_install_languagepack.applescript %_DEST%\bin\osx_install_languagepack.applescript -..\scripts\osx_install_patch.applescript %_DEST%\bin\osx_install_patch.applescript - -..\%__SRC%\lib\getuid.so %_DEST%\bin\getuid.so - -..\inc\setup_native\qswin32.h %_DEST%\inc\setup_native\qswin32.h diff --git a/setup_native/scripts/admin.pl b/setup_native/scripts/admin.pl deleted file mode 100644 index 57cae516b..000000000 --- a/setup_native/scripts/admin.pl +++ /dev/null @@ -1,1443 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -use Cwd; -use File::Copy; - -################################################################################# -# Global settings -################################################################################# - -BEGIN -{ - $prog = "msi installer"; - $targetdir = ""; - $databasepath = ""; - $starttime = ""; - $globaltempdirname = "ooopackaging"; - $savetemppath = ""; - $msiinfo_available = 0; - $path_displayed = 0; - $localmsidbpath = ""; - - $plat = $^O; - - if ( $plat =~ /cygwin/i ) - { - $separator = "/"; - $pathseparator = "\:"; - } - else - { - $separator = "\\"; - $pathseparator = "\;"; - } -} - -################################################################################# -# Program information -################################################################################# - -sub usage -{ - print <<Ende; ----------------------------------------------------------------------- -This program installs a Windows Installer installation set -without using msiexec.exe. The installation is comparable -with an administrative installation using the Windows Installer -service. -Required parameter: --d Path to installation set or msi database --t Target directory ---------------------------------------------------------------------- -Ende - exit(-1); -} - -################################################################################# -# Collecting parameter -################################################################################# - -sub getparameter -{ - if (( $#ARGV < 3 ) || ( $#ARGV > 3 )) { usage(); } - - while ( $#ARGV >= 0 ) - { - my $param = shift(@ARGV); - - if ($param eq "-t") { $targetdir = shift(@ARGV); } - elsif ($param eq "-d") { $databasepath = shift(@ARGV); } - else - { - print "\n**********************************************\n"; - print "Error: Unknows parameter: $param"; - print "\n**********************************************\n"; - usage(); - exit(-1); - } - } -} - -################################################################################# -# Checking content of parameter -################################################################################# - -sub controlparameter -{ - if ( $targetdir eq "" ) - { - print "\n******************************************************\n"; - print "Error: Target directory not defined (parameter -t)!"; - print "\n******************************************************\n"; - usage(); - exit(-1); - } - - if ( $databasepath eq "" ) - { - print "\n******************************************************\n"; - print "Error: Path to msi database not defined (parameter -d)!"; - print "\n******************************************************\n"; - usage(); - exit(-1); - } - - if ( -d $databasepath ) - { - $databasepath =~ s/\\\s*$//; - $databasepath =~ s/\/\s*$//; - - my $msifiles = find_file_with_file_extension("msi", $databasepath); - - if ( $#{$msifiles} < 0 ) { exit_program("ERROR: Did not find msi database in directory $installationdir"); } - if ( $#{$msifiles} > 0 ) { exit_program("ERROR: Did find more than one msi database in directory $installationdir"); } - - $databasepath = $databasepath . $separator . ${$msifiles}[0]; - } - - if ( ! -f $databasepath ) { exit_program("ERROR: Did not find msi database in directory $databasepath."); } - - if ( ! -d $targetdir ) { create_directories($targetdir); } -} - -############################################################################# -# The program msidb.exe can be located next to the Perl program. Then it is -# not neccessary to find it in the PATH variable. -############################################################################# - -sub check_local_msidb -{ - my $msidbname = "msidb.exe"; - my $perlprogramm = $0; - my $path = $perlprogramm; - - get_path_from_fullqualifiedname(\$path); - - $path =~ s/\\\s*$//; - $path =~ s/\/\s*$//; - - my $msidbpath = ""; - if ( $path =~ /^\s*$/ ) { $msidbpath = $msidbname; } - else { $msidbpath = $path . $separator . $msidbname; } - - if ( -f $msidbpath ) - { - $localmsidbpath = $msidbpath; - print "Using $msidbpath (next to \"admin.pl\")\n"; - } -} - -############################################################################# -# Converting a string list with separator $listseparator -# into an array -############################################################################# - -sub convert_stringlist_into_array -{ - my ( $includestringref, $listseparator ) = @_; - - my @newarray = (); - my $first; - my $last = ${$includestringref}; - - while ( $last =~ /^\s*(.+?)\Q$listseparator\E(.+)\s*$/) # "$" for minimal matching - { - $first = $1; - $last = $2; - # Problem with two directly following listseparators. For example a path with two ";;" directly behind each other - $first =~ s/^$listseparator//; - push(@newarray, "$first\n"); - } - - push(@newarray, "$last\n"); - - return \@newarray; -} - -######################################################### -# Checking the local system -# Checking existence of needed files in include path -######################################################### - -sub check_system_path -{ - my $onefile; - my $error = 0; - my $pathvariable = $ENV{'PATH'}; - my $local_pathseparator = $pathseparator; - - if( $^O =~ /cygwin/i ) - { # When using cygwin's perl the PATH variable is POSIX style and ... - $pathvariable = qx{cygpath -mp "$pathvariable"} ; - # has to be converted to DOS style for further use. - $local_pathseparator = ';'; - } - my $patharrayref = convert_stringlist_into_array(\$pathvariable, $local_pathseparator); - - my @needed_files_in_path = ("expand.exe"); - if ( $localmsidbpath eq "" ) { push(@needed_files_in_path, "msidb.exe"); } # not found locally -> search in path - my @optional_files_in_path = ("msiinfo.exe"); - - print("\nChecking required files:\n"); - - foreach $onefile ( @needed_files_in_path ) - { - print("...... searching $onefile ..."); - - my $fileref = get_sourcepath_from_filename_and_includepath(\$onefile, $patharrayref); - - if ( $$fileref eq "" ) - { - $error = 1; - print( "$onefile not found\n" ); - } - else - { - print( "\tFound: $$fileref\n" ); - } - } - - if ( $error ) { exit_program("ERROR: Could not find all needed files in path (using setsolar should help)!"); } - - print("\nChecking optional files:\n"); - - foreach $onefile ( @optional_files_in_path ) - { - print("...... searching $onefile ..."); - - my $fileref = get_sourcepath_from_filename_and_includepath(\$onefile, $patharrayref); - - if ( $$fileref eq "" ) - { - print( "$onefile not found\n" ); - if ( $onefile eq "msiinfo.exe" ) { $msiinfo_available = 0; } - } - else - { - print( "\tFound: $$fileref\n" ); - if ( $onefile eq "msiinfo.exe" ) { $msiinfo_available = 1; } - } - } - -} - -########################################################################## -# Searching a file in a list of pathes -########################################################################## - -sub get_sourcepath_from_filename_and_includepath -{ - my ($searchfilenameref, $includepatharrayref) = @_; - - my $onefile = ""; - my $foundsourcefile = 0; - - for ( my $j = 0; $j <= $#{$includepatharrayref}; $j++ ) - { - my $includepath = ${$includepatharrayref}[$j]; - $includepath =~ s/^\s*//; - $includepath =~ s/\s*$//; - - $onefile = $includepath . $separator . $$searchfilenameref; - - if ( -f $onefile ) - { - $foundsourcefile = 1; - last; - } - } - - if (!($foundsourcefile)) { $onefile = ""; } - - return \$onefile; -} - -############################################################## -# Removing all empty directories below a specified directory -############################################################## - -sub remove_empty_dirs_in_folder -{ - my ( $dir, $firstrun ) = @_; - - if ( $firstrun ) - { - print "Removing superfluous directories\n"; - } - - my @content = (); - - $dir =~ s/\Q$separator\E\s*$//; - - if ( -d $dir ) - { - opendir(DIR, $dir); - @content = readdir(DIR); - closedir(DIR); - - my $oneitem; - - foreach $oneitem (@content) - { - if ((!($oneitem eq ".")) && (!($oneitem eq ".."))) - { - my $item = $dir . $separator . $oneitem; - - if ( -d $item ) # recursive - { - remove_empty_dirs_in_folder($item, 0); - } - } - } - - # try to remove empty directory - my $returnvalue = rmdir $dir; - - # if ( $returnvalue ) { print "Successfully removed empty dir $dir\n"; } - } -} - -#################################################### -# Detecting the directory with extensions -#################################################### - -sub get_extensions_dir -{ - my ( $unopkgfile ) = @_; - - my $localbranddir = $unopkgfile; - get_path_from_fullqualifiedname(\$localbranddir); # "program" dir in brand layer - get_path_from_fullqualifiedname(\$localbranddir); # root dir in brand layer - $localbranddir =~ s/\Q$separator\E\s*$//; - my $extensiondir = $localbranddir . $separator . "share" . $separator . "extensions"; - my $preregdir = $localbranddir . $separator . "share" . $separator . "prereg" . $separator . "bundled"; - - return ($extensiondir, $preregdir); -} - -######################################################## -# Finding all files with a specified file extension -# in a specified directory. -######################################################## - -sub find_file_with_file_extension -{ - my ($extension, $dir) = @_; - - my @allfiles = (); - my @sourcefiles = (); - - $dir =~ s/\Q$separator\E\s*$//; - - opendir(DIR, $dir); - @sourcefiles = readdir(DIR); - closedir(DIR); - - my $onefile; - - foreach $onefile (@sourcefiles) - { - if ((!($onefile eq ".")) && (!($onefile eq ".."))) - { - if ( $onefile =~ /^\s*(\S.*?)\.$extension\s*$/ ) - { - push(@allfiles, $onefile) - } - } - } - - return \@allfiles; -} - -############################################################## -# Creating a directory with all parent directories -############################################################## - -sub create_directories -{ - my ($directory) = @_; - - if ( ! try_to_create_directory($directory) ) - { - my $parentdir = $directory; - get_path_from_fullqualifiedname(\$parentdir); - create_directories($parentdir); # recursive - } - - create_directory($directory); # now it has to succeed -} - -############################################################## -# Creating one directory -############################################################## - -sub create_directory -{ - my ($directory) = @_; - - if ( ! -d $directory ) { mkdir($directory, 0775); } -} - -############################################################## -# Trying to create a directory, no error if this fails -############################################################## - -sub try_to_create_directory -{ - my ($directory) = @_; - - my $returnvalue = 1; - my $created_directory = 0; - - if (!(-d $directory)) - { - $returnvalue = mkdir($directory, 0775); - - if ($returnvalue) - { - $created_directory = 1; - - my $localcall = "chmod 775 $directory \>\/dev\/null 2\>\&1"; - system($localcall); - } - else - { - $created_directory = 0; - } - } - else - { - $created_directory = 1; - } - - return $created_directory; -} - -########################################### -# Getting path from full file name -########################################### - -sub get_path_from_fullqualifiedname -{ - my ($longfilenameref) = @_; - - if ( $$longfilenameref =~ /\Q$separator\E/ ) # Is there a separator in the path? Otherwise the path is empty. - { - if ( $$longfilenameref =~ /^\s*(\S.*\Q$separator\E)(\S.+\S?)/ ) - { - $$longfilenameref = $1; - } - } - else - { - $$longfilenameref = ""; # there is no path - } -} - -############################################################## -# Getting file name from full file name -############################################################## - -sub make_absolute_filename_to_relative_filename -{ - my ($longfilenameref) = @_; - - # Either '/' or '\'. - if ( $$longfilenameref =~ /^.*[\/\\](\S.+\S?)/ ) - { - $$longfilenameref = $1; - } -} - -############################################ -# Exiting the program with an error -# This function is used instead of "die" -############################################ - -sub exit_program -{ - my ($message) = @_; - - print "\n***************************************************************\n"; - print "$message\n"; - print "***************************************************************\n"; - remove_complete_directory($savetemppath, 1); - print "\n" . get_time_string(); - exit(-1); -} - -################################################################################# -# Unpacking cabinet files with expand -################################################################################# - -sub unpack_cabinet_file -{ - my ($cabfilename, $unpackdir) = @_; - - my $expandfile = "expand.exe"; # has to be in the PATH - - # expand.exe has to be located in the system directory. - # Cygwin has another tool expand.exe, that converts tabs to spaces. This cannot be used of course. - # But this wrong expand.exe is typically in the PATH before this expand.exe, to unpack - # cabinet files. - - if ( $^O =~ /cygwin/i ) - { - $expandfile = $ENV{'SYSTEMROOT'} . "/system32/expand.exe"; # Has to be located in the systemdirectory - $expandfile =~ s/\\/\//; - if ( ! -f $expandfile ) { exit_program("ERROR: Did not find file $expandfile in the Windows system folder!"); } - } - - my $expandlogfile = $unpackdir . $separator . "expand.log"; - - # exclude cabinet file - # my $systemcall = $cabarc . " -o X " . $mergemodulehash->{'cabinetfile'}; - - my $systemcall = ""; - if ( $^O =~ /cygwin/i ) { - my $localunpackdir = qx{cygpath -w "$unpackdir"}; - $localunpackdir =~ s/\\/\\\\/g; - - my $localcabfilename = qx{cygpath -w "$cabfilename"}; - $localcabfilename =~ s/\\/\\\\/g; - $localcabfilename =~ s/\s*$//g; - - $systemcall = $expandfile . " " . $localcabfilename . " -F:\* " . $localunpackdir . " \>\/dev\/null 2\>\&1"; - } - else - { - $systemcall = $expandfile . " " . $cabfilename . " -F:\* " . $unpackdir . " \> " . $expandlogfile; - } - - my $returnvalue = system($systemcall); - - if ($returnvalue) { exit_program("ERROR: Could not execute $systemcall !"); } -} - -################################################################################# -# Extracting tables from msi database -################################################################################# - -sub extract_tables_from_database -{ - my ($fullmsidatabasepath, $workdir, $tablelist) = @_; - - my $msidb = "msidb.exe"; # Has to be in the path - if ( $localmsidbpath ) { $msidb = $localmsidbpath; } - my $infoline = ""; - my $systemcall = ""; - my $returnvalue = ""; - - if ( $^O =~ /cygwin/i ) { - chomp( $fullmsidatabasepath = qx{cygpath -w "$fullmsidatabasepath"} ); - # msidb.exe really wants backslashes. (And double escaping because system() expands the string.) - $fullmsidatabasepath =~ s/\\/\\\\/g; - $workdir =~ s/\\/\\\\/g; - # and if there are still slashes, they also need to be double backslash - $fullmsidatabasepath =~ s/\//\\\\/g; - $workdir =~ s/\//\\\\/g; - } - - # Export of all tables by using "*" - - $systemcall = $msidb . " -d " . $fullmsidatabasepath . " -f " . $workdir . " -e $tablelist"; - print "\nAnalyzing msi database\n"; - $returnvalue = system($systemcall); - - if ($returnvalue) - { - $infoline = "ERROR: Could not execute $systemcall !\n"; - exit_program($infoline); - } -} - -######################################################## -# Check, if this installation set contains -# internal cabinet files included into the msi -# database. -######################################################## - -sub check_for_internal_cabfiles -{ - my ($cabfilehash) = @_; - - my $contains_internal_cabfiles = 0; - my %allcabfileshash = (); - - foreach my $filename ( keys %{$cabfilehash} ) - { - if ( $filename =~ /^\s*\#/ ) # starting with a hash - { - $contains_internal_cabfiles = 1; - # setting real filename without hash as key and name with hash as value - my $realfilename = $filename; - $realfilename =~ s/^\s*\#//; - $allcabfileshash{$realfilename} = $filename; - } - } - - return ( $contains_internal_cabfiles, \%allcabfileshash ); -} - -################################################################# -# Exclude all cab files from the msi database. -################################################################# - -sub extract_cabs_from_database -{ - my ($msidatabase, $allcabfiles) = @_; - - my $infoline = ""; - my $fullsuccess = 1; - my $msidb = "msidb.exe"; # Has to be in the path - if ( $localmsidbpath ) { $msidb = $localmsidbpath; } - - my @all_excluded_cabfiles = (); - - if( $^O =~ /cygwin/i ) - { - $msidatabase = qx{cygpath -w "$msidatabase"}; - $msidatabase =~ s/\\/\\\\/g; - $msidatabase =~ s/\s*$//g; - } - else - { - # msidb.exe really wants backslashes. (And double escaping because system() expands the string.) - $msidatabase =~ s/\//\\\\/g; - } - - foreach my $onefile ( keys %{$allcabfiles} ) - { - my $systemcall = $msidb . " -d " . $msidatabase . " -x " . $onefile; - system($systemcall); - push(@all_excluded_cabfiles, $onefile); - } - - \@all_excluded_cabfiles; -} - -################################################################################ -# Collect all DiskIds to the corresponding cabinet files from Media.idt. -################################################################################ - -sub analyze_media_file -{ - my ($filecontent) = @_; - - my %diskidhash = (); - - for ( my $i = 0; $i <= $#{$filecontent}; $i++ ) - { - if ( $i < 3 ) { next; } - - if ( ${$filecontent}[$i] =~ /^\s*(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\s*$/ ) - { - my $diskid = $1; - my $cabfile = $4; - - $diskidhash{$cabfile} = $diskid; - } - } - - return \%diskidhash; -} - -sub analyze_customaction_file -{ - my ($filecontent) = @_; - - my $register_extensions_exists = 0; - - my %table = (); - - for ( my $i = 0; $i <= $#{$filecontent}; $i++ ) - { - if ( ${$filecontent}[$i] =~ /^\s*RegisterExtensions\s+/ ) - { - $register_extensions_exists = 1; - last; - } - } - - return $register_extensions_exists; -} - -################################################################################ -# Analyzing the content of Directory.idt -################################################################################# - -sub analyze_directory_file -{ - my ($filecontent) = @_; - - my %table = (); - - for ( my $i = 0; $i <= $#{$filecontent}; $i++ ) - { - if (( $i == 0 ) || ( $i == 1 ) || ( $i == 2 )) { next; } - - if ( ${$filecontent}[$i] =~ /^\s*(.*?)\t(.*?)\t(.*?)\s*$/ ) - { - my $dir = $1; - my $parent = $2; - my $name = $3; - - if ( $name =~ /^\s*(.*?)\s*\:\s*(.*?)\s*$/ ) { $name = $2; } - if ( $name =~ /^\s*(.*?)\s*\|\s*(.*?)\s*$/ ) { $name = $2; } - - my %helphash = (); - $helphash{'Directory_Parent'} = $parent; - $helphash{'DefaultDir'} = $name; - $table{$dir} = \%helphash; - } - } - - return \%table; -} - -################################################################################# -# Analyzing the content of Component.idt -################################################################################# - -sub analyze_component_file -{ - my ($filecontent) = @_; - - my %table = (); - - for ( my $i = 0; $i <= $#{$filecontent}; $i++ ) - { - if (( $i == 0 ) || ( $i == 1 ) || ( $i == 2 )) { next; } - - if ( ${$filecontent}[$i] =~ /^\s*(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\s*$/ ) - { - my $component = $1; - my $dir = $3; - - $table{$component} = $dir; - } - } - - return \%table; -} - -################################################################################# -# Analyzing the content of File.idt -################################################################################# - -sub analyze_file_file -{ - my ($filecontent) = @_; - - my %table = (); - my %fileorder = (); - my $maxsequence = 0; - - for ( my $i = 0; $i <= $#{$filecontent}; $i++ ) - { - if (( $i == 0 ) || ( $i == 1 ) || ( $i == 2 )) { next; } - - if ( ${$filecontent}[$i] =~ /^\s*(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\s*$/ ) - { - my $file = $1; - my $comp = $2; - my $filename = $3; - my $sequence = $8; - - if ( $filename =~ /^\s*(.*?)\s*\|\s*(.*?)\s*$/ ) { $filename = $2; } - - my %helphash = (); - $helphash{'Component'} = $comp; - $helphash{'FileName'} = $filename; - $helphash{'Sequence'} = $sequence; - - $table{$file} = \%helphash; - - $fileorder{$sequence} = $file; - - if ( $sequence > $maxsequence ) { $maxsequence = $sequence; } - } - } - - return (\%table, \%fileorder, $maxsequence); -} - -#################################################################################### -# Recursively creating the directory tree -#################################################################################### - -sub create_directory_tree -{ - my ($parent, $pathcollector, $fulldir, $dirhash) = @_; - - foreach my $dir ( keys %{$dirhash} ) - { - if (( $dirhash->{$dir}->{'Directory_Parent'} eq $parent ) && ( $dirhash->{$dir}->{'DefaultDir'} ne "." )) - { - my $dirname = $dirhash->{$dir}->{'DefaultDir'}; - # Create the directory - my $newdir = $fulldir . $separator . $dirname; - if ( ! -f $newdir ) { mkdir $newdir; } - # Saving in collector - $pathcollector->{$dir} = $newdir; - # Iteration - create_directory_tree($dir, $pathcollector, $newdir, $dirhash); - } - } -} - -#################################################################################### -# Creating the directory tree -#################################################################################### - -sub create_directory_structure -{ - my ($dirhash, $targetdir) = @_; - - print "Creating directories\n"; - - my %fullpathhash = (); - - my @startparents = ("TARGETDIR", "INSTALLLOCATION"); - - foreach $dir (@startparents) { create_directory_tree($dir, \%fullpathhash, $targetdir, $dirhash); } - - # Also adding the pathes of the startparents - foreach $dir (@startparents) - { - if ( ! exists($fullpathhash{$dir}) ) { $fullpathhash{$dir} = $targetdir; } - } - - return \%fullpathhash; -} - -#################################################################################### -# Cygwin: Setting privileges for files -#################################################################################### - -sub change_privileges -{ - my ($destfile, $privileges) = @_; - - my $localcall = "chmod $privileges " . "\"" . $destfile . "\""; - system($localcall); -} - -#################################################################################### -# Cygwin: Setting privileges for files recursively -#################################################################################### - -sub change_privileges_full -{ - my ($target) = @_; - - print "Changing privileges\n"; - - my $localcall = "chmod -R 755 " . "\"" . $target . "\""; - system($localcall); -} - -###################################################### -# Creating a new directory with defined privileges -###################################################### - -sub create_directory_with_privileges -{ - my ($directory, $privileges) = @_; - - my $returnvalue = 1; - my $infoline = ""; - - if (!(-d $directory)) - { - my $localprivileges = oct("0".$privileges); # changes "777" to 0777 - $returnvalue = mkdir($directory, $localprivileges); - - if ($returnvalue) - { - my $localcall = "chmod $privileges $directory \>\/dev\/null 2\>\&1"; - system($localcall); - } - } - else - { - my $localcall = "chmod $privileges $directory \>\/dev\/null 2\>\&1"; - system($localcall); - } -} - -###################################################### -# Creating a unique directory with pid extension -###################################################### - -sub create_pid_directory -{ - my ($directory) = @_; - - $directory =~ s/\Q$separator\E\s*$//; - my $pid = $$; # process id - my $time = time(); # time - - $directory = $directory . "_" . $pid . $time; - - if ( ! -d $directory ) { create_directory($directory); } - else { exit_program("ERROR: Directory $directory already exists!"); } - - return $directory; -} - -#################################################################################### -# Copying files into installation set -#################################################################################### - -sub copy_files_into_directory_structure -{ - my ($fileorder, $filehash, $componenthash, $fullpathhash, $maxsequence, $unpackdir, $installdir, $dirhash) = @_; - - print "Copying files\n"; - - my $unopkgfile = ""; - - for ( my $i = 1; $i <= $maxsequence; $i++ ) - { - if ( exists($fileorder->{$i}) ) - { - my $file = $fileorder->{$i}; - if ( ! exists($filehash->{$file}->{'Component'}) ) { exit_program("ERROR: Did not find component for file: \"$file\"."); } - my $component = $filehash->{$file}->{'Component'}; - if ( ! exists($componenthash->{$component}) ) { exit_program("ERROR: Did not find directory for component: \"$component\"."); } - my $dirname = $componenthash->{$component}; - if ( ! exists($fullpathhash->{$dirname}) ) { exit_program("ERROR: Did not find full directory path for dir: \"$dirname\"."); } - my $destdir = $fullpathhash->{$dirname}; - if ( ! exists($filehash->{$file}->{'FileName'}) ) { exit_program("ERROR: Did not find \"FileName\" for file: \"$file\"."); } - my $destfile = $filehash->{$file}->{'FileName'}; - - $destfile = $destdir . $separator . $destfile; - my $sourcefile = $unpackdir . $separator . $file; - - if ( ! -f $sourcefile ) - { - # It is possible, that this was an unpacked file - # Looking in the dirhash, to find the subdirectory in the installation set (the id is $dirname) - # subdir is not recursively analyzed, only one directory. - - my $oldsourcefile = $sourcefile; - my $subdir = ""; - if ( exists($dirhash->{$dirname}->{'DefaultDir'}) ) { $subdir = $dirhash->{$dirname}->{'DefaultDir'} . $separator; } - my $realfilename = $filehash->{$file}->{'FileName'}; - my $localinstalldir = $installdir; - - $localinstalldir =~ s/\\\s*$//; - $localinstalldir =~ s/\/\s*$//; - - $sourcefile = $localinstalldir . $separator . $subdir . $realfilename; - - if ( ! -f $sourcefile ) { exit_program("ERROR: File not found: \"$oldsourcefile\" (or \"$sourcefile\")."); } - } - - my $copyreturn = copy($sourcefile, $destfile); - - if ( ! $copyreturn) { exit_program("ERROR: Could not copy $source to $dest\n"); } - - # Searching unopkg.exe - if ( $destfile =~ /unopkg\.exe\s*$/ ) { $unopkgfile = $destfile; } - # if (( $^O =~ /cygwin/i ) && ( $destfile =~ /\.exe\s*$/ )) { change_privileges($destfile, "775"); } - } - # else # allowing missing sequence numbers ? - # { - # exit_program("ERROR: No file assigned to sequence $i"); - # } - } - - return ($unopkgfile); -} - -###################################################### -# Removing a complete directory with subdirectories -###################################################### - -sub remove_complete_directory -{ - my ($directory, $start) = @_; - - my @content = (); - my $infoline = ""; - - $directory =~ s/\Q$separator\E\s*$//; - - if ( -d $directory ) - { - if ( $start ) { print "Removing directory $directory\n"; } - - opendir(DIR, $directory); - @content = readdir(DIR); - closedir(DIR); - - my $oneitem; - - foreach $oneitem (@content) - { - if ((!($oneitem eq ".")) && (!($oneitem eq ".."))) - { - my $item = $directory . $separator . $oneitem; - - if ( -f $item || -l $item ) # deleting files or links - { - unlink($item); - } - - if ( -d $item ) # recursive - { - remove_complete_directory($item, 0); - } - } - } - - # try to remove empty directory - my $returnvalue = rmdir $directory; - if ( ! $returnvalue ) { print "Warning: Problem with removing empty dir $directory\n"; } - } -} - -#################################################################################### -# Defining a temporary path -#################################################################################### - -sub get_temppath -{ - my $temppath = ""; - - if (( $ENV{'TMP'} ) || ( $ENV{'TEMP'} )) - { - if ( $ENV{'TMP'} ) { $temppath = $ENV{'TMP'}; } - elsif ( $ENV{'TEMP'} ) { $temppath = $ENV{'TEMP'}; } - - $temppath =~ s/\Q$separator\E\s*$//; # removing ending slashes and backslashes - $temppath = $temppath . $separator . $globaltempdirname; - create_directory_with_privileges($temppath, "777"); - - my $dirsave = $temppath; - - $temppath = $temppath . $separator . "a"; - $temppath = create_pid_directory($temppath); - - if ( ! -d $temppath ) { exit_program("ERROR: Failed to create directory $temppath ! Possible reason: Wrong privileges in directory $dirsave."); } - - if ( $^O =~ /cygwin/i ) - { - $temppath =~ s/\\/\\\\/g; - chomp( $temppath = qx{cygpath -w "$temppath"} ); - } - - $savetemppath = $temppath; - } - else - { - exit_program("ERROR: Could not set temporary directory (TMP and TEMP not set!)."); - } - - return $temppath; -} - -#################################################################################### -# Registering extensions -#################################################################################### - -sub register_extensions_sync -{ - my ($unopkgfile, $localtemppath, $preregdir) = @_; - - if ( $preregdir eq "" ) - { - my $logtext = "ERROR: Failed to determine \"prereg\" folder for extension registration! Please check your installation set."; - print $logtext . "\n"; - exit_program($logtext); - } - - my $from = cwd(); - - my $path = $unopkgfile; - get_path_from_fullqualifiedname(\$path); - $path =~ s/\\\s*$//; - $path =~ s/\/\s*$//; - - my $executable = $unopkgfile; - make_absolute_filename_to_relative_filename(\$executable); - - chdir($path); - - if ( ! $path_displayed ) - { - print "... current dir: $path ...\n"; - $path_displayed = 1; - } - - $localtemppath =~ s/\\/\//g; - - if ( $^O =~ /cygwin/i ) { - $executable = "./" . $executable; - $preregdir = qx{cygpath -m "$preregdir"}; - chomp($preregdir); - } - - $preregdir =~ s/\/\s*$//g; - - my $systemcall = $executable . " sync --verbose 2\>\&1 |"; - - print "... $systemcall\n"; - - my @unopkgoutput = (); - - open (UNOPKG, $systemcall); - while (<UNOPKG>) {push(@unopkgoutput, $_); } - close (UNOPKG); - - my $returnvalue = $?; # $? contains the return value of the systemcall - - if ($returnvalue) - { - print "ERROR: Could not execute \"$systemcall\"!\nExitcode: '$returnvalue'\n"; - for ( my $j = 0; $j <= $#unopkgoutput; $j++ ) { print "$unopkgoutput[$j]"; } - exit_program("ERROR: $systemcall failed!"); - } - - chdir($from); -} - -#################################################################################### -# Registering all extensions located in /share/extension/install -#################################################################################### - -sub register_extensions -{ - my ($unopkgfile, $temppath, $preregdir) = @_; - - print "Registering extensions:\n"; - - if (( ! -f $unopkgfile ) || ( $unopkgfile eq "" )) - { - print("WARNING: Could not find unopkg.exe (Language Pack?)!\n"); - } - else - { - register_extensions_sync($unopkgfile, $temppath, $preregdir); - remove_complete_directory($temppath, 1); - } - -} - -#################################################################################### -# Reading one file -#################################################################################### - -sub read_file -{ - my ($localfile) = @_; - - my @localfile = (); - - open( IN, "<$localfile" ) || exit_program("ERROR: Cannot open file $localfile for reading"); - - # Don't use "my @localfile = <IN>" here, because - # perl has a problem with the internal "large_and_huge_malloc" function - # when calling perl using MacOS 10.5 with a perl built with MacOS 10.4 - while ( $line = <IN> ) { - push @localfile, $line; - } - - close( IN ); - - return \@localfile; -} - -############################################################### -# Setting the time string for the -# Summary Information stream in the -# msi database of the admin installations. -############################################################### - -sub get_sis_time_string -{ - # Syntax: <yyyy/mm/dd hh:mm:ss> - my $second = (localtime())[0]; - my $minute = (localtime())[1]; - my $hour = (localtime())[2]; - my $day = (localtime())[3]; - my $month = (localtime())[4]; - my $year = 1900 + (localtime())[5]; - $month++; - - if ( $second < 10 ) { $second = "0" . $second; } - if ( $minute < 10 ) { $minute = "0" . $minute; } - if ( $hour < 10 ) { $hour = "0" . $hour; } - if ( $day < 10 ) { $day = "0" . $day; } - if ( $month < 10 ) { $month = "0" . $month; } - - my $timestring = $year . "/" . $month . "/" . $day . " " . $hour . ":" . $minute . ":" . $second; - - return $timestring; -} - -############################################################### -# Writing content of administrative installations into -# Summary Information Stream of msi database. -# This is required for example for following -# patch processes using Windows Installer service. -############################################################### - -sub write_sis_info -{ - my ($msidatabase) = @_; - - print "Setting SIS in msi database\n"; - - if ( ! -f $msidatabase ) { exit_program("ERROR: Cannot find file $msidatabase"); } - - my $msiinfo = "msiinfo.exe"; # Has to be in the path - my $infoline = ""; - my $systemcall = ""; - my $returnvalue = ""; - - # Required setting for administrative installations: - # -w 4 (source files are unpacked), wordcount - # -s <date of admin installation>, LastPrinted, Syntax: <yyyy/mm/dd hh:mm:ss> - # -l <person_making_admin_installation>, LastSavedBy - - my $wordcount = 4; # Unpacked files - my $lastprinted = get_sis_time_string(); - my $lastsavedby = "Installer"; - - my $localmsidatabase = $msidatabase; - - if( $^O =~ /cygwin/i ) - { - $localmsidatabase = qx{cygpath -w "$localmsidatabase"}; - $localmsidatabase =~ s/\\/\\\\/g; - $localmsidatabase =~ s/\s*$//g; - } - - $systemcall = $msiinfo . " " . "\"" . $localmsidatabase . "\"" . " -w " . $wordcount . " -s " . "\"" . $lastprinted . "\"" . " -l $lastsavedby"; - - $returnvalue = system($systemcall); - - if ($returnvalue) - { - $infoline = "ERROR: Could not execute $systemcall !\n"; - exit_program($infoline); - } -} - -############################################################### -# Convert time string -############################################################### - -sub convert_timestring -{ - my ($secondstring) = @_; - - my $timestring = ""; - - if ( $secondstring < 60 ) # less than a minute - { - if ( $secondstring < 10 ) { $secondstring = "0" . $secondstring; } - $timestring = "00\:$secondstring min\."; - } - elsif ( $secondstring < 3600 ) - { - my $minutes = $secondstring / 60; - my $seconds = $secondstring % 60; - if ( $minutes =~ /(\d*)\.\d*/ ) { $minutes = $1; } - if ( $minutes < 10 ) { $minutes = "0" . $minutes; } - if ( $seconds < 10 ) { $seconds = "0" . $seconds; } - $timestring = "$minutes\:$seconds min\."; - } - else # more than one hour - { - my $hours = $secondstring / 3600; - my $secondstring = $secondstring % 3600; - my $minutes = $secondstring / 60; - my $seconds = $secondstring % 60; - if ( $hours =~ /(\d*)\.\d*/ ) { $hours = $1; } - if ( $minutes =~ /(\d*)\.\d*/ ) { $minutes = $1; } - if ( $hours < 10 ) { $hours = "0" . $hours; } - if ( $minutes < 10 ) { $minutes = "0" . $minutes; } - if ( $seconds < 10 ) { $seconds = "0" . $seconds; } - $timestring = "$hours\:$minutes\:$seconds hours"; - } - - return $timestring; -} - -############################################################### -# Returning time string for logging -############################################################### - -sub get_time_string -{ - my $currenttime = time(); - $currenttime = $currenttime - $starttime; - $currenttime = convert_timestring($currenttime); - $currenttime = localtime() . " \(" . $currenttime . "\)\n"; - return $currenttime; -} - -#################################################################################### -# Simulating an administrative installation -#################################################################################### - -$starttime = time(); - -getparameter(); -controlparameter(); -check_local_msidb(); -check_system_path(); -my $temppath = get_temppath(); - -print("\nmsi database: $databasepath\n"); -print("Destination directory: $targetdir\n" ); - -my $helperdir = $temppath . $separator . "installhelper"; -create_directory($helperdir); - -# Get File.idt, Component.idt and Directory.idt from database - -my $tablelist = "File Directory Component Media CustomAction"; -extract_tables_from_database($databasepath, $helperdir, $tablelist); - -# Set unpackdir -my $unpackdir = $helperdir . $separator . "unpack"; -create_directory($unpackdir); - -# Reading media table to check for internal cabinet files -my $filename = $helperdir . $separator . "Media.idt"; -if ( ! -f $filename ) { exit_program("ERROR: Could not find required file: $filename !"); } -my $filecontent = read_file($filename); -my $cabfilehash = analyze_media_file($filecontent); - -# Check, if there are internal cab files -my ( $contains_internal_cabfiles, $all_internal_cab_files) = check_for_internal_cabfiles($cabfilehash); - -if ( $contains_internal_cabfiles ) -{ - # Set unpackdir - my $cabdir = $helperdir . $separator . "internal_cabs"; - create_directory($cabdir); - my $from = cwd(); - chdir($cabdir); - # Exclude all cabinet files from database - my $all_excluded_cabs = extract_cabs_from_database($databasepath, $all_internal_cab_files); - print "Unpacking files from internal cabinet file(s)\n"; - foreach my $cabfile ( @{$all_excluded_cabs} ) { unpack_cabinet_file($cabfile, $unpackdir); } - chdir($from); -} - -# Unpack all cab files into $helperdir, cab files must be located next to msi database -my $installdir = $databasepath; - -get_path_from_fullqualifiedname(\$installdir); - -my $databasefilename = $databasepath; -make_absolute_filename_to_relative_filename(\$databasefilename); - -my $cabfiles = find_file_with_file_extension("cab", $installdir); - -if (( $#{$cabfiles} < 0 ) && ( ! $contains_internal_cabfiles )) { exit_program("ERROR: Did not find any cab file in directory $installdir"); } - -print "Unpacking files from cabinet file(s)\n"; -for ( my $i = 0; $i <= $#{$cabfiles}; $i++ ) -{ - my $cabfile = $installdir . $separator . ${$cabfiles}[$i]; - unpack_cabinet_file($cabfile, $unpackdir); -} - -# Reading tables -$filename = $helperdir . $separator . "Directory.idt"; -$filecontent = read_file($filename); -my $dirhash = analyze_directory_file($filecontent); - -$filename = $helperdir . $separator . "Component.idt"; -$filecontent = read_file($filename); -my $componenthash = analyze_component_file($filecontent); - -$filename = $helperdir . $separator . "File.idt"; -$filecontent = read_file($filename); -my ( $filehash, $fileorder, $maxsequence ) = analyze_file_file($filecontent); - -# Creating the directory structure -my $fullpathhash = create_directory_structure($dirhash, $targetdir); - -# Copying files -my ($unopkgfile) = copy_files_into_directory_structure($fileorder, $filehash, $componenthash, $fullpathhash, $maxsequence, $unpackdir, $installdir, $dirhash); -if ( $^O =~ /cygwin/i ) { change_privileges_full($targetdir); } - -my $msidatabase = $targetdir . $separator . $databasefilename; -my $copyreturn = copy($databasepath, $msidatabase); -if ( ! $copyreturn) { exit_program("ERROR: Could not copy $source to $dest\n"); } - -# Reading tables -$filename = $helperdir . $separator . "CustomAction.idt"; -$filecontent = read_file($filename); -my $register_extensions_exists = analyze_customaction_file($filecontent); - -# Removing empty dirs in extension folder -my ( $extensionfolder, $preregdir ) = get_extensions_dir($unopkgfile); -if ( -d $extensionfolder ) { remove_empty_dirs_in_folder($extensionfolder, 1); } - -if ( $register_extensions_exists ) -{ - # Registering extensions - register_extensions($unopkgfile, $temppath, $preregdir); -} - -# Saving info in Summary Information Stream of msi database (required for following patches) -if ( $msiinfo_available ) { write_sis_info($msidatabase); } - -# Removing the helper directory -remove_complete_directory($temppath, 1); - -print "\nSuccessful installation: " . get_time_string(); diff --git a/setup_native/scripts/deregister_extensions b/setup_native/scripts/deregister_extensions deleted file mode 100644 index 4a8f91de4..000000000 --- a/setup_native/scripts/deregister_extensions +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/bash - -USAGE="Usage: $0" - -SCRIPTNAME=`basename "$0"` -PROGRAMDIR=`dirname "$0"` -OFFICEDIR="$PROGRAMDIR/.." -EXTENSIONDIR=$OFFICEDIR/share/extension/install -UNOPKG=$PROGRAMDIR/unopkg - -help() -{ - echo - echo "Uninstallation script for office extensions located in <office>/share/extension/install" - echo - echo "This uninstallation script can be executed after successful installation of packages." - echo "Please execute this script, before uninstallation of packages." - echo "Usage: $0" - echo "No parameter required." - echo -} - -# -# This script is only for root installations -# (How about installations done with user privileges?) -# - -# if [ $UID -ne 0 ] -# then -# printf "\nThis script is for installation only wiht administrative rights only\n" -# help -# exit 2 -# fi - -# -# Checking existence of unopkg in program directory -# - -if [ ! -f "$UNOPKG" ]; then - echo "Error: File $UNOPKG does not exist" - exit 1 -fi - -if [ ! -x "$UNOPKG" ]; then - echo "Error: File $UNOPKG is not an executable file" - exit 1 -fi - -# -# Collecting all files located in share/install/extensions -# - -FILELIST=`find $EXTENSIONDIR -type f -name "*.oxt" -print` - -if [ -z "$FILELIST" ] -then - printf "\n$0: No extensions found in $EXTENSIONDIR\n" - exit 2 -fi - -echo -echo "Uninstalling:" -for i in $FILELIST; do - echo `basename $i` -done -echo - -for i in $FILELIST; do - COMMAND="$UNOPKG remove --shared `basename $i`" - echo $COMMAND - $COMMAND -done - -echo -echo "Uninstallation done ..." -echo - -exit 0 diff --git a/setup_native/scripts/downloadscript.sh b/setup_native/scripts/downloadscript.sh deleted file mode 100644 index e399b0594..000000000 --- a/setup_native/scripts/downloadscript.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/sh - -linenum=LINENUMBERPLACEHOLDER - -UNPACKDIR=/var/tmp/unpack_PRODUCTNAMEPLACEHOLDER -diskSpaceRequired=DISCSPACEPLACEHOLDER -checksum=CHECKSUMPLACEHOLDER - -EXTRACTONLY="no" -if [ "$1" = "-x" ] -then - EXTRACTONLY=yes -fi - -# Determining current platform - -platform=`uname -s` - -case $platform in -SunOS) - tail_prog="tail" - ;; -Linux) - tail_prog="tail -n" - ;; -*) - tail_prog="tail" - ;; -esac - -# Asking for the unpack directory - -echo -echo "Select the directory in which to save the unpacked files. [$UNPACKDIR] " -read reply leftover -if [ "x$reply" != "x" ] -then - UNPACKDIR="$reply" -fi - -if [ -d $UNPACKDIR ]; then - printf "Directory $UNPACKDIR already exists.\n" - printf "Please select a new directory name.\n" - exit 1 -fi - -# Unpacking - -mkdir -m 700 $UNPACKDIR - -diskSpace=`df -k $UNPACKDIR | $tail_prog -1 | awk '{if ( $4 ~ /%/) { print $3 } else { print $4 } }'` -if [ $diskSpace -lt $diskSpaceRequired ]; then - printf "The selected drive does not have enough disk space available.\n" - printf "PRODUCTNAMEPLACEHOLDER requires at least %s kByte.\n" $diskSpaceRequired - exit 1 -fi - -trap 'rm -rf $UNPACKDIR; exit 1' HUP INT QUIT TERM - -if [ -x /usr/bin/sum ] ; then - echo "File is being checked for errors ..." - - sum=`$tail_prog +$linenum $0 | /usr/bin/sum` - sum=`echo $sum | awk '{ print $1 }'` - - if [ $sum != $checksum ]; then - echo "The download file appears to be corrupted. Please download PRODUCTNAMEPLACEHOLDER again." - exit 1 - fi -fi - -echo "Unpacking ..." - -$tail_prog +$linenum $0 | (cd $UNPACKDIR; tar xf -) - -echo "All files have been successfully unpacked." - -if [ "$EXTRACTONLY" != "yes" ] -then - if [ -f $UNPACKDIR/setup ] - then - chmod 775 $UNPACKDIR/setup - $UNPACKDIR/setup - fi -fi - -exit 0 diff --git a/setup_native/scripts/fake-db.spec b/setup_native/scripts/fake-db.spec deleted file mode 100644 index e6275048e..000000000 --- a/setup_native/scripts/fake-db.spec +++ /dev/null @@ -1,38 +0,0 @@ -Name: fake-db -Version: 1.0 -Release: 0 -Summary: This is a dummy package -Group: dummy -License: LGPL -BuildArch: noarch -AutoReqProv: no -%define _tmppath /tmp -#BuildRoot: %{_tmppath}/%{name}-root -Provides: libgnomevfs-2.so.0 -Provides: libgconf-2.so.4 -Provides: libfreetype.so.6 -Provides: /bin/sh -Provides: /bin/basename -Provides: /bin/cat -Provides: /bin/cp -Provides: /bin/gawk -Provides: /bin/grep -Provides: /bin/ln -Provides: /bin/ls -Provides: /bin/mkdir -Provides: /bin/mv -Provides: /bin/pwd -Provides: /bin/rm -Provides: /bin/sed -Provides: /bin/sort -Provides: /bin/touch -Provides: /usr/bin/cut -Provides: /usr/bin/dirname -Provides: /usr/bin/expr -Provides: /usr/bin/find -Provides: /usr/bin/tail -Provides: /usr/bin/tr -Provides: /usr/bin/wc -%description -a dummy package -%files diff --git a/setup_native/scripts/install_create.pl b/setup_native/scripts/install_create.pl deleted file mode 100755 index 0aa8989c6..000000000 --- a/setup_native/scripts/install_create.pl +++ /dev/null @@ -1,44 +0,0 @@ -: # -*- perl -*- -eval 'exec perl -wS $0 ${1+"$@"}' - if 0; -# create setup self extracting script - -if( $#ARGV < 2 ) - { - print <<ENDHELP; -USAGE: $0 <inputshellscript> <libraryfile> <outputshellscript> - <inputshellscript>: the start shell script, located next to this perl script - <libraryfile>: the library file, that is included into the shell script - <outfile>: the target shellscript - -ENDHELP - exit; - } - -$infile = $ARGV[0]; -$library = $ARGV[1]; -$outfile = $ARGV[2]; -$infile =~ tr/[A-Z]/[a-z]/; - -# read script header -open( SCRIPT, "<$infile" ) || die "cannot open $infile"; -open( OUTFILE, ">$outfile$$.tmp" ) || die "cannot open $outfile"; -@scriptlines = <SCRIPT>; -$linenum = $#scriptlines+2; -foreach (@scriptlines) -{ - # lineend conversion (be on the safe side) - chomp; - $_ =~ tr/\r//; - s/^\s*linenum=.*$/linenum=$linenum/; - print OUTFILE "$_\n"; -} -close( SCRIPT ); -close( OUTFILE ); - -system( "cat $library >>$outfile$$.tmp" ); -rename "$outfile$$.tmp", "$outfile"; - -chmod 0775, $outfile; - -exit; diff --git a/setup_native/scripts/install_linux.sh b/setup_native/scripts/install_linux.sh deleted file mode 100644 index 12801b62f..000000000 --- a/setup_native/scripts/install_linux.sh +++ /dev/null @@ -1,301 +0,0 @@ -#!/bin/bash - -ADD="no" -LINK="no" -UPDATE="ask" -UNPACKDIR="" -USAGE="Usage: $0 [-a,--add] [-l,--link] [-U,--update] [-h,--help] <rpm-source-dir> <office-installation-dir>" - -help() -{ - echo - echo "User Mode Installation script for developer and knowledgeable early access tester" - echo - echo "This installation method is not intended for use in a production environment!" - echo "Using this script is unsupported and completely at your own risk" - echo - echo "Usage:" $0 [-lU] "<rpm-source-dir> <office-installation-dir>" - echo " <rpm-source-dir>: directory *only* containing the Linux rpm packages to be installed" - echo " or language pack shell script containing the rpm packages" - echo " <office-installation-dir>: directory to where the office will get installed into" - echo - echo "Optional Parameter:" - echo " -a,--add: add to an existing <office-installation-dir>" - echo " -l,--link: create a link \"soffice\" in $HOME" - echo " -U,--update: update without asking" - echo " -h,--help: output this help" - echo -} - -try_to_unpack_languagepack_file() -{ - FILENAME=$PACKAGE_PATH - - # Checking, if $FILENAME is a language pack. - # String "language package" has to exist in the shell script file. - # If this is no language pack, the installation is not supported - - SEARCHSTRING=`head --lines=10 $FILENAME | grep "language package"` - - if [ ! -z "$SEARCHSTRING" ] - then - echo "First parameter $FILENAME is a language pack"; - else - printf "\nERROR: First parameter $FILENAME is a file, but no language pack shell script.\n" - echo $USAGE - exit 2 - fi - - echo "Unpacking shell script $FILENAME" - TAILLINE=`head --lines=20 $FILENAME | sed --quiet 's/linenum=//p'` - - UNPACKDIR=/var/tmp/install_$$ - mkdir $UNPACKDIR - # UNPACKDIR=`mktemp -d` - tail -n +$TAILLINE $FILENAME | gunzip | (cd $UNPACKDIR; tar xvf -) - - # Setting the new package path, in which the packages exist - PACKAGE_PATH=$UNPACKDIR - - # Setting variable UPDATE, because an Office installation has to exist, if a language pack shall be installed - UPDATE="yes" -} - -# -# this script is for userland not for root -# - -if [ $UID -eq 0 ] -then - printf "\nThis script is for installation without administrative rights only\nPlease use rpm to install as root\n" - help - exit 2 -fi - -set -- `getopt -u -o 'alhU' -l 'add,link,help,update' -- $*` - -if [ $? != 0 ] -then - echo $USAGE - exit 2 -fi - -for i in $* -do - case $i in - -a|--add) ADD="yes"; shift;; - -h|--help) help; exit 0;; - -l|--link) LINK="yes"; shift;; - -U|--update) UPDATE="yes"; shift;; - --) shift; break;; - esac -done - -if [ $# != 2 ] -then - echo $USAGE - exit 2 -fi - -PACKAGE_PATH=$1 - -# -# If the first parameter is a shell script (download installation set), the packages have to -# be unpacked into temp directory -# - -if [ -f "$PACKAGE_PATH" ] -then - try_to_unpack_languagepack_file -fi - -# -# Check and get the list of packages to install -# - -RPMLIST=`find $PACKAGE_PATH -maxdepth 2 -type f -name "*.rpm" ! -name "*-menus-*" ! -name "*-desktop-integration-*" ! -name "jre*" ! -name "*-userland-*" -print` - -if [ -z "$RPMLIST" ] -then - printf "\n$0: No packages found in $PACKAGE_PATH\n" - exit 2 -fi - -# #163256# check if we are on a debian system... -if rpm --help | grep debian >/dev/null; -then - DEBIAN_FLAGS="--force-debian --nodeps" -else - DEBIAN_FLAGS= -fi - -# -# Determine whether this should be an update or a fresh install -# - -INSTALLDIR=$2 -RPM_DB_PATH=${INSTALLDIR}/var/lib/rpm - -# Check for versionrc -if [ -f ${INSTALLDIR}/program/versionrc ]; then VERSIONRC=versionrc; fi - -if [ "$UPDATE" = "ask" ] -then - PRODUCT=`sed --silent -e " -/^buildid=/ { -s/buildid=\(.*\)/ [\1]/ -h -} -/^ProductKey=/ { -s/ProductKey=// -G -p -}" ${INSTALLDIR}/program/${VERSIONRC:-bootstraprc} 2>/dev/null | tr -d "\012"` - - if [ ! -z "$PRODUCT" ] - then - echo - echo "Found an installation of $PRODUCT in $INSTALLDIR" - echo - while [ "$UPDATE" != "yes" ] - do - read -a UPDATE -p "Do you want to update this installation (yes/no)? " - if [ "$UPDATE" = "no" ] - then - exit 2 - fi - done - elif [ -d $RPM_DB_PATH -a "$ADD" = "no" ] - then - echo - echo "The following packages are already installed in $INSTALLDIR" - echo - rpm --dbpath `cd $RPM_DB_PATH; pwd` --query --all - echo - while [ "$UPDATE" != "yes" ] - do - read -a UPDATE -p "Do you want to continue with this installation (yes/no)? " - if [ "$UPDATE" = "no" ] - then - exit 2 - fi - done - else - UPDATE="no" - fi -fi - -# -# Check/Create installation directory -# - -if [ "$UPDATE" = "yes" ] -then - # restore original bootstraprc - mv -f ${INSTALLDIR}/program/bootstraprc.orig ${INSTALLDIR}/program/bootstraprc 2>/dev/null - - # the RPM_DB_PATH must be absolute - if [ ! "${RPM_DB_PATH:0:1}" = "/" ]; then - RPM_DB_PATH=`cd ${RPM_DB_PATH}; pwd` - fi - - # we should use --freshen for updates to not add languages with patches, but this will break - # language packs, so leave it for now .. -# RPMCMD="--freshen" - RPMCMD="--upgrade" -else - rmdir ${INSTALLDIR} 2>/dev/null - - if [ -d ${INSTALLDIR} -a "$ADD" = "no" ] - then - printf "\n$0: ${INSTALLDIR} exists and is not empty.\n" - exit 2 - fi - - mkdir -p $RPM_DB_PATH || exit 2 - # XXX why ? XXX - chmod 700 $RPM_DB_PATH - - # the RPM_DB_PATH must be absolute - if [ ! "${RPM_DB_PATH:0:1}" = "/" ]; then - RPM_DB_PATH=`cd ${RPM_DB_PATH}; pwd` - fi - - # Creating RPM database and initializing - if [ "$ADD" = "no" ]; then - rpm --initdb --dbpath $RPM_DB_PATH - fi - - # Default install command - RPMCMD="--install" -fi - -# populate the private rpm database with the dependencies needed -FAKEDBRPM=/tmp/fake-db-1.0-$$.noarch.rpm -linenum=??? -tail -n +$linenum $0 > $FAKEDBRPM - -rpm ${DEBIAN_FLAGS} --upgrade --ignoresize --dbpath $RPM_DB_PATH $FAKEDBRPM - -rm -f $FAKEDBRPM - -echo "Packages found:" -for i in $RPMLIST ; do - echo `basename $i` -done - -# -# Perform the installation -# - -echo -echo "####################################################################" -echo "# Installation of the found packages #" -echo "####################################################################" -echo -echo "Path to the database: " $RPM_DB_PATH -echo "Path to the packages: " $PACKAGE_PATH -echo "Path to the installation: " $INSTALLDIR -echo -echo "Installing the RPMs" - -ABSROOT=`cd ${INSTALLDIR}; pwd` -RELOCATIONS=`rpm -qp --qf "--relocate %{PREFIXES}=${ABSROOT}%{PREFIXES} \n" $RPMLIST | sort -u | tr -d "\012"` -UserInstallation=\$BRAND_BASE_DIR/../UserInstallation rpm ${DEBIAN_FLAGS} $RPMCMD --ignoresize -vh $RELOCATIONS --dbpath $RPM_DB_PATH $RPMLIST - -# -# Create a link into the users home directory -# - -if [ "$LINK" = "yes" ] -then - find `cd "$INSTALLDIR" && pwd` -name soffice -type f -perm /u+x -exec /bin/bash -ce 'ln -sf "$0" "$HOME/soffice" && echo "Creating link from $0 to $HOME/soffice"' {} \; -fi - -if [ "$UPDATE" = "yes" -a ! -f $INSTALLDIR/program/bootstraprc ] -then - echo - echo "Update failed due to a bug in RPM, uninstalling .." - rpm ${DEBIAN_FLAGS} --erase -v --nodeps --dbpath $RPM_DB_PATH `rpm --query --queryformat "%{NAME} " --package $RPMLIST --dbpath $RPM_DB_PATH` - echo - echo "Now re-installing new packages .." - echo - rpm ${DEBIAN_FLAGS} --install --nodeps --ignoresize -vh $RELOCATIONS --dbpath $RPM_DB_PATH $RPMLIST - echo -fi - -# patch the "bootstraprc" to create a self-containing installation -find "$INSTALLDIR" -type f -name bootstraprc -exec /bin/bash -ce 'test ! -e "$0".orig && mv "$0" "$0".orig && sed '\''s,^UserInstallation=$SYSUSERCONFIG.*,UserInstallation=$BRAND_BASE_DIR/../UserInstallation,'\'' "$0".orig > "$0"' {} \; - -# if an unpack directory exists, it can be removed now -if [ ! -z "$UNPACKDIR" ] -then - rm $UNPACKDIR/*.rpm - rmdir $UNPACKDIR - echo "Removed temporary directory $UNPACKDIR" -fi - -echo -echo "Installation done ..." - -exit 0 diff --git a/setup_native/scripts/install_solaris.sh b/setup_native/scripts/install_solaris.sh deleted file mode 100644 index 46969dae8..000000000 --- a/setup_native/scripts/install_solaris.sh +++ /dev/null @@ -1,364 +0,0 @@ -#!/bin/bash - -ADD="no" -LINK="no" -UPDATE="no" -USAGE="Usage: $0 [-a] [-l] [-h] <pkg-source-dir> <office-installation-dir>" - -help() -{ - echo - echo "User Mode Installation script for developer and knowledgeable early access tester" - echo - echo "This installation method is not intended for use in a production environment!" - echo "Using this script is unsupported and completely at your own risk" - echo - echo "Usage:" $0 "<pkg-source-dir> <office-installation-dir> [-l]" - echo " <pkg-source-dir>: directory *only* containing the Solaris pkg packages to be installed" - echo " or language pack shell script containing the Solaris pkg packages" - echo " <office-installation-dir>: directory to where the office and the pkg database will get installed into" - echo - echo "Optional Parameter:" - echo " -a : add to an existing <office-installation-dir>" - echo " -l : create a link \"soffice\" in $HOME" - echo " -h : output this help" -} - -try_to_unpack_languagepack_file() -{ - FILENAME=$PACKAGE_PATH - - # Checking, if $FILENAME is a language pack. - # String "language package" has to exist in the shell script file. - # If this is no language pack, the installation is not supported - - SEARCHSTRING=`head -n 10 $FILENAME | grep "language package"` - - if [ ! -z "$SEARCHSTRING" ] - then - echo "First parameter $FILENAME is a language pack"; - else - printf "\nERROR: First parameter $FILENAME is a file, but no language pack shell script.\n" - echo $USAGE - exit 2 - fi - - echo "Unpacking shell script $FILENAME" - # TAILLINE=`head -n 20 $FILENAME | sed --quiet 's/linenum=//p'` - TAILLINE=`head -n 20 $FILENAME | sed -n 's/linenum=//p'` - - if [ -x "/usr/bin/mktemp" ] # available in Solaris 10 - then - UNPACKDIR=`mktemp -d` - else - UNPACKDIR=/var/tmp/install_$$ - mkdir $UNPACKDIR - fi - - echo $UNPACKDIR - tail +$TAILLINE $FILENAME | gunzip | (cd $UNPACKDIR; tar xvf -) - - # Setting the new package path, in which the packages exist - PACKAGE_PATH=$UNPACKDIR - - # Setting variable UPDATE, because an Office installation has to exist, if a language pack shall be installed - UPDATE="yes" -} - -pkg_error() -{ - # pkg command failed, check for admin log and report help - if [ -f /tmp/.ai.pkg.zone.lock-afdb66cf-1dd1-11b2-a049-000d560ddc3e ] - then - echo "####################################################################" - echo "# Installation failed due to stale administrative lock #" - echo "####################################################################" - printf "\nERROR: please remove the following file first:\n" - ls -l /tmp/.ai.pkg.zone.lock-afdb66cf-1dd1-11b2-a049-000d560ddc3e - fi - rm -f $GETUID_SO - exit 1 -} - -get_pkg_list() -{ - cd $1; ls -1 -} - -# -# this script is for userland not for root -# - -if [ $UID -eq 0 ] -then - printf "\nThis script is for installation without administrative rights only\nPlease use pkgadd/patchadd to install as root\n" - help - exit 2 -fi - -while getopts "alh" VALUE -do - echo $VALUE - case $VALUE in - a) ADD="yes"; break;; - h) help; exit 0;; - l) LINK="yes"; break;; - ?) echo $USAGE; exit 2;; - esac -done -shift `expr $OPTIND - 1` - -if [ $# != 2 ] -then - echo $USAGE - exit 2 -fi - -# Determine whether this is a patch or a regular install set .. -/bin/bash -c "ls $1/*/patchinfo >/dev/null 2>&1" -if [ "$?" = 0 ] -then - UPDATE="yes" - PATCH_PATH="$1" - PATCH_INFO_LIST=`/bin/bash -c "cd $1; ls */patchinfo"` - PATCH_LIST=`for i in ${PATCH_INFO_LIST}; do dirname $i; done` -elif [ -f "$1/patchinfo" ] -then - UPDATE="yes" - PATCH_PATH=`dirname "$1"` - PATCH_LIST=`basename "$1"` -else - if [ -d "$1/packages" ] - then - PACKAGE_PATH="$1/packages" - else - PACKAGE_PATH=$1 - fi - - # - # If the first parameter is a shell script (download installation set), the packages have to - # be unpacked into temp directory - # - if [ -f "$PACKAGE_PATH" ] - then - try_to_unpack_languagepack_file - fi - - # - # Create sed filter script for unwanted packages - # - - cat > /tmp/userinstall_filer.$$ << EOF -/SUNWadabas/d -/^SUNWj[0-9]/d -/-desktop-int/d -/-shared-mime-info/d -/-cde/d -EOF - - # Do not install gnome-integration package on systems without GNOME - pkginfo -q SUNWgnome-vfs - if [ $? -ne 0 ] - then - - echo '/-gnome/d' >> /tmp/userinstall_filer.$$ - fi - - # pkgdep sorts the packages based on their dependencies - PKGDEP="`dirname $0`/pkgdep" - if [ ! -x $PKGDEP ]; then - PKGDEP="get_pkg_list" - fi - - # - # Get the list of packages to install - # - - PKG_LIST=`$PKGDEP $PACKAGE_PATH | sed -f /tmp/userinstall_filer.$$` - rm -f /tmp/userinstall_filer.$$ - - if [ -z "$PKG_LIST" ] - then - printf "\n$0: No packages found in $PACKAGE_PATH\n" - exit 2 - fi - - echo "Packages found:" - for i in $PKG_LIST ; do - echo $i - done -fi - -INSTALL_ROOT=$2 -if [ "$UPDATE" = "yes" ] -then - if [ ! -d ${INSTALL_ROOT}/var/sadm/install/admin ] - then - printf "\n$0: No package database in ${INSTALL_ROOT}.\n" - exit 2 - fi -else - if [ "$ADD" = "no" ] - then - rmdir ${INSTALL_ROOT} 2>/dev/null - if [ -d ${INSTALL_ROOT} ] - then - printf "\n$0: ${INSTALL_ROOT} exists and is not empty.\n" - exit 2 - fi - fi - mkdir -p ${INSTALL_ROOT}/var/sadm/install/admin -fi - -# Previous versions of this script did not write this file -if [ ! -f ${INSTALL_ROOT}/var/sadm/install/admin/default ] -then - cat > ${INSTALL_ROOT}/var/sadm/install/admin/default << EOF -action=nocheck -conflict=nocheck -setuid=nocheck -idepend=nocheck -mail= -EOF -fi - -if [ ! "${INSTALL_ROOT:0:1}" = "/" ]; then - INSTALL_ROOT=`cd ${INSTALL_ROOT}; pwd` -fi - -# This script must exist to make extension registration work -# always overwrite to get the latest version. -mkdir -p ${INSTALL_ROOT}/usr/lib -cat > ${INSTALL_ROOT}/usr/lib/postrun << \EOF -#!/bin/sh -set -e - -# Override UserInstallation in bootstraprc for unopkg .. -UserInstallation='$BRAND_BASE_DIR/../UserInstallation' -export UserInstallation - -if [ -x /usr/bin/mktemp ] -then - CMD=`/usr/bin/mktemp /tmp/userinstall.XXXXXX` -else - CMD=/tmp/userinstall.$$; echo "" > $CMD -fi - -sed -e 's|/opt/|${PKG_INSTALL_ROOT}/opt/|g' > $CMD -/bin/sh -e $CMD -rm -f $CMD -EOF -chmod +x ${INSTALL_ROOT}/usr/lib/postrun 2>/dev/null - -# create local tmp directory to install on S10 -LOCAL_TMP= -if [ -x /usr/bin/mktemp ] -then - LOCAL_TMP=`mktemp -d` - rmdir ${INSTALL_ROOT}/tmp 2>/dev/null - ln -s ${LOCAL_TMP} ${INSTALL_ROOT}/tmp -fi - -# -# the tail of the script contains a shared object for overloading the getuid() -# and a few other calls -# - -GETUID_SO=/tmp/getuid.so.$$ -linenum=??? -tail +$linenum $0 > $GETUID_SO - -# -# Perform the installation -# -if [ "$UPDATE" = "yes" ] -then - # restore original "bootstraprc" prior to patching - for i in ${PKG_LIST}; do - my_dir=${INSTALL_ROOT}`pkgparam -d ${PACKAGE_PATH} "$i" BASEDIR` - find "$my_dir" -type f -name bootstraprc.orig -exec sh -ce 'mv "$0" `dirname "$0"`/bootstraprc' {} \; - done - - # copy INST_RELEASE file - if [ ! -f ${INSTALL_ROOT}/var/sadm/system/admin/INST_RELEASE ] - then - mkdir -p ${INSTALL_ROOT}/var/sadm/system/admin 2>/dev/null - cp -f /var/sadm/system/admin/INST_RELEASE ${INSTALL_ROOT}/var/sadm/system/admin/INST_RELEASE - fi - - # The case UPDATE="yes" is valid for patch installation and for language packs. - # For patches the variable PKG_LIST is empty, for language packs it is not empty. - # Patches have to be installed with patchadd, language packs with pkgadd - - if [ -z "${PKG_LIST}" ] - then - LD_PRELOAD_32=$GETUID_SO /usr/sbin/patchadd -R ${INSTALL_ROOT} -M ${PATCH_PATH} ${PATCH_LIST} 2>&1 | grep -v '/var/sadm/patch' || pkg_error - else - LD_PRELOAD_32=$GETUID_SO /usr/sbin/pkgadd -d ${PACKAGE_PATH} -R ${INSTALL_ROOT} ${PKG_LIST} >/dev/null || pkg_error - fi - -else - - # Create BASEDIR directories to avoid manual user interaction - for i in ${PKG_LIST}; do - mkdir -m 0755 -p ${INSTALL_ROOT}`pkgparam -d ${PACKAGE_PATH} $i BASEDIR` 2>/dev/null - done - - if [ ! "${INSTALL_ROOT:0:1}" = "/" ]; then - INSTALL_ROOT=`cd ${INSTALL_ROOT}; pwd` - fi - - echo "####################################################################" - echo "# Installation of the found packages #" - echo "####################################################################" - echo - echo "Path to the packages : " $PACKAGE_PATH - echo "Path to the installation : " $INSTALL_ROOT - - LD_PRELOAD_32=$GETUID_SO /usr/sbin/pkgadd -d ${PACKAGE_PATH} -R ${INSTALL_ROOT} ${PKG_LIST} >/dev/null || pkg_error -fi - -rm -f $GETUID_SO -rm -f /tmp/.ai.pkg.zone.lock* - -# remove local tmp directory -if [ ! -z ${LOCAL_TMP} ] -then - rm -f ${LOCAL_TMP}/.ai.pkg.zone.lock* - rmdir ${LOCAL_TMP} - rm -f ${INSTALL_ROOT}/tmp - mkdir ${INSTALL_ROOT}/tmp -fi - -# -# Create a link into the users home directory -# - -if [ "$LINK" = "yes" ] -then - rm -f $HOME/soffice 2>/dev/null - find `cd "$INSTALL_ROOT" && pwd` -name soffice -type f -perm -u+x -exec /bin/sh -ce 'ln -sf "$0" "$HOME/soffice" && echo "Creating link from $0 to $HOME/soffice"' {} \; -fi - -# patch the "bootstraprc" to create a self-containing installation -for i in ${PKG_LIST}; do - my_dir=${INSTALL_ROOT}`pkgparam -d ${PACKAGE_PATH} "$i" BASEDIR` - find "$my_dir" -type f -name bootstraprc -exec sh -ce 'test ! -f "$0".orig && mv "$0" "$0".orig && sed '\''s,^UserInstallation=$SYSUSERCONFIG.*,UserInstallation=$BRAND_BASE_DIR/../UserInstallation,'\'' "$0".orig > "$0"' {} \; -done - -# if an unpack directory exists, it can be removed now -if [ ! -z "$UNPACKDIR" ] -then - # for i in ${PKG_LIST}; do - # cd $UNPACKDIR; rm -rf $i - # done - # rmdir $UNPACKDIR - - rm -rf $UNPACKDIR - echo "Removed temporary directory $UNPACKDIR" -fi - -echo -echo "Installation done ..." -exit 0 - diff --git a/setup_native/scripts/javaloader.sh b/setup_native/scripts/javaloader.sh deleted file mode 100644 index 4e133a895..000000000 --- a/setup_native/scripts/javaloader.sh +++ /dev/null @@ -1,498 +0,0 @@ -#!/bin/sh - -jarfilename="JavaSetup.jar" -tempdir=/var/tmp/install_$$ -java_runtime="java" -java_runtime_set="no" -java_runtime_found="no" -java_runtime_sufficient="no" -java_versions_supported="1.4 1.5 1.6" -rpm2cpio_found="no" -rpm_found="no" -sunjavahotspot="HotSpot" -errortext="" -errorcode="" - -start_java() -{ - umask 022 - - echo "Using $java_runtime" - echo `$java_runtime -version` - echo "Running installer" - - # looking for environment variables - - home="" - if [ "x" != "x$HOME" ]; then - home=-DHOME=$HOME - fi - - log_module_states="" - if [ "x" != "x$LOG_MODULE_STATES" ]; then - log_module_states=-DLOG_MODULE_STATES=$LOG_MODULE_STATES - fi - - getuid_path="" - if [ "x" != "x$GETUID_PATH" ]; then - getuid_path=-DGETUID_PATH=$GETUID_PATH - fi - - if [ "x" != "x$jrefile" ]; then - jrecopy=-DJRE_FILE=$jrefile - fi - - # run the installer class file - echo $java_runtime $home $log_module_states $getuid_path $jrecopy -jar $jarfilename - $java_runtime $home $log_module_states $getuid_path $jrecopy -jar $jarfilename -} - -cleanup() -{ - if [ "x$tempdir" != "x" -a -d "$tempdir" ]; then - rm -rf $tempdir - fi -} - -do_exit() -{ - exitstring=$errortext - if [ "x" != "x$errorcode" ]; then - exitstring="$exitstring (exit code $errorcode)" - fi - - # simply echo the exitstring or open a xterm - # -> dependent from tty - - if tty ; then - echo $exitstring - else - mkdir $tempdir - - # creating error file - errorfile=$tempdir/error - - cat > $errorfile << EOF -echo "$exitstring" -echo "Press return to continue ..." -read a -EOF - - chmod 755 $errorfile - - # searching for xterm in path - xtermname="xterm" - xtermfound="no"; - for i in `echo $PATH | sed -e 's/^:/.:/g' -e 's/:$/:./g' -e 's/::/:.:/g' -e 's/:/ /g'`; do - if [ -x "$i/$xtermname" -a ! -d "$i/$xtermname" ]; then - xtermname="$i/$xtermname" - xtermfound="yes" - break - fi - done - - if [ $xtermfound = "no" -a "`uname -s`" = "SunOS" ]; then - if [ -x /usr/openwin/bin/xterm ]; then - xtermname=/usr/openwin/bin/xterm - xtermfound="yes" - fi - fi - - if [ $xtermfound = "yes" ]; then - $xtermname -e $errorfile - fi - fi - - cleanup - - exit $errorcode -} - -set_jre_for_uninstall() -{ - # if "uninstalldata" exists, this is not required - if [ ! -d "uninstalldata" ]; then - packagepath="RPMS" - jrefile=`find $packagepath -type f -name "jre*.rpm" -print` - jrefile=`basename $jrefile` - if [ -z "$jrefile" ]; then - jrefile="notfound" - fi - - # check existence of jre rpm - if [ ! -f $packagepath/$jrefile ]; then - errortext="Error: Java Runtime Environment (JRE) not found in directory: $packagepath" - errorcode="4" - do_exit - fi - fi -} - -install_linux_rpm() -{ - # Linux requires usage of rpm2cpio to install JRE with user privileges - # 1. --relocate /usr/java=/var/tmp does not work, because not all files are - # relocatable. Some are always installed into /etc - # 2. --root only works with root privileges. With user privileges only the - # database is shifted, but not the files. - - # On Linux currently rpm2cpio is required (and rpm anyhow) - - find_rpm2cpio() - - if [ ! "$rpm2cpio_found" = "yes" ]; then - errortext="Error: Did not find rpm2cpio. rpm2cpio is currently required for installations on Linux." - errorcode="11" - do_exit - fi - - find_rpm() - - if [ ! "$rpm_found" = "yes" ]; then - errortext="Error: Did not find rpm. rpm is currently required for installations on Linux." - errorcode="12" - do_exit - fi - - # jrefile=jre-6-linux-i586.rpm - # javahome=usr/java/jre1.6.0 - - packagepath="RPMS" - - # using "uninstalldata" for uninstallation - if [ -d "uninstalldata" ]; then - packagepath="uninstalldata/jre" - fi - - jrefile=`find $packagepath -type f -name "jre*.rpm" -print` - jrefile=`basename $jrefile` - if [ -z "$jrefile" ]; then - jrefile="notfound" - fi - - # check existence of jre rpm - if [ ! -f $packagepath/$jrefile ]; then - errortext="Error: Java Runtime Environment (JRE) not found in directory: $packagepath" - errorcode="4" - do_exit - fi - - PACKED_JARS="lib/rt.jar lib/jsse.jar lib/charsets.jar lib/ext/localedata.jar lib/plugin.jar lib/javaws.jar lib/deploy.jar" - - mkdir $tempdir - - trap 'rm -rf $tempdir; exit 1' HUP INT QUIT TERM - - tempjrefile=$tempdir/$jrefile - cp $packagepath/$jrefile $tempjrefile - - if [ ! -f "$tempjrefile" ]; then - errortext="Error: Failed to copy Java Runtime Environment (JRE) temporarily." - errorcode="5" - do_exit - fi - - # check if copy was successful - if [ -x /usr/bin/sum ]; then - - echo "Checksumming..." - - sumA=`/usr/bin/sum $packagepath/$jrefile` - index=1 - for s in $sumA; do - case $index in - 1) - sumA1=$s; - index=2; - ;; - 2) - sumA2=$s; - index=3; - ;; - esac - done - - sumB=`/usr/bin/sum $tempjrefile` - index=1 - for s in $sumB; do - case $index in - 1) - sumB1=$s; - index=2; - ;; - 2) - sumB2=$s; - index=3; - ;; - esac - done - - # echo "Checksum 1: A1: $sumA1 B1: $sumB1" - # echo "Checksum 2: A2: $sumA2 B2: $sumB2" - - if [ $sumA1 -ne $sumB1 ] || [ $sumA2 -ne $sumB2 ]; then - errortext="Error: Failed to install Java Runtime Environment (JRE) temporarily." - errorcode="6" - do_exit - fi - else - echo "Can't find /usr/bin/sum to do checksum. Continuing anyway." - fi - - # start to install jre - echo "Extracting ..." - olddir=`pwd` - cd "$tempdir" - rpm2cpio $tempjrefile | cpio -i --make-directories - rm -f $tempjrefile # we do not need it anymore, so conserve discspace - - javahomeparent=usr/java - javahomedir=`find $javahomeparent -maxdepth 1 -type d -name "jre*" -print` - javahomedir=`basename $javahomedir` - if [ -z "$javahomedir" ]; then - javahomedir="notfound" - fi - - javahome=$javahomeparent/$javahomedir - - if [ ! -d ${javahome} ]; then - errortext="Error: Failed to extract the Java Runtime Environment (JRE) files." - errorcode="7" - do_exit - fi - - UNPACK_EXE=$javahome/bin/unpack200 - if [ -f $UNPACK_EXE ]; then - chmod +x $UNPACK_EXE - packerror="" - for i in $PACKED_JARS; do - if [ -f $javahome/`dirname $i`/`basename $i .jar`.pack ]; then - # printf "Creating %s\n" $javahome/$i - $UNPACK_EXE $javahome/`dirname $i`/`basename $i .jar`.pack $javahome/$i - if [ $? -ne 0 ] || [ ! -f $javahome/$i ]; then - printf "ERROR: Failed to unpack JAR file:\n\n\t%s\n\n" $i - printf "Installation failed. Please refer to the Troubleshooting Section of\n" - printf "the Installation Instructions on the download page.\n" - packerror="1" - break - fi - - # remove the old pack file - rm -f $javahome/`dirname $i`/`basename $i .jar`.pack - fi - done - if [ "$packerror" = "1" ]; then - if [ -d $javahome ]; then - /bin/rm -rf $javahome - fi - - errortext="Error: Failed to extract the Java Runtime Environment (JRE) files." - errorcode="8" - do_exit - fi - fi - - PREFS_LOCATION="`echo \"${javahome}\" | sed -e 's/^jdk.*/&\/jre/'`/.systemPrefs" - - if [ ! -d "${PREFS_LOCATION}" ]; then - mkdir -m 755 "${PREFS_LOCATION}" - fi - if [ ! -f "${PREFS_LOCATION}/.system.lock" ]; then - touch "${PREFS_LOCATION}/.system.lock" - chmod 644 "${PREFS_LOCATION}/.system.lock" - fi - if [ ! -f "${PREFS_LOCATION}/.systemRootModFile" ]; then - touch "${PREFS_LOCATION}/.systemRootModFile" - chmod 644 "${PREFS_LOCATION}/.systemRootModFile" - fi - - if [ x$ARCH = "x32" ] && [ -f "$javahome/bin/java" ]; then - "$javahome/bin/java" -client -Xshare:dump > /dev/null 2>&1 - fi - - java_runtime=$tempdir/$javahome/bin/java - - # Make symbolic links to all TrueType font files installed in the system - # to avoid garbles for Japanese, Korean or Chinese - language=`printenv LANG | cut -c 1-3` - if [ x$language = "xja_" -o x$language = "xko_" -o x$language = "xzh_" ]; then - font_fallback_dir=$javahome/lib/fonts/fallback - echo "Making symbolic links to TrueType font files into $font_fallback_dir." - mkdir -p $font_fallback_dir - ttf_files=`locate "*.ttf" | xargs` - if [ x$ttf_files = "x" ]; then - ttf_files=`find /usr/share/fonts/ -name "*ttf"` - if [ x$ttf_files = "x" ]; then - ttf_files=`find /usr/X11R6/lib/ -name "*ttf"` - fi - fi - ln -s $ttf_files $font_fallback_dir - fi - - echo "Done." - cd "$olddir" -} - -find_rpm2cpio() -{ - # searching for rpm2cpio in path - for i in `echo $PATH | sed -e 's/^:/.:/g' -e 's/:$/:./g' -e 's/::/:.:/g' -e 's/:/ /g'`; do - if [ -x "$i/rpm2cpio" -a ! -d "$i/$rpm2cpio" ]; then - rpm2cpio_found="yes" - break - fi - done -} - -find_rpm() -{ - # searching for rpm in path - for i in `echo $PATH | sed -e 's/^:/.:/g' -e 's/:$/:./g' -e 's/::/:.:/g' -e 's/:/ /g'`; do - if [ -x "$i/rpm" -a ! -d "$i/$rpm" ]; then - rpm_found="yes" - break - fi - done -} - -check_architecture() -{ - # Check, if system and installation set fit together (x86 and sparc). - # If not, throw a warning. - # Architecture of the installation set is saved in file "installdata/xpd/setup.xpd" - # <architecture>sparc</architecture> or <architecture>i386</architecture> - # Architecture of system is determined with "uname -p" - - setupxpdfile="installdata/xpd/setup.xpd" - - if [ -f $setupxpdfile ]; then - platform=`uname -p` # valid values are "sparc" or "i386" - searchstring="<architecture>$platform</architecture>" - match=`cat $setupxpdfile | grep $searchstring` - - if [ -z "$match" ]; then - # architecture does not fit, warning required - if [ "$platform" = "sparc" ]; then - echo "Warning: This is an attempt to install Solaris x86 packages on Solaris Sparc." - else - echo "Warning: This is an attempt to install Solaris Sparc packages on Solaris x86." - fi - fi - fi -} - -find_solaris_jre() -{ - # searching for java runtime in path - for i in `echo $PATH | sed -e 's/^:/.:/g' -e 's/:$/:./g' -e 's/::/:.:/g' -e 's/:/ /g'`; do - if [ -x "$i/$java_runtime" -a ! -d "$i/$java_runtime" ]; then - java_runtime="$i/$java_runtime" - java_runtime_found="yes" - break - fi - done -} - -check_jre_version() -{ - # check version of an installed JRE - javaoutput=`$java_runtime -version 2>&1 | tail ${tail_args} -1` - hotspot=`echo $javaoutput | grep $sunjavahotspot` - if [ ! -z "$hotspot" ]; then - for i in $java_versions_supported; do - versionmatch=`echo $javaoutput | grep $i` - if [ ! -z "$versionmatch" ]; then - java_runtime_sufficient="yes" - break - fi - done - - # check new version format, where version number is not part of line 3 (1.6) - if [ ! "$java_runtime_sufficient" = "yes" ]; then - javaoutput=`$java_runtime -version 2>&1 | head ${tail_args} -3` - for i in $java_versions_supported; do - versionmatch=`echo $javaoutput | grep $i` - if [ ! -z "$versionmatch" ]; then - java_runtime_sufficient="yes" - break - fi - done - fi - fi -} - -# the user might want to specify java runtime on the commandline -USAGE="Usage: $0 [ -j <java_runtime> ]" -while getopts hj: opt; do - echo "Parameter: $opt" - case $opt in - j) java_runtime_set="yes"; - java_runtime="${OPTARG}" - if [ ! -f "$java_runtime" ]; then - errortext="Error: Invalid java runtime $java_runtime, file does not exist." - errorcode="2" - do_exit - fi - if [ ! -x "$java_runtime" ]; then - errortext="Error: Invalid java runtime $java_runtime, not an executable file." - errorcode="3" - do_exit - fi - java_runtime_found="yes"; - ;; - h) echo ${USAGE} - errortext="" - errorcode="" - do_exit - ;; - \?) echo ${USAGE} - errortext="" - errorcode="" - do_exit - ;; - esac -done - -# changing into setup directory -cd "`dirname "$0"`" - -# prepare jre, if not set on command line -if [ "$java_runtime_set" != "yes" ]; then - platform=`uname -s` - if [ "`uname -s`" = "Linux" ]; then - install_linux_rpm - elif [ "`uname -s`" = "SunOS" ]; then - check_architecture - find_solaris_jre - if [ "$java_runtime_found" = "yes" ]; then - check_jre_version - if [ ! "$java_runtime_sufficient" = "yes" ]; then - errortext="Error: Did not find a valid Java Runtime Environment (JRE). Required JRE versions: $java_versions_supported" - errorcode="9" - do_exit - fi - else - errortext="Error: Did not find an installed Java Runtime Environment (JRE)." - errorcode="10" - do_exit - fi - else - errortext="Error: Platform $platform not supported for Java Runtime Environment (JRE) installation." - errorcode="1" - do_exit - fi -fi - -# jre for Linux is also required, if java runtime is set (for uninstallation mode) -if [ "$java_runtime_set" = "yes" ]; then - platform=`uname -s` - if [ "`uname -s`" = "Linux" ]; then - set_jre_for_uninstall - fi -fi - -start_java - -cleanup - -exit 0 diff --git a/setup_native/scripts/langpackscript.sh b/setup_native/scripts/langpackscript.sh deleted file mode 100644 index 9ea5a9a70..000000000 --- a/setup_native/scripts/langpackscript.sh +++ /dev/null @@ -1,153 +0,0 @@ -#!/bin/sh - -MYUID=`id | sed "s/(.*//g" | sed "s/.*=//"` - -if [ $MYUID -ne 0 ] -then - echo You need to have super-user rights to install this language package - exit 1 -fi - -linenum=LINENUMBERPLACEHOLDER - -# Determining current platform - -platform=`uname -s` - -case $platform in -SunOS) - tail_prog="tail" - ;; -Linux) - tail_prog="tail -n" - ;; -*) - tail_prog="tail" - ;; -esac - -more << "EOF" -LICENSEFILEPLACEHOLDER -EOF - -agreed= -while [ x$agreed = x ]; do - echo - echo "Do you agree to the above license terms? [yes or no] " - read reply leftover - case $reply in - y* | Y*) - agreed=1;; - n* | N*) - echo "If you don't agree to the license you can't install this software"; - exit 1;; - esac -done - -case $platform in -SunOS) - SEARCHPACKAGENAME="BASISPACKAGEPREFIXPLACEHOLDEROOOBASEVERSIONPLACEHOLDER-core01" - echo - echo "Searching for the FULLPRODUCTNAMELONGPLACEHOLDER installation ..." - PACKAGENAME=`pkginfo -x | grep $SEARCHPACKAGENAME | sed "s/ .*//"` - if [ "x$PACKAGENAME" != "x" ] - then - PRODUCTINSTALLLOCATION="`pkginfo -r $PACKAGENAME`" - else - echo "FULLPRODUCTNAMELONGPLACEHOLDER not installed (no package $SEARCHPACKAGENAME installed)" - exit 1 - fi - ;; -Linux) - SEARCHPACKAGENAME="BASISPACKAGEPREFIXPLACEHOLDEROOOBASEVERSIONPLACEHOLDER-core01" - FIXPATH="/openoffice.org" - echo - echo "Searching for the FULLPRODUCTNAMELONGPLACEHOLDER installation ..." - RPMNAME=`rpm -qa | grep $SEARCHPACKAGENAME` - if [ "x$RPMNAME" != "x" ] - then - PRODUCTINSTALLLOCATION="`rpm -ql $RPMNAME | head -n 1`" - else - echo "FULLPRODUCTNAMELONGPLACEHOLDER not installed (no package $SEARCHPACKAGENAME installed)" - exit 1 - fi - PRODUCTINSTALLLOCATION=`echo $PRODUCTINSTALLLOCATION | sed "s#${FIXPATH}##"` - ;; -*) - echo "Unsupported platform" - exit 1 - ;; -esac - -# Asking for the installation directory - -# echo -# echo "Where do you want to install the language pack ? [$PRODUCTINSTALLLOCATION] " -# read reply leftover -# if [ "x$reply" != "x" ] -# then -# PRODUCTINSTALLLOCATION="$reply" -# fi - -# Unpacking - -outdir=/var/tmp/install_$$ -mkdir $outdir - -#diskSpace=`df -k $outdir | $tail_prog -1 | awk '{if ( $4 ~ /%/) { print $3 } else { print $4 } }'` -#if [ $diskSpace -lt $diskSpaceRequired ]; then -# printf "You will need atleast %s kBytes of Disk Free\n" $diskSpaceRequired -# printf "Please free up the required Disk Space and try again\n" -# exit 3 -#fi - -trap 'rm -rf $outdir; exit 1' HUP INT QUIT TERM -echo "Unpacking and installing..." - -#if [ -x /usr/bin/sum ] ; then -# echo "Checksumming..." -# -# sum=`/usr/bin/sum $outdir/$outname` -# index=1 -# for s in $sum -# do -# case $index in -# 1) sum1=$s; -# index=2; -# ;; -# 2) sum2=$s; -# index=3; -# ;; -# esac -# done -# if expr $sum1 != <sum1replace> || expr $sum2 != <sum2replace> ; then -# echo "The download file appears to be corrupted. Please refer" -# echo "to the Troubleshooting section of the Installation" -# exit 1 -# fi -#else -# echo "Can't find /usr/bin/sum to do checksum. Continuing anyway." -#fi - -case $platform in -SunOS) - $tail_prog +$linenum $0 | gunzip | (cd $outdir; tar xvf -) - adminfile=$outdir/admin.$$ - echo "basedir=$PRODUCTINSTALLLOCATION" > $adminfile -INSTALLLINES - ;; -Linux) - $tail_prog +$linenum $0 | gunzip | (cd $outdir; tar xvf -) -INSTALLLINES - ;; -*) - echo "Unsupported platform" - exit 1 - ;; -esac - -rm -rf $outdir - -echo "Done..." - -exit 0 diff --git a/setup_native/scripts/linuxpatchscript.sh b/setup_native/scripts/linuxpatchscript.sh deleted file mode 100644 index 5378d8d84..000000000 --- a/setup_native/scripts/linuxpatchscript.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/sh - -MYUID=`id | sed "s/(.*//g" | sed "s/.*=//"` - -if [ $MYUID -ne 0 ] -then - echo You need to have super-user permissions to run this patch script - exit 1 -fi - -echo -echo "Searching for the PRODUCTNAMEPLACEHOLDER installation ..." - -RPMNAME=`rpm -qa | grep SEARCHPACKAGENAMEPLACEHOLDER` - -if [ "x$RPMNAME" != "x" ] -then - PRODUCTINSTALLLOCATION="`rpm --query --queryformat "%{INSTALLPREFIX}" $RPMNAME`" - FULLPRODUCTINSTALLLOCATION="${PRODUCTINSTALLLOCATION}/PRODUCTDIRECTORYNAME" -else - echo "PRODUCTNAMEPLACEHOLDER is not installed" - exit 1 -fi - -# Last chance to exit .. -echo -read -p "Patching the installation in ${FULLPRODUCTINSTALLLOCATION}. Continue (y/n) ? " -n 1 reply leftover -echo -[ "$reply" = "y" ] || exit 1 - -echo -echo "About to update the following packages ..." - -BASEDIR=`dirname $0` - -RPMLIST="" -for i in `ls $BASEDIR/RPMS/*.rpm` -do - rpm --query `rpm --query --queryformat "%{NAME}\n" --package $i` && RPMLIST="$RPMLIST $i" -done - -# Save UserInstallation value -BOOTSTRAPRC="${FULLPRODUCTINSTALLLOCATION}/program/bootstraprc" -USERINST=`grep UserInstallation ${BOOTSTRAPRC}` - -# Check, if kde-integration rpm is available -KDERPM=`ls $BASEDIR/RPMS/*.rpm | grep kde-integration` - -if [ "x$KDERPM" != "x" ]; then - # Check, that $RPMLIST does not contain kde integration rpm (then it is already installed) - KDERPMINSTALLED=`grep kde-integration ${RPMLIST}` - - if [ "x$KDERPMINSTALLED" = "x" ]; then - # Install the kde integration rpm - RPMLIST="$RPMLIST $KDERPM" - fi -fi - -echo -rpm --upgrade -v --hash --prefix $PRODUCTINSTALLLOCATION --notriggers $RPMLIST -echo - -# Some RPM versions have problems with -U and --prefix -if [ ! -f ${BOOTSTRAPRC} ]; then - echo Update failed due to a bug in RPM, uninstalling .. - rpm --erase -v --nodeps --notriggers `rpm --query --queryformat "%{NAME} " --package $RPMLIST` - echo - echo Now re-installing new packages .. - echo - rpm --install -v --hash --prefix $PRODUCTINSTALLLOCATION --notriggers $RPMLIST - echo -fi - -# Restore the UserInstallation key if necessary -DEFUSERINST=`grep UserInstallation ${BOOTSTRAPRC}` -if [ "${USERINST}" != "${DEFUSERINST}" ]; then - mv -f ${BOOTSTRAPRC} ${BOOTSTRAPRC}.$$ - sed "s|UserInstallation.*|${USERINST}|" ${BOOTSTRAPRC}.$$ > ${BOOTSTRAPRC} - rm -f ${BOOTSTRAPRC}.$$ -fi - -echo "Done." - -exit 0 diff --git a/setup_native/scripts/mac_install.script b/setup_native/scripts/mac_install.script deleted file mode 100644 index 2b34da1b0..000000000 --- a/setup_native/scripts/mac_install.script +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -# shell script as a workaraound since it is hard to impossible to store compiled -# applescript in CVS and running osacompile would require a GUI session while -# building (or root privileges) -# using osascript only works when the shell script is camouflaged as application - -MY_DIR=$(dirname "$0") - -osascript "$MY_DIR/osx_install.applescript" diff --git a/setup_native/scripts/makefile.mk b/setup_native/scripts/makefile.mk deleted file mode 100644 index 61dc0b786..000000000 --- a/setup_native/scripts/makefile.mk +++ /dev/null @@ -1,99 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=.. - -PRJNAME=setup_native -TARGET=install - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk -.IF "$(L10N_framework)"=="" -# --- Files -------------------------------------------------------- - -UNIXTEXT= \ - $(BIN)$/langpackscript.sh \ - $(BIN)$/linuxpatchscript.sh \ - $(BIN)$/javaloader.sh \ - $(BIN)$/register_extensions \ - $(BIN)$/deregister_extensions \ - $(BIN)$/unpack_update.sh \ - $(BIN)$/update.sh \ - $(BIN)$/downloadscript.sh - -NOARCH=$(BIN)$/noarch -FAKEDB=$(NOARCH)/fake-db-1.0-0.noarch.rpm -FAKEDBROOT=$(COMMONMISC)/$(TARGET)/fake-db-root - -# --- Targets ------------------------------------------------------ - -.ENDIF # L10N_framework -.INCLUDE : target.mk -.IF "$(L10N_framework)"=="" -.IF "$(OS)" == "SOLARIS" || ( "$(OS)" == "LINUX" && "$(PKGFORMAT)"!="$(PKGFORMAT:s/rpm//)" ) - -ALLTAR: $(BIN)$/install $(BIN)$/uninstall - -$(BIN)$/install: install_$(OS:l).sh - $(PERL) install_create.pl $& $@ - -chmod 775 $@ - -.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 # "$(OS)" == "LINUX" - -.IF "$(OS)" == "SOLARIS" - -$(BIN)$/install: $(LB)$/getuid.so.stripped - -$(BIN)$/uninstall: uninstall_solaris.sh $(LB)$/getuid.so.stripped - $(PERL) install_create.pl $< $@ - -chmod 775 $@ - -$(LB)$/getuid.so.stripped: $(LB)$/getuid.so - @$(COPY) $< $@ - @/usr/ccs/bin/strip $@ - -.ENDIF - -.ENDIF # L10N_framework diff --git a/setup_native/scripts/osx_install_languagepack.applescript b/setup_native/scripts/osx_install_languagepack.applescript deleted file mode 100644 index e2e23b2d4..000000000 --- a/setup_native/scripts/osx_install_languagepack.applescript +++ /dev/null @@ -1,142 +0,0 @@ -(* -This script is meant to - 1) Identify installed instances of the product - 2) check whether the user has write-access (and if not - ask for authentification) - 3) install the shipped tarball -*) - --- strings for localisations - to be meant to be replaced --- by a makefile or similar -set OKLabel to "[OKLabel]" -set InstallLabel to "[InstallLabel]" -set AbortLabel to "[AbortLabel]" -set intro to "[IntroText1] - -[IntroText2] - -[IntroText3]" -set chooseMyOwn to "[ChooseMyOwnText]" -set listPrompt to "[ListPromptText]" -set chooseManual to "[ChooseManualText]" -set listOKLabel to "[ListOKLabelText]" -set listCancelLabel to "[ListCancelLabel]" -set appInvalid to "[AppInvalidText1] - -[AppInvalidText2]" -- string will begin with the chosen application's name -set startInstall to "[StartInstallText1] - -[StartInstallText2]" -set IdentifyQ to "[IdentifyQText] - -[IdentifyQText2]" -set IdentifyYES to "[IdentifyYES]" -set IdentifyNO to "[IdentifyNO]" -set installFailed to "[InstallFailedText]" -set installComplete to "[InstallCompleteText] - -[InstallCompleteText2]" - -set sourcedir to (do shell script "dirname " & quoted form of POSIX path of (path to of me)) - -activate -display dialog intro buttons {AbortLabel, InstallLabel} default button 2 - -if (button returned of result) is AbortLabel then - return 2 -end if - -set the found_ooos_all to (do shell script "mdfind \"kMDItemContentType == 'com.apple.application-bundle' && kMDItemDisplayName == '[PRODUCTNAME]*' && kMDItemDisplayName != '[FULLAPPPRODUCTNAME].app'\"") & " -" & chooseMyOwn - -set found_ooos_all_paragraphs to paragraphs in found_ooos_all - -set found_ooos to {} -repeat with currentApp in found_ooos_all_paragraphs - if currentApp does not start with "/Volumes" then - copy currentApp to the end of found_ooos - end if -end repeat - --- repeat with oneApp in found_ooos --- display dialog oneApp --- end repeat - --- the choice returned is of type "list" --- Show selection dialog only if more than one or no product was found --- The first item is an empty string, if no app was found and no app started with "/Volumes" --- The first item is chooseMyOwn, if no app was found and at least one app started with "/Volumes" -if (get first item of found_ooos as string) is "" then - set the choice to (choose from list found_ooos default items (get second item of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel) - if choice is false then - -- do nothing, the user cancelled the installation - return 2 --aborted by user - else if (choice as string) is chooseMyOwn then - -- yeah, one needs to use "choose file", otherwise - -- the user would not be able to select the .app - set the choice to POSIX path of (choose file with prompt chooseManual of type "com.apple.application-bundle" without showing package contents and invisibles) - end if -else if (get first item of found_ooos as string) is chooseMyOwn then - set the choice to (choose from list found_ooos default items (get first item of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel) - if choice is false then - -- do nothing, the user cancelled the installation - return 2 --aborted by user - else if (choice as string) is chooseMyOwn then - -- yeah, one needs to use "choose file", otherwise - -- the user would not be able to select the .app - set the choice to POSIX path of (choose file with prompt chooseManual of type "com.apple.application-bundle" without showing package contents and invisibles) - end if -else if (get second item of found_ooos as string) is chooseMyOwn then - -- set choice to found installation - -- set the choice to (get first paragraph of found_ooos) - set the choice to (get first item of found_ooos) -else - set the choice to (choose from list found_ooos default items (get first item of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel) - if choice is false then - -- do nothing, the user cancelled the installation - return 2 --aborted by user - else if (choice as string) is chooseMyOwn then - -- yeah, one needs to use "choose file", otherwise - -- the user would not be able to select the .app - set the choice to POSIX path of (choose file with prompt chooseManual of type "com.apple.application-bundle" without showing package contents and invisibles) - end if -end if - --- now only check whether the path is really from [PRODUCTNAME] -try - do shell script "grep '<string>[PRODUCTNAME] [PRODUCTVERSION]' " & quoted form of (choice as string) & "/Contents/Info.plist" -on error - display dialog (choice as string) & appInvalid buttons {InstallLabel} default button 1 with icon 0 - return 3 --wrong target-directory -end try - -(* -display dialog startInstall buttons {AbortLabel, InstallLabel} default button 2 - -if (button returned of result) is AbortLabel then - return 2 -end if -*) - -set tarCommand to "/usr/bin/tar -C " & quoted form of (choice as string) & " -xjf " & quoted form of sourcedir & "/tarball.tar.bz2" -try - do shell script tarCommand - -on error errMSG number errNUM - display dialog IdentifyQ buttons {IdentifyYES, IdentifyNO} with icon 2 - if (button returned of result) is IdentifyYES then - try - do shell script tarCommand with administrator privileges - on error errMSG number errNUM - display dialog installFailed buttons {OKLabel} default button 1 with icon 0 - -- -60005 username/password wrong - -- -128 aborted by user - -- 2 error from tar - tarball not found (easy to test) - return errNUM - end try - else - return 2 -- aborted by user - end if -end try - -display dialog installComplete buttons {OKLabel} default button 1 diff --git a/setup_native/scripts/osx_install_patch.applescript b/setup_native/scripts/osx_install_patch.applescript deleted file mode 100644 index fc12f2010..000000000 --- a/setup_native/scripts/osx_install_patch.applescript +++ /dev/null @@ -1,139 +0,0 @@ -(* -This script is meant to - 1) Identify installed instances of the product - 2) check whether the user has write-access (and if not - ask for authentification) - 3) install the shipped tarball -*) - --- strings for localisations - to be meant to be replaced --- by a makefile or similar -set OKLabel to "[OKLabel]" -set InstallLabel to "[InstallLabel]" -set AbortLabel to "[AbortLabel]" -set intro to "[IntroText1] - -[IntroText2] - -[IntroText3]" -set chooseMyOwn to "[ChooseMyOwnText]" -set listPrompt to "[ListPromptText]" -set chooseManual to "[ChooseManualText]" -set listOKLabel to "[ListOKLabelText]" -set listCancelLabel to "[ListCancelLabel]" -set appInvalid to "[AppInvalidText1] - -[AppInvalidText2]" -- string will begin with the chosen application's name -set startInstall to "[StartInstallText1] - -[StartInstallText2]" -set IdentifyQ to "[IdentifyQText] - -[IdentifyQText2]" -set IdentifyYES to "[IdentifyYES]" -set IdentifyNO to "[IdentifyNO]" -set installFailed to "[InstallFailedText]" -set installComplete to "[InstallCompleteTextPatch]" - -set sourcedir to (do shell script "dirname " & quoted form of POSIX path of (path to of me)) - -display dialog intro buttons {AbortLabel, InstallLabel} default button 2 - -if (button returned of result) is AbortLabel then - return 2 -end if - -set the found_ooos_all to (do shell script "mdfind \"kMDItemContentType == 'com.apple.application-bundle' && kMDItemDisplayName == '[PRODUCTNAME]*' && kMDItemDisplayName != '[FULLAPPPRODUCTNAME].app'\"") & " -" & chooseMyOwn - -set found_ooos_all_paragraphs to paragraphs in found_ooos_all - -set found_ooos to {} -repeat with currentApp in found_ooos_all_paragraphs - if currentApp does not start with "/Volumes" then - copy currentApp to the end of found_ooos - end if -end repeat - --- repeat with oneApp in found_ooos --- display dialog oneApp --- end repeat - --- the choice returned is of type "list" --- Show selection dialog only if more than one or no product was found --- The first item is an empty string, if no app was found and no app started with "/Volumes" --- The first item is chooseMyOwn, if no app was found and at least one app started with "/Volumes" -if (get first item of found_ooos as string) is "" then - set the choice to (choose from list found_ooos default items (get second item of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel) - if choice is false then - -- do nothing, the user cancelled the installation - return 2 --aborted by user - else if (choice as string) is chooseMyOwn then - -- yeah, one needs to use "choose file", otherwise - -- the user would not be able to select the .app - set the choice to POSIX path of (choose file with prompt chooseManual of type "com.apple.application-bundle" without showing package contents and invisibles) - end if -else if (get first item of found_ooos as string) is chooseMyOwn then - set the choice to (choose from list found_ooos default items (get first item of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel) - if choice is false then - -- do nothing, the user cancelled the installation - return 2 --aborted by user - else if (choice as string) is chooseMyOwn then - -- yeah, one needs to use "choose file", otherwise - -- the user would not be able to select the .app - set the choice to POSIX path of (choose file with prompt chooseManual of type "com.apple.application-bundle" without showing package contents and invisibles) - end if -else if (get second item of found_ooos as string) is chooseMyOwn then - -- set choice to found installation - -- set the choice to (get first paragraph of found_ooos) - set the choice to (get first item of found_ooos) -else - set the choice to (choose from list found_ooos default items (get first item of found_ooos) with prompt listPrompt OK button name listOKLabel cancel button name listCancelLabel) - if choice is false then - -- do nothing, the user cancelled the installation - return 2 --aborted by user - else if (choice as string) is chooseMyOwn then - -- yeah, one needs to use "choose file", otherwise - -- the user would not be able to select the .app - set the choice to POSIX path of (choose file with prompt chooseManual of type "com.apple.application-bundle" without showing package contents and invisibles) - end if -end if - --- now only check whether the path is really from [PRODUCTNAME] -try - do shell script "grep '<string>[PRODUCTNAME] [PRODUCTVERSION]' " & quoted form of (choice as string) & "/Contents/Info.plist" -on error - display dialog (choice as string) & appInvalid buttons {InstallLabel} default button 1 with icon 0 - return 3 --wrong target-directory -end try - -(* -display dialog startInstall buttons {AbortLabel, InstallLabel} default button 2 - -if (button returned of result) is AbortLabel then - return 2 -end if -*) - -set tarCommand to "/usr/bin/tar -C " & quoted form of (choice as string) & " -xjf " & quoted form of sourcedir & "/tarball.tar.bz2" -try - do shell script tarCommand - -on error errMSG number errNUM - display dialog IdentifyQ buttons {IdentifyYES, IdentifyNO} with icon 2 - if (button returned of result) is IdentifyYES then - try - do shell script tarCommand with administrator privileges - on error errMSG number errNUM - display dialog installFailed buttons {OKLabel} default button 1 with icon 0 - -- -60005 username/password wrong - -- -128 aborted by user - -- 2 error from tar - tarball not found (easy to test) - return errNUM - end try - else - return 2 -- aborted by user - end if -end try - -display dialog installComplete buttons {OKLabel} default button 1 diff --git a/setup_native/scripts/register_extensions b/setup_native/scripts/register_extensions deleted file mode 100644 index 034642175..000000000 --- a/setup_native/scripts/register_extensions +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/bash - -USAGE="Usage: $0" - -SCRIPTNAME=`basename "$0"` -PROGRAMDIR=`dirname "$0"` -OFFICEDIR="$PROGRAMDIR/.." -EXTENSIONDIR=$OFFICEDIR/share/extension/install -REGISTERFILE=$PROGRAMDIR/register.dat -UNOPKG=$PROGRAMDIR/unopkg - -help() -{ - echo - echo "Installation script for office extensions located in <office>/share/extension/install" - echo - echo "This installation script can be executed after successful installation of packages." - echo "Before uninstallation please execute the script \"deregister_extensions\" located next" - echo "to this script." - echo "Usage: $0" - echo "No parameter required." - echo -} - -# -# This script is only for root installations -# (How about installations done with user privileges?) -# - -# if [ $UID -ne 0 ] -# then -# printf "\nThis script is for installation only wiht administrative rights only\n" -# help -# exit 2 -# fi - -# -# Checking existence of unopkg in program directory -# - -if [ ! -f "$UNOPKG" ]; then - echo "Error: File $UNOPKG does not exist" - exit 1 -fi - -if [ ! -x "$UNOPKG" ]; then - echo "Error: File $UNOPKG is not an executable file" - exit 1 -fi - -# -# Collecting all files located in share/install/extensions -# - -FILELIST=`find $EXTENSIONDIR -type f -name "*.oxt" -print` - -if [ -z "$FILELIST" ] -then - printf "\n$0: No extensions found in $EXTENSIONDIR\n" - exit 2 -fi - -echo -echo "Installing:" -for i in $FILELIST; do - echo `basename $i` -done -echo - -for i in $FILELIST; do - COMMAND="$UNOPKG add --shared --suppress-license $i" - echo $COMMAND - $COMMAND -done - -if [ -f $REGISTERFILE ]; then - rm $REGISTERFILE -fi - -echo -echo "Installation done ..." -echo - -exit 0 diff --git a/setup_native/scripts/source/getuid.c b/setup_native/scripts/source/getuid.c deleted file mode 100644 index 80c91f2ab..000000000 --- a/setup_native/scripts/source/getuid.c +++ /dev/null @@ -1,137 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#include <fcntl.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> -#include <dlfcn.h> - -#ifdef _cplusplus -extern "C" { -#endif - -#ifdef SOLARIS - -#include <sys/systeminfo.h> -#include <strings.h> - -int chown (const char *path, uid_t owner, gid_t group) {return 0;} -int lchown (const char *path, uid_t owner, gid_t group) {return 0;} -int fchown (int fildes, uid_t owner, gid_t group) {return 0;} - -uid_t getuid (void) {return 0;} -int stat(const char *path, struct stat *buf); -#ifdef __notdef__ -uid_t geteuid (void) {return 0;} -gid_t getgid (void) {return 0;} -gid_t getegid (void) {return 0;} -#endif - -int setuid (uid_t p) {return 0;} -int setgid (gid_t p) {return 0;} - -/* This is to fool cpio and pkgmk */ -int fstat(int fildes, struct stat *buf) -{ - int ret = 0; - static int (*p_fstat) (int fildes, struct stat *buf) = NULL; - if (p_fstat == NULL) - p_fstat = (int (*)(int fildes, struct stat *buf)) - dlsym (RTLD_NEXT, "fstat"); - ret = (*p_fstat)(fildes, buf); - if (buf != NULL) - { - buf->st_uid = 0; /* root */ - buf->st_gid = 2; /* bin */ - } - - return ret; -} - -/* this is to fool mkdir, don't allow to remove owner execute right from directories */ -int chmod(const char *path, mode_t mode) -{ - int ret = 0; - static int (*p_chmod) (const char *path, mode_t mode) = NULL; - if (p_chmod == NULL) - p_chmod = (int (*)(const char *path, mode_t mode)) - dlsym (RTLD_NEXT, "chmod"); - - if ((mode & S_IXUSR) == 0) - { - struct stat statbuf; - if (stat(path, &statbuf) == 0) - { - if ((statbuf.st_mode & S_IFDIR) != 0) - mode = (mode | S_IXUSR); - } - } - - ret = (*p_chmod)(path, mode); - return ret; -} - - - -/* This is to fool tar */ -int fstatat64(int fildes, const char *path, struct stat64 *buf, int flag) -{ - int ret = 0; - static int (*p_fstatat) (int fildes, const char *path, struct stat64 *buf, int flag) = NULL; - if (p_fstatat == NULL) - p_fstatat = (int (*)(int fildes, const char *path, struct stat64 *buf, int flag)) - dlsym (RTLD_NEXT, "fstatat64"); - ret = (*p_fstatat)(fildes, path, buf, flag); - if (buf != NULL) - { - buf->st_uid = 0; /* root */ - buf->st_gid = 2; /* bin */ - } - - return ret; -} -#elif defined LINUX - -uid_t getuid (void) {return 0;} -uid_t geteuid (void) {return 0;} - -/* This is to fool tar */ -#ifdef X86_64 -int __lxstat(int n, const char *path, struct stat *buf) -{ - int ret = 0; - static int (*p_lstat) (int n, const char *path, struct stat *buf) = NULL; - if (p_lstat == NULL) - p_lstat = (int (*)(int n, const char *path, struct stat *buf)) - dlsym (RTLD_NEXT, "__lxstat"); - ret = (*p_lstat)(n, path, buf); - if (buf != NULL) - { - buf->st_uid = 0; /* root */ - buf->st_gid = 0; /* root */ - } - return ret; -} -#else -int __lxstat64(int n, const char *path, struct stat64 *buf) -{ - int ret = 0; - static int (*p_lstat) (int n, const char *path, struct stat64 *buf) = NULL; - if (p_lstat == NULL) - p_lstat = (int (*)(int n, const char *path, struct stat64 *buf)) - dlsym (RTLD_NEXT, "__lxstat64"); - ret = (*p_lstat)(n, path, buf); - if (buf != NULL) - { - buf->st_uid = 0; - buf->st_gid = 0; - } - return ret; -} -#endif -#endif - -#ifdef _cplusplus -} -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/scripts/source/makefile.mk b/setup_native/scripts/source/makefile.mk deleted file mode 100644 index 6933f53d6..000000000 --- a/setup_native/scripts/source/makefile.mk +++ /dev/null @@ -1,90 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/.. - -PRJNAME=setup_native -TARGET=getuid - -NO_DEFAULT_STL=TRUE -LIBSALCPPRT=$(0) -LIBTARGET=NO - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk - -# --- Files -------------------------------------------------------- - -# no 'lib' prefix -DLLPRE= - -# no _version.o -VERSIONOBJ= - -.IF "$(OS)" == "LINUX" || "$(OS)" == "SOLARIS" - -.IF "$(OS)" == "LINUX" -CFLAGS+=-D_GNU_SOURCE -.ENDIF - -.IF "$(OS)" == "SOLARIS" -.IF "$(CPU)" == "I" -.IF "$(COM)" != "GCC" -CFLAGS+=-D_KERNEL -.ENDIF -.ENDIF -.ENDIF - -# this object must not be a Ultra SPARC binary, this does not -# work with /usr/bin/sort and such. Needs to be 32 bit even in -# 64 bit builds -.IF "$(OS)" == "SOLARIS" -.IF "$(COM)" != "GCC" -.IF "$(CPU)" == "S" -ENVCFLAGS=-xarch=v8 -.ENDIF -.IF "$(CPU)"=="U" -CFLAGSAPPEND+=-m32 -LINKFLAGSSHL+=-m32 -.ENDIF -.ENDIF -.ENDIF - -SLOFILES = $(SLO)$/getuid.obj - -SHL1OBJS=$(SLOFILES) -SHL1TARGET=$(TARGET) -SHL1STDLIBS=-ldl -SHL1CODETYPE=C - -.ENDIF - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk - diff --git a/setup_native/scripts/uninstall_linux.sh b/setup_native/scripts/uninstall_linux.sh deleted file mode 100644 index 4bd4e1853..000000000 --- a/setup_native/scripts/uninstall_linux.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash - -# Linux deinstallation -# No parameter required, all RPMs listed in $HOME/.RPM_OFFICEDATABASE -# will be removed. - -if [ $# -ne 1 ] -then - echo - echo "Usage:" $0 "<office-installation-dir>" - echo " <inst-destination-dir>: directory where the office to be removed is installed" - echo - exit 2 -fi - -INSTALLDIR=$1 - -# Check for old style .RPM_OFFICEDATABASE first -if [ -d ${INSTALLDIR}/.RPM_OFFICEDATABASE ]; then - RPM_DB_PATH=${INSTALLDIR}/.RPM_OFFICEDATABASE -else - RPM_DB_PATH=${INSTALLDIR}/.RPM_DATABASE -fi - -# the RPM_DB_PATH must be absolute -if [ ! "${RPM_DB_PATH:0:1}" = "/" ]; then - RPM_DB_PATH=`cd ${RPM_DB_PATH}; pwd` -fi - -RPMLIST=`rpm --dbpath $RPM_DB_PATH --query --all` - -# Output ... -clear -echo "#########################################" -echo "# Deinstallation of Office RPMs #" -echo "#########################################" -echo -echo "Path to the RPM database: " $RPM_DB_PATH -echo "RPMs to deinstall:" -echo "$RPMLIST" -echo "====================================================================" -echo - -# Restore original bootstraprc -mv -f $1/program/bootstraprc.orig $1/program/bootstraprc - -rpm --dbpath $RPM_DB_PATH --erase $RPMLIST || exit 2 - -echo "Removing RPM database ..." -rm -rf $RPM_DB_PATH - -echo -echo "Deinstallation done." - -exit 0 diff --git a/setup_native/scripts/uninstall_solaris.sh b/setup_native/scripts/uninstall_solaris.sh deleted file mode 100644 index 970191f08..000000000 --- a/setup_native/scripts/uninstall_solaris.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -# First parameter: Root path that will be removed -# MY_ROOT=/export/home/is/root - -if [ $# -ne 1 -o -z "$1" ] -then - echo "One parameter required" - echo "Usage:" - echo "1. parameter: Path to the local root directory" - echo "All packages in local database will be removed!" - exit 2 -fi - -MY_ROOT=$1 - -cd `dirname $0` -DIRECTORY=`pwd` - -GETUID_SO=/tmp/getuid.so.$$ -linenum=??? -tail +$linenum `basename $0` > $GETUID_SO - -PKGLIST=`pkginfo -R $MY_ROOT | cut -f 2 -d ' ' | grep -v core` -COREPKG=`pkginfo -R $MY_ROOT | cut -f 2 -d ' ' | grep core` -COREPKG01=`pkginfo -R $MY_ROOT | cut -f 2 -d ' ' | grep core01` - -echo "#############################################" -echo "# Deinstallation of Office packages #" -echo "#############################################" -echo -echo "Path to the root directory : " $MY_ROOT -echo -echo "Packages to deinstall:" -for i in $PKGLIST $COREPKG; do - echo $i -done - -INSTALL_DIR=$MY_ROOT`pkginfo -R $MY_ROOT -r $COREPKG01` - -# Restore original bootstraprc -mv -f $INSTALL_DIR/program/bootstraprc.orig $INSTALL_DIR/program/bootstraprc - -for i in $PKGLIST $COREPKG; do - LD_PRELOAD=$GETUID_SO /usr/sbin/pkgrm -n -R $MY_ROOT $i -done - -# Removing old root directory, very dangerous! -# rm -rf $MY_ROOT - -# removing library in temp directory -rm -f $GETUID_SO - -echo -echo "Deinstallation done..." - -exit 0 diff --git a/setup_native/scripts/unpack_update.sh b/setup_native/scripts/unpack_update.sh deleted file mode 100644 index d93bb2749..000000000 --- a/setup_native/scripts/unpack_update.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -EXTENSION=`expr "//$1" : '.*\/.*\.\(t.*\)'` -[ -z $EXTENSION ] && ( echo "Unable to determine file type"; exit 2 ) - -BASEDIR=`dirname "$1"` -FOLDER=`basename "$1" ".$EXTENSION"` -NUM=1 - -DESTPATH="$BASEDIR/$FOLDER" - -while [ -d "$DESTPATH" ]; do - NUM=`expr $NUM + 1` - DESTPATH="$BASEDIR/$FOLDER-$NUM" -done - -mkdir "$DESTPATH" -cd "$DESTPATH" - -if [ "$EXTENSION" = "tar.gz" -o "$EXTENSION" = "tgz" ]; then - if [ -x /usr/bin/gzcat ]; then - /usr/bin/gzcat "$1" | tar -xf - - else - tar -xzf "$1" - fi -elif [ "$EXTENSION" = "tar.bz2" -o "$EXTENSION" = "tbz2" ]; then - /usr/bin/bzcat "$1" | tar -xf - -else - echo "Unsupported type of archive" - exit 2 -fi - -UPDATE=`eval ls */update` && SUBFOLDER=`dirname $UPDATE` && mv $SUBFOLDER/* . && rmdir $SUBFOLDER && echo "$DESTPATH/update" diff --git a/setup_native/scripts/update.sh b/setup_native/scripts/update.sh deleted file mode 100644 index 1b3785b38..000000000 --- a/setup_native/scripts/update.sh +++ /dev/null @@ -1,195 +0,0 @@ -#!/bin/sh - -GNOMEXCMDS="/usr/bin/gksu" -GNOMECMDS="/usr/bin/gnome-terminal /opt/gnome/bin/gnome-terminal" -KDEXCMDS="/usr/bin/kdesu /opt/kde/bin/kdesu /opt/kde?/bin/kdesu" -KDECMDS="/usr/bin/konsole /opt/kde/bin/konsole /opt/kde?/bin/konsole" -MISCCMDS="/usr/bin/x-terminal-emulator /usr/X11/bin/xterm /usr/openwin/bin/xterm" - -TITLE='${PRODUCTNAME} update' - -# -# Usage -# - -Usage () { - if [ "`basename $0`" = "update" ]; then - echo "Usage: `basename $0` [<path to ${PRODUCTNAME} installation>]" - fi - echo - exit 2 -} - -make_tempfile() { - - # Always prefer mktemp when available - if [ -x "$MKTEMP" ]; then - "$MKTEMP" "/tmp/$1.XXXXXX" - else - TMPCMD="/tmp/$1.$$" - touch $TMPCMD - echo $TMPCMD - fi - -} - -# -# make_command_file - generate a command file to pass to xterm & co -# -run_in_terminal () { - - TMPCMD=`make_tempfile 'OpenOffice.org-Online-Update'` - - cat >> $TMPCMD - - cat >> $TMPCMD << \EOF -if [ $? -eq 0 -a ! -z "$DISPLAY" ]; then - echo - echo "Press <Enter> to close this window" - read DUMMY -fi -EOF - - cat >> $TMPCMD << EOF -rm -f $TMPCMD -EOF - - chmod a+x $TMPCMD - exec "$@" -e $TMPCMD -} - -# -# run the command line passed as positional parameters either via -# gksu/kdesu or via su command in a terminal emulator. -# -elevate() { - - TITLEOPT="" - GEOMOPT="" - case `basename $XTERM` in - "xterm") - TITLEOPT="-title" - GEOMOPT="-geometry " - ;; - "gnome-terminal" | "konsole" | "x-terminal-emulator") - TITLEOPT="--title" - GEOMOPT="--geometry=" - ;; - esac - - case `basename $SU` in - "kdesu" ) - # --caption - SUOPT="-t" - ;; - "gksu" ) - # --title - SUOPT="" - ;; - "su" ) - SUOPT="- root -c" - ;; - esac - - ( echo "echo The application \"$@\" will update your ${PRODUCTNAME} installation." - echo "echo" - echo "$SU" "$SUOPT" "$@" - ) | run_in_terminal "$XTERM" "$TITLEOPT" "$TITLE" ${GEOMOPT}+300+300 -} - - -update_pkg() { - ADMINFILE=`make_tempfile 'LibreOffice-Online-Update-admin'` - -cat >> $ADMINFILE << EOF -action=nocheck -conflict=nocheck -setuid=nocheck -idepend=nocheck -rdepend=nocheck -mail= -EOF - - PKGLIST="" - for i in `cd $1; ls -d *`; do - pkginfo -q $i && PKGLIST="$PKGLIST $i" - done - - pkgrm -n -a $ADMINFILE $PKGLIST - pkgadd -n -a $ADMINFILE -d $1 $PKGLIST - - rm -f $ADMINFILE -} - -# -# main -# - -CMD="`basename $0`" -BASEDIR="`dirname $0`" -ABSBASEDIR="`cd $BASEDIR; pwd`" - -if [ -z "$DISPLAY" ]; then - SU="su" - XTERM="" -else - # define search order depending on the desktop in use .. - if [ "`uname -s`" = "SunOS" ]; then - XPROP=/usr/openwin/bin/xprop - GREP=/usr/xpg4/bin/grep - MKTEMP=/usr/bin/mktemp - else - if [ -x /usr/X11/bin/xprop ]; then - XPROP=/usr/X11/bin/xprop - else - XPROP=/usr/bin/xprop - fi - GREP=grep - MKTEMP=/bin/mktemp - fi - - # use desktop specific tools where possible, but prefer X11 su over terminal emulators - if $XPROP -root | $GREP -q '^KWIN_RUNNING'; then - SULIST="$KDEXCMDS $GNOMEXCMDS" - XTERMLIST="$KDECMDS $MISCCMDS" - else - SULIST="$GNOMEXCMDS $KDEXCMDS" - XTERMLIST="$GNOMECMDS $MISCCMDS" - fi - - # search for the first available terminal emulator - for i in $XTERMLIST; do - if [ -x $i ]; then - XTERM=$i - break - fi - done - - # we prefer gksu or kdesu if available - SU="su" - for i in $SULIST; do - if [ -x $i ]; then - SU=$i - break - fi - done -fi - -if [ "$CMD" = "update" ]; then - if [ $# -gt 0 ]; then - [ -d $1 -a $# -eq 1 ] || Usage - elevate "$ABSBASEDIR/$CMD" - else - if [ -d "$BASEDIR/RPMS" ]; then - # do not use --hash as the control sequence to edit the current line does not work - # in our setup (at least not with kdesu) - rpm -v --freshen `find "$BASEDIR"/RPMS -name '*.rpm'` - elif [ -d "$BASEDIR/DEBS" ]; then - dpkg --install --selected-only --recursive "$BASEDIR"/DEBS - elif [ -d "$BASEDIR/packages" ]; then - update_pkg "$BASEDIR/packages" - fi - fi -else - Usage -fi diff --git a/setup_native/scripts/userland.txt b/setup_native/scripts/userland.txt deleted file mode 100644 index 8cd7a184b..000000000 --- a/setup_native/scripts/userland.txt +++ /dev/null @@ -1,28 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -USERLANDPACKAGENAME=libreoffice-userland-1.0-0.noarch.rpm diff --git a/setup_native/source/java/javaversion.dat b/setup_native/source/java/javaversion.dat deleted file mode 100755 index a647694a7..000000000 --- a/setup_native/source/java/javaversion.dat +++ /dev/null @@ -1,57 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -# GUI String in the installer ("Java Runtime Environment (${JAVAVERSION})") -JAVAVERSION=Java 6 Update 22 -WINDOWSJAVAVERSION=Java 6 Update 22 - -# Windows (scp2 and downloadtemplate.nsi) -WINDOWSJAVAFILENAME=jre-6u22-windows-i586.exe -WINDOWSJAVAREGISTRYENTRY=1.6.0_22 - -# Linux (scp2) -LINUXJAVAFILENAME=jre-6u22-linux-i586.rpm -# Linux (rpmUnit.xml, rpm -qp <filename> ) -LINUXJAVANAME=jre-1.6.0_22-fcs - -# Linux-x64 (scp2) -LINUXX64JAVAFILENAME=jre-6u22-linux-amd64.rpm - -# Solaris Sparc (scp2) -SOLSJAVARTPACKED=SUNWj6rt_1_6_0_22_sparc.tar.gz -SOLSJAVACFGPACKED=SUNWj6cfg_1_6_0_22_sparc.tar.gz -SOLSJAVAMANPACKED=SUNWj6man_1_6_0_22_sparc.tar.gz - -# Solaris x86 (scp2) -SOLIJAVARTPACKED=SUNWj6rt_1_6_0_22_x86.tar.gz -SOLIJAVACFGPACKED=SUNWj6cfg_1_6_0_22_x86.tar.gz -SOLIJAVAMANPACKED=SUNWj6man_1_6_0_22_x86.tar.gz - -# Solaris (pkgUnit.xml, needs only to be changed in major changes) -SOLARISJAVART=SUNWj6rt -SOLARISJAVACFG=SUNWj6cfg -SOLARISJAVAMAN=SUNWj6man diff --git a/setup_native/source/java/javaversion2.dat b/setup_native/source/java/javaversion2.dat deleted file mode 100644 index a647694a7..000000000 --- a/setup_native/source/java/javaversion2.dat +++ /dev/null @@ -1,57 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -# GUI String in the installer ("Java Runtime Environment (${JAVAVERSION})") -JAVAVERSION=Java 6 Update 22 -WINDOWSJAVAVERSION=Java 6 Update 22 - -# Windows (scp2 and downloadtemplate.nsi) -WINDOWSJAVAFILENAME=jre-6u22-windows-i586.exe -WINDOWSJAVAREGISTRYENTRY=1.6.0_22 - -# Linux (scp2) -LINUXJAVAFILENAME=jre-6u22-linux-i586.rpm -# Linux (rpmUnit.xml, rpm -qp <filename> ) -LINUXJAVANAME=jre-1.6.0_22-fcs - -# Linux-x64 (scp2) -LINUXX64JAVAFILENAME=jre-6u22-linux-amd64.rpm - -# Solaris Sparc (scp2) -SOLSJAVARTPACKED=SUNWj6rt_1_6_0_22_sparc.tar.gz -SOLSJAVACFGPACKED=SUNWj6cfg_1_6_0_22_sparc.tar.gz -SOLSJAVAMANPACKED=SUNWj6man_1_6_0_22_sparc.tar.gz - -# Solaris x86 (scp2) -SOLIJAVARTPACKED=SUNWj6rt_1_6_0_22_x86.tar.gz -SOLIJAVACFGPACKED=SUNWj6cfg_1_6_0_22_x86.tar.gz -SOLIJAVAMANPACKED=SUNWj6man_1_6_0_22_x86.tar.gz - -# Solaris (pkgUnit.xml, needs only to be changed in major changes) -SOLARISJAVART=SUNWj6rt -SOLARISJAVACFG=SUNWj6cfg -SOLARISJAVAMAN=SUNWj6man diff --git a/setup_native/source/linux/root3.dat b/setup_native/source/linux/root3.dat deleted file mode 100644 index 13ba57793..000000000 --- a/setup_native/source/linux/root3.dat +++ /dev/null @@ -1,4 +0,0 @@ -Base file in core03 package. -Never include into patch. - - diff --git a/setup_native/source/linux/root4.dat b/setup_native/source/linux/root4.dat deleted file mode 100644 index 7f99a3d80..000000000 --- a/setup_native/source/linux/root4.dat +++ /dev/null @@ -1,4 +0,0 @@ -Base file in core04 package. -Never include into patch. - - diff --git a/setup_native/source/linux/root5.dat b/setup_native/source/linux/root5.dat deleted file mode 100644 index a3a9f6178..000000000 --- a/setup_native/source/linux/root5.dat +++ /dev/null @@ -1,4 +0,0 @@ -Base file in core05 package. -Never include into patch. - - diff --git a/setup_native/source/mac/Info.plist.langpack b/setup_native/source/mac/Info.plist.langpack deleted file mode 100644 index 2b16559ea..000000000 --- a/setup_native/source/mac/Info.plist.langpack +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <!-- UTI declarations for OS X >= 10.4 --> - <key>UTExportedTypeDeclarations</key> - - <key>UTImportedTypeDeclarations</key> - - <key>CFBundleExecutable</key> - <string>[FULLAPPPRODUCTNAME]</string> - <key>CFBundleGetInfoString</key> - <string>[FULLAPPPRODUCTNAME]</string> - <key>CFBundleIconFile</key> - <string>ooo3_installer.icns</string> - <key>CFBundleShortVersionString</key> - <string>9</string> - <key>CFBundleIdentifier</key> - <string>org.libreoffice.script</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleName</key> - <string>[FULLAPPPRODUCTNAME]</string> - <key>CFBundlePackageType</key> - <string>APPL</string> - <key>CFBundleSignature</key> - <string>OOo3</string> - <key>LSRequiresCarbon</key> - <string>1</string> - <key>NSPrincipalClass</key> - <string>VCL_NSApplication</string> -</dict> -</plist> - diff --git a/setup_native/source/mac/macinstall.ulf b/setup_native/source/mac/macinstall.ulf deleted file mode 100644 index 2d92e8c26..000000000 --- a/setup_native/source/mac/macinstall.ulf +++ /dev/null @@ -1,68 +0,0 @@ -[OKLabel] -en-US = "Ok" - -[InstallLabel] -en-US = "Install" - -[AbortLabel] -en-US = "Abort" - -[IntroText1] -en-US = "Welcome to the [FULLPRODUCTNAME] Installation Wizard" - -[IntroText2] -en-US = "This installation will update your installed versions of [PRODUCTNAME]" - -[IntroText3] -en-US = "This might take a moment." - -[ChooseMyOwnText] -en-US = "Not listed (choose location in an extra step)" - -[ListPromptText] -en-US = "Choose [PRODUCTNAME] [PRODUCTVERSION] installation for which you want to install the [FULLPRODUCTNAME]" - -[ChooseManualText] -en-US = "Point the dialog to your [PRODUCTNAME] [PRODUCTVERSION] installation." - -[ListOKLabelText] -en-US = "Install" - -[ListCancelLabel] -en-US = "Abort" - -[AppInvalidText1] -en-US = "This is not a valid [PRODUCTNAME] [PRODUCTVERSION] installation." - -[AppInvalidText2] -en-US = "Run the installer again and choose a valid [PRODUCTNAME] [PRODUCTVERSION] installation" - -[StartInstallText1] -en-US = "Click Install to start the installation" - -[StartInstallText2] -en-US = "Installation might take a minute..." - -[IdentifyQText] -en-US = "Installation failed, most likely your account does not have the necessary privileges." - -[IdentifyQText2] -en-US = "Do you want to identify as administrator and try again?" - -[IdentifyYES] -en-US = "Yes, identify" - -[IdentifyNO] -en-US = "No, abort installation" - -[InstallFailedText] -en-US = "Installation failed." - -[InstallCompleteText] -en-US = "Installation of [PRODUCTNAME] language pack completed." - -[InstallCompleteText2] -en-US = "Call '[PRODUCTNAME]-Preferences-Language Settings-Languages' to change the user interface language." - -[InstallCompleteTextPatch] -en-US = "Installation of [FULLPRODUCTNAME] completed" diff --git a/setup_native/source/mac/makefile.mk b/setup_native/source/mac/makefile.mk deleted file mode 100644 index ac341370f..000000000 --- a/setup_native/source/mac/makefile.mk +++ /dev/null @@ -1,57 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/.. - -PRJNAME=setup_native -TARGET=mac_ulffiles - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk - -# ------------------------------------------------------------------ - -ULFFILES = macinstall.ulf - -ULFDESTFILES=$(foreach,i,$(ULFFILES) $(MISC)$/$(TARGET)_dest$/$i) - -# --- Targets ------------------------------------------------------ - -.IF "$(OS)"=="MACOSX" -ALLTAR : $(ULFDESTFILES) -.ENDIF - -.INCLUDE : target.mk - -.IF "$(WITH_LANG)"!="" -$(MISC)$/$(TARGET)_dest$/%.ulf : $(COMMONMISC)$/$(TARGET)$/%.ulf -.ELSE # "$(WITH_LANG)"!="" -$(MISC)$/$(TARGET)_dest$/%.ulf : %.ulf -.ENDIF # "$(WITH_LANG)"!="" - @-$(MKDIRHIER) $(MISC)$/$(TARGET)_dest - $(COPY) $< $@ diff --git a/setup_native/source/mac/ooo/DS_Store b/setup_native/source/mac/ooo/DS_Store Binary files differdeleted file mode 100644 index 9431578ce..000000000 --- a/setup_native/source/mac/ooo/DS_Store +++ /dev/null diff --git a/setup_native/source/mac/ooo/DS_Store_Langpack b/setup_native/source/mac/ooo/DS_Store_Langpack Binary files differdeleted file mode 100644 index 3a8ad71a5..000000000 --- a/setup_native/source/mac/ooo/DS_Store_Langpack +++ /dev/null diff --git a/setup_native/source/mac/ooo/osxdndinstall.png b/setup_native/source/mac/ooo/osxdndinstall.png Binary files differdeleted file mode 100644 index 2ce08fe52..000000000 --- a/setup_native/source/mac/ooo/osxdndinstall.png +++ /dev/null diff --git a/setup_native/source/mac/ooo/osxdndinstall_nologo.png b/setup_native/source/mac/ooo/osxdndinstall_nologo.png Binary files differdeleted file mode 100644 index 2ce08fe52..000000000 --- a/setup_native/source/mac/ooo/osxdndinstall_nologo.png +++ /dev/null diff --git a/setup_native/source/mac/ooo3_installer.icns b/setup_native/source/mac/ooo3_installer.icns Binary files differdeleted file mode 100644 index 45fca0fca..000000000 --- a/setup_native/source/mac/ooo3_installer.icns +++ /dev/null diff --git a/setup_native/source/opensolaris/bundledextensions/README b/setup_native/source/opensolaris/bundledextensions/README deleted file mode 100644 index f64c225d9..000000000 --- a/setup_native/source/opensolaris/bundledextensions/README +++ /dev/null @@ -1,80 +0,0 @@ -================================================================================ -Installation information -================================================================================ - -In order to properly install the bundled extensions, such as dictionaries, it is -necessary that the files - -installed -ooo_bundled_extensions.xml -svc-ooo_bundled_extensions - -are part of the OpenOffice.org IPS package. They must be added to the package -after all other files have been added. Those other files are the SVR4 packages -of OOo which can be imported by pkg (pkg import). -The files have to be uploaded this way: - -pkgsend -s url_to_pkg_server add file installed mode=644 owner=root group=bin path=${EXTENSIONPATH}/installed restart_fmri=svc:/application/ooo_bundled_extensions:default -pkgsend -s url_to_pkg_server add file svc-ooo_bundled_extensions mode=744 owner=root group=bin path=/lib/svc/method/svc-ooo_bundled_extensions -pkgsend -s url_to_pkg_server add file ooo_bundled_extensions.xml mode=644 owner=root group=bin path=/var/svc/manifest/application/ooo_bundled_extensions.xml restart_fmri=svc:/system/manifest-import:default - - ---- - -${EXTENSIONPATH} must be replaced by the path to the folder containing the -bundled extensions. This path changes with every major release of OOo because of -the version number which is part of a folder name. The -current value is: - -EXTENSIONPATH=/opt/openoffice.org3/share/extension/install - -The service was tested with OpenSolaris release 2009.6 and may not work with a -previous release. - - -================================================================================ -What do these files do -================================================================================ - -The three files constitute a SMF service. When this service is started, then it -installes the bundled extensions which are contained in -/opt/openoffice.org3/share/extension/install. To install them, the service calls -"unopkg add --shared ..." with the appropriate arguments. - -The service is started initially after the installation of -ooo_bundled_extensions.xml. At this time, all files of OOo, including the -extensions, have been copied to their destination. The service calls unopkg on -behalf of every extension and adds the path to that extension to the file -'installed'. The file 'installed' is used to remember what extensions have -already been installed with unopkg. This will prevent to reinstall those -extensions whenever the service is restarted. - -When a new version of OOo becomes available, then the respective OOo package -containes a new version of 'installed'. That is, it contains a version string, -such as 3.2.0. The sole reason for that string is, to change the content of this -file in every release. Otherwise IPS would not replace the installed version of -'installed' with the one contained in the package. - -The update procedure of OOo will replace 'installed'. 'installed' is associated -with a restart_fmri of the service ooo_bundled_extensions. That is after -copying 'installed' the service will be restarted. It then installes all -extensions contained in /opt/openoffice.org3/share/extension/install, because -the newly installed 'installed' file does not contain any entries yet, except -for the version string. - - -================================================================================ -Known issues -================================================================================ - -If OOo, which contains this service, is uninstalled and later it is installed -again, then the bundled extensions are not installed. That is, unopkg is not -called to install them with OOo's Extensions Manager. The reasons is a bug in -OpenSolaris: - -http://defect.opensolaris.org/bz/show_bug.cgi?id=5742 - -To work around this, one can call after uninstalling OOo - -svccfg delete -f ooo_bundled_extensions -svccfg delete smf/manifest diff --git a/setup_native/source/opensolaris/bundledextensions/installed b/setup_native/source/opensolaris/bundledextensions/installed deleted file mode 100644 index 0c8d8df5a..000000000 --- a/setup_native/source/opensolaris/bundledextensions/installed +++ /dev/null @@ -1 +0,0 @@ -${OOOPACKAGEVERSION} diff --git a/setup_native/source/opensolaris/bundledextensions/ooo_bundled_extensions.xml b/setup_native/source/opensolaris/bundledextensions/ooo_bundled_extensions.xml deleted file mode 100644 index 3dc4a1118..000000000 --- a/setup_native/source/opensolaris/bundledextensions/ooo_bundled_extensions.xml +++ /dev/null @@ -1,60 +0,0 @@ -<?xml version="1.0"?> - -<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> - -<service_bundle type="manifest" name="ooo_bundled_extensions"> - -<service - name="application/ooo_bundled_extensions" - type="service" - version="1"> - - <create_default_instance enabled="true" /> - <single_instance/> - - <dependency name="service_available" - grouping="require_all" - restart_on="none" - type="service"> - <service_fmri value="svc:/system/filesystem/local:default" /> - </dependency> - - <exec_method - type="method" name="start" - exec="/lib/svc/method/svc-ooo_bundled_extensions start" - timeout_seconds="160"> - <method_context> - <method_credential user="root" group="root" /> - </method_context> - </exec_method> - - - <exec_method - type="method" name="stop" - exec="/lib/svc/method/svc-ooo_bundled_extensions stop" - timeout_seconds="160" > - <method_context> - <method_credential user="root" group="root" /> - </method_context> - </exec_method> - - <property_group name="startd" type="framework"> - <propval name="duration" type="astring" - value="transient" /> - <propval name="ignore_error" - type="astring" value="core,signal" /> - - </property_group> - - <stability value="Unstable" /> - - <template> - <common_name> - <loctext xml:lang="C"> - Installation of OpenOffice.org's bundled extensions. - </loctext> - </common_name> - </template> -</service> - -</service_bundle> diff --git a/setup_native/source/opensolaris/bundledextensions/svc-ooo_bundled_extensions b/setup_native/source/opensolaris/bundledextensions/svc-ooo_bundled_extensions deleted file mode 100644 index 696277011..000000000 --- a/setup_native/source/opensolaris/bundledextensions/svc-ooo_bundled_extensions +++ /dev/null @@ -1,108 +0,0 @@ -#!/sbin/sh - -. /lib/svc/share/smf_include.sh - -#The start method is used for installing and updating the -#extensions. The service keeps a list -#(share/extensions/install/installed) of the extensions which were -#already installed. During installation, the bundled extensions are -#copied to the install folder (share/extensions/install). Finally this -#service, which is part of the office installation package, will be -#started and the start "method" of this script is called. Then all -#extensions in the "install" folder are checked if they are already -#installed by reading the list "installed". Because the list is empty -#at this time, all the extensions will be installed. -# -#If this service is restarted then the script checks if there is an -#extensions which is not yet installed, that is there is no entry for -#it in the 'installed' file. Only if this is the case then that -#extensions will be installed and its path is added to 'installed'. -# -#In case of an update, new versions of existing extensions and -#completely new extensions may be copied to the 'install' folder. Also -#a new 'installed' file will be copied which replaces the existing -#file. The new 'installed' file does not contain any entries of -#installed extensions. Therefore the next time when the start method is -#run all extensions contained in share/extensions/install will be -#installed. - -#Create the folder which contains the temporary user installation -INSTDIR=`/usr/bin/mktemp -d "/tmp/userinstall.XXXXXX"` - -OOO_BASE_DIR="/opt/openoffice.org/basis${OOOBASEVERSION}" - -case "$1" in -'start') - EXTENSIONDIR=/opt/openoffice.org${OOOBRANDPACKAGEVERSION}/share/extension/install - for FILE in $EXTENSIONDIR/*.oxt - do - #We check if the file exist, because if there is no extension - #then $FILE will contain "<..>/*.oxt" - if [ -f "$FILE" ]; then - #Determine if this extension is already installed. We do - #that by checking the file "installed" which contains a - #list of all installed extensions including the full path - EXTENSIONFILE=`basename $FILE` - INSTALLED=`sed -n "/$EXTENSIONFILE/p" $EXTENSIONDIR/installed` - - if [ -z "$INSTALLED" ]; then - #We have not found the name of the extension in the - #list. That is, it has not been installed (with unopkg) yet. - #Therefore we do it now. - echo installing $FILE - /opt/openoffice.org${OOOBRANDPACKAGEVERSION}/program/unopkg add --shared --bundled "$FILE" '-env:UserInstallation=file://$INSTDIR' '-env:UNO_JAVA_JFW_INSTALL_DATA=$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1' - #Let us remember that this extensions has been installed - #by adding the path name of the extension to the file - #installed - echo $FILE >> $EXTENSIONDIR/installed - fi - fi - done - - #Now check for extensions which need to be uninstalled - #(unopkg). This is the case if the list of extensions in the file - #installed contains the name of an extension which does not exist - #in the the folder <..>/share/extension/install. -# LINE="" -# NEWCONTENT="" -# REMOVED="" -# LIST=`cat $EXTENSIONDIR/installed` -# #remove blank lines -# LIST=`echo "$LIST" | sed '/^[:blank:]*$/d'` - -# echo "$LIST" | while [ 1 ] -# do -# read LINE || break -# if [ ! -f "$LINE" ]; then -# #The extension file has been removed from -# #share/extension/install. Now we remove the installed -# #extension -# echo removing `basename $LINE` -# /opt/openoffice.org${OOOBRANDPACKAGEVERSION}/program/unopkg remove --shared --bundled "`basename $LINE`" '-env:UserInstallation=file://$INSTDIR' '-env:UNO_JAVA_JFW_INSTALL_DATA=$OOO_BASE_DIR/share/config/javasettingsunopkginstall.xml' '-env:JFW_PLUGIN_DO_NOT_CHECK_ACCESSIBILITY=1' -# REMOVED=1 -# else -# NEWCONTENT+=$LINE -# NEWCONTENT+="\n" -# fi -# done - -# #Write the new list to the file "installed". It now has all names -# #remove which refered to previously removed extensions (removed -# #from .../share/extension/install) -# if [ "$REMOVED" ]; then -# #remove the last empty line -# NEWCONTENT=`echo "$NEWCONTENT" | sed '/^[:space:]*$/d'` -# echo "$NEWCONTENT" > $EXTENSIONDIR/installed -# fi - - ;; - 'stop') - echo "#### stop ####" - ;; - *) - echo "Usage: $0 { start | stop }" - exit 1 - ;; -esac - -exit $SMF_EXIT_OK diff --git a/setup_native/source/packinfo/finals_instsetoo.txt b/setup_native/source/packinfo/finals_instsetoo.txt deleted file mode 100644 index 5832dfa54..000000000 --- a/setup_native/source/packinfo/finals_instsetoo.txt +++ /dev/null @@ -1,14 +0,0 @@ -# Comment line -# Syntax: -# Column 1: Product -# Column 2: pro or nonpro -# Column 3: languages, comma separated list -# Column 4: path to msi database in installation set -# Separator between columns is one or more than one tabulator - -# Examples: -# OpenOffice pro en-US \\<server>\<path>\msi\OOO300_m6_native_packed-1_en-US.9352\openofficeorg30.msi -# OpenOffice pro en-US,de,es \\<server>\<path>\msi\OOO300_m6_native_packed-1_en-US_de_es.9352\openofficeorg30.msi -# OpenOffice pro de \\<server>\<path>\msi\OOO300_m6_native_packed-1_de.9352\openofficeorg30.msi -# OpenOfficeLanguagePack pro es \\<server>\<path>\msi\OOO300_m6_native_packed-1_es.9352\openofficeorg30.msi -# URE pro en-US \\<server>\<path>\msi\OOO300_m6_native_packed-1_en-US.9352\ure14.msi diff --git a/setup_native/source/packinfo/linuxcopyrightfile b/setup_native/source/packinfo/linuxcopyrightfile deleted file mode 100644 index 6e2c0ef08..000000000 --- a/setup_native/source/packinfo/linuxcopyrightfile +++ /dev/null @@ -1,2 +0,0 @@ -Copyright 2000, 2010 Oracle and/or its affiliates. All rights reserved. -Use is subject to license terms. diff --git a/setup_native/source/packinfo/openoffice.pcp b/setup_native/source/packinfo/openoffice.pcp Binary files differdeleted file mode 100644 index 142822728..000000000 --- a/setup_native/source/packinfo/openoffice.pcp +++ /dev/null diff --git a/setup_native/source/packinfo/openofficelanguagepack.pcp b/setup_native/source/packinfo/openofficelanguagepack.pcp Binary files differdeleted file mode 100644 index 013a11ed0..000000000 --- a/setup_native/source/packinfo/openofficelanguagepack.pcp +++ /dev/null diff --git a/setup_native/source/packinfo/package.txt b/setup_native/source/packinfo/package.txt deleted file mode 100644 index 4ec319646..000000000 --- a/setup_native/source/packinfo/package.txt +++ /dev/null @@ -1 +0,0 @@ -DO NOT DELETE THIS FILE
\ No newline at end of file diff --git a/setup_native/source/packinfo/package_names.txt b/setup_native/source/packinfo/package_names.txt deleted file mode 100644 index 44c4fa1e0..000000000 --- a/setup_native/source/packinfo/package_names.txt +++ /dev/null @@ -1,74 +0,0 @@ -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING Language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-base Base language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-binfilter Legacy filters (e.g. StarOffice 5.2) for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-calc Calc language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-draw Draw language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-fonts Language fonts module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-help Language help module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-impress Impress language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-math Math language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-onlineupd Online update language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-res Language resource module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-writer Writer language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-activex ActiveX control for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-base Base module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-binfilter Legacy filters (e.g. StarOffice 5.2) for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-calc Calc module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 Core module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 Office core module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 Office core module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 Office core module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 Office core module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 Office core module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 Office core module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-dict-gl Gl dictionary for %PRODUCTNAME %PRODUCTVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-dict-vi Vietnamese dictionary for %PRODUCTNAME %PRODUCTVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-draw Draw module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-emailmerge Email mailmerge module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-gnome-integratn Gnome integration module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-graphicfilter Graphic filter module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-headless Headless display module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-images Images module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-impress Impress module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-javafilter Java filter module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-kde-integration KDE integration module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-math Math module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-onlineupdate Online update modul for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-ooofonts Mailcap module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-ooolinguistic Linguistic module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-pyuno Pyuno module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-spellcheck English spellchecker module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-testtool Testtool module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-writer Writer module for LibreOffice %OOOBASEVERSION -%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-xsltfilter XSLT filter samples module for LibreOffice %OOOBASEVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-af Af dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-cs Cs dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-da Da dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-de De dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-en En dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-es Es dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-et Et dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-fr Fr dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-hu Hu dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-hr Hr dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-it It dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-lt Lt dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-ne Ne dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-nl Nl dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-pl Pl dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-pt Pt dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-ru Ru dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sk Sk dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sl Sl dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sv Sv dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sw Sw dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-th Th dictionary for %PRODUCTNAME %PRODUCTVERSION -%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-zu Zu dictionary for %PRODUCTNAME %PRODUCTVERSION -%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION Brand module for %PRODUCTNAME %PRODUCTVERSION -%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION-%LANGUAGESTRING Brand language module for %PRODUCTNAME %PRODUCTVERSION -%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION-base Base brand module for %PRODUCTNAME %PRODUCTVERSION -%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION-calc Calc brand module for %PRODUCTNAME %PRODUCTVERSION -%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION-draw Draw brand module for %PRODUCTNAME %PRODUCTVERSION -%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION-impress Impress brand module for %PRODUCTNAME %PRODUCTVERSION -%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION-math Math brand module for %PRODUCTNAME %PRODUCTVERSION -%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION-writer Writer brand module for %PRODUCTNAME %PRODUCTVERSION diff --git a/setup_native/source/packinfo/package_names_ext.txt b/setup_native/source/packinfo/package_names_ext.txt deleted file mode 100644 index ff0c10c05..000000000 --- a/setup_native/source/packinfo/package_names_ext.txt +++ /dev/null @@ -1,21 +0,0 @@ -%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure UNO Runtime Environment -SUNWcar Core Architecture, (Root) -SUNWcsd Core Solaris Devices -SUNWcsl Core Solaris, (Shared Libs) -SUNWcsr Core Solaris, (Root) -SUNWcsu Core Solaris, (Usr) -SUNWfreetype2 FreeType2 font library -SUNWgnome-base-libs GNOME base GUI libraries - platform dependent files, /usr filesystem -SUNWgnome-config GNOME configuration framework - platform dependent files, /usr filesystem -SUNWgnome-vfs GNOME Virtual File System Framework and application/MIME type registry - platform dependent files, /usr filesystem -SUNWgzip The GNU Zip (gzip) compression utility -SUNWmfrun Motif RunTime Kit -SUNWkvm Core Architecture, (Kvm) -SUNWlibC Sun Workshop Compilers Bundled libC -SUNWPython The Python interpreter, libraries and utilities -SUNWxwplt X Window System platform software -SUNWxwrtl X Window System & Graphics Runtime Library Links in /usr/lib -SUNWzlibr The Zip compression library (Root) -SUNWbtool CCS tools bundled with SunOS -SUNWxcu4 XCU4 Utilities - diff --git a/setup_native/source/packinfo/packinfo_accessories.txt b/setup_native/source/packinfo/packinfo_accessories.txt deleted file mode 100644 index 6b6e780f1..000000000 --- a/setup_native/source/packinfo/packinfo_accessories.txt +++ /dev/null @@ -1,73 +0,0 @@ -# Format: - -# Start -# scpModule -# shellscript file (optional) -# solarispackagename -# solarisrequires (optional) -# solarisprovides (optional) -# packagename -# linuxreplaces (optional) -# requires (optional) -# provides (optional) -# copyright -# vendor -# description -# destpath -# End - -# Package definitions for OxygenOffice Professional -# 1/3 Gallery - -Start -module = "gid_Module_Optional_Accessories_Gallery" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extra-gallery" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extra-gallery" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2008 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Extra gallery for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -# 2/3 Fonts - -Start -module = "gid_Module_Optional_Accessories_Fonts" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extra-fonts" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extra-fonts" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2008 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Extra fonts for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -# 3/3 Templates - Common - -Start -module = "gid_Module_Optional_Accessories_Tem_Common" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extra-templates-common" -solarisrequires = %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extra-templates-common" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2008 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Extra Common Templates for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - - -# END OF Package definitions for OxygenOffice Professional - diff --git a/setup_native/source/packinfo/packinfo_brand.txt b/setup_native/source/packinfo/packinfo_brand.txt deleted file mode 100644 index 47d57452c..000000000 --- a/setup_native/source/packinfo/packinfo_brand.txt +++ /dev/null @@ -1,139 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -Start -module = "gid_Module_Root_Brand" -# script = "shellscripts_brand.txt" -solarispackagename = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%BASISPACKAGEPREFIX%OOOBASEVERSION-images" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure (Name="UNO Runtime Environment"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-images (Name="Images module for %PRODUCTNAME %PRODUCTVERSION")" -copyright = "1999-2009 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Brand module for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Brand_Prg_Wrt" -solarispackagename = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION-writer" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-writer" -requires = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION,%BASISPACKAGEPREFIX%OOOBASEVERSION-writer" -solarisrequires = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-writer" -copyright = "1999-2009 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Writer brand module for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Brand_Prg_Calc" -solarispackagename = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION-calc" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-calc" -requires = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION,%BASISPACKAGEPREFIX%OOOBASEVERSION-calc" -solarisrequires = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-calc" -copyright = "1999-2009 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Calc brand module for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Brand_Prg_Impress" -solarispackagename = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION-impress" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-impress" -requires = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION,%BASISPACKAGEPREFIX%OOOBASEVERSION-impress" -solarisrequires = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-impress" -copyright = "1999-2009 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Impress brand module for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Brand_Prg_Draw" -solarispackagename = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION-draw" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-draw" -requires = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION,%BASISPACKAGEPREFIX%OOOBASEVERSION-draw" -solarisrequires = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-draw" -copyright = "1999-2009 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Draw brand module for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Brand_Prg_Math" -solarispackagename = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION-math" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-math" -requires = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION,%BASISPACKAGEPREFIX%OOOBASEVERSION-math" -solarisrequires = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-math" -copyright = "1999-2009 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Math brand module for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Brand_Prg_Base" -solarispackagename = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION-base" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-base" -requires = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION,%BASISPACKAGEPREFIX%OOOBASEVERSION-base" -solarisrequires = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-base" -copyright = "1999-2009 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Base brand module for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Langpack_Brand" -solarispackagename = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION-%LANGUAGESTRING" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-%LANGUAGESTRING" -requires = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION,%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING,%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-base,%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-calc,%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-math,%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-res,%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-writer" -solarisrequires = "%WITHOUTDOTUNIXPACKAGENAME%BRANDPACKAGEVERSION,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING (Name="Language module for %PRODUCTNAME %PRODUCTVERSION\, language %LANGUAGESTRING"),%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-base (Name="Base language module for %PRODUCTNAME %PRODUCTVERSION\, language %LANGUAGESTRING"),%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-calc (Name="Calc language module for %PRODUCTNAME %PRODUCTVERSION\, language %LANGUAGESTRING"),%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-math (Name="Math language module for %PRODUCTNAME %PRODUCTVERSION\, language %LANGUAGESTRING"),%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-res (Name="Resource language module for %PRODUCTNAME %PRODUCTVERSION\, language %LANGUAGESTRING"),%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-writer (Name="Writer language module for %PRODUCTNAME %PRODUCTVERSION\, language %LANGUAGESTRING")" -copyright = "1999-2009 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Brand language module for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End diff --git a/setup_native/source/packinfo/packinfo_extensions.txt b/setup_native/source/packinfo/packinfo_extensions.txt deleted file mode 100644 index d9948ca0c..000000000 --- a/setup_native/source/packinfo/packinfo_extensions.txt +++ /dev/null @@ -1,348 +0,0 @@ -# Format: - -# Start -# scpModule -# shellscript file (optional) -# solarispackagename -# solarisrequires (optional) -# solarisprovides (optional) -# packagename -# linuxreplaces (optional) -# requires (optional) -# provides (optional) -# copyright -# vendor -# description -# destpath -# End - -Start -module = "gid_Module_Optional_Extensions_MINIMIZER" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-presentation-minimizer" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-presentation-minimizer" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "1999-2008 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Presentation Minimizer extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_REPORTDESIGN" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-report-builder" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-report-builder" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "1999-2008 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Report Builder extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_MEDIAWIKI" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-mediawiki-publisher" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-mediawiki-publisher" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "1999-2008 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "MediaWiki publisher extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_PRESENTER_SCREEN" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-presenter-screen" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-presenter-screen" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "1999-2008 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Presenter Screen extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_PDFIMPORT" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-pdf-import" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-pdf-import" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "1999-2008 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "PDF import extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_LightProof" -script = "shellscripts_extensions.txt" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-lightproof" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-lightproof" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "2009 by FSF.hu" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Lightproof extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_NumberText" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-numbertext" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-numbertext" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "2009 by FSF.hu" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Numbertext extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_HunArt" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-hunart" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-hunart" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "2009 by FSF.hu" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Hungarian Cross-reference Toolbar extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_Typo" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-typo" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-typo" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "2010 by FSF.hu" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Typography Toolbar extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_CT2N" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-ct2n" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-ct2n" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "Copyright (c) 2008 Cor Nouws" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "ConvertTextToNumber extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_Watch_Window" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-watch-window" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-watch-window" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "2009 by Tibor Hornyák" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Watch Window extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_Diagram" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-diagram" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-diagram" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "2010 by OxygenOffice Professional" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Diagram extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_Validator" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-validator" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-validator" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "2010 by OxygenOffice Professional" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Validator extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_Barcode" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-barcode" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-barcode" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "2010 by EuroOffice Extension Creator" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Barcode extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_Google_Docs" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-google-docs" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-google-docs" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "2009 by Przemyslaw Rumik" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Google Docs extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_NLPSolver" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-nlpsolver" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-nlpsolver" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "2009 by Sun Microsystems, Inc." -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "NLPSolver extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_LanguageTool" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-languagetool" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-languagetool" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "2005-2009 by Daniel Naber" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "LanguageTool extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_MySQLConnector" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-mysql-connector" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-mysql-connector" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "2008 by Sun Mcrosystems, Inc." -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "MySQL Connector extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_OOoBlogger" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-oooblogger" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-oooblogger" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "2005 by Caolan McNamara" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "oooblogger extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_Script_Provider_For_Beanshell" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-beanshell-script-provider" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-beanshell-script-provider" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "1999-2008 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Script provider for BeanShell extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_Script_Provider_For_Javascript" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-javascript-script-provider" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-javascript-script-provider" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "1999-2008 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Script provider for JavaScript extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_Script_Provider_For_Python" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-python-script-provider" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-python-script-provider" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "1999-2008 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Script provider for Python extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End diff --git a/setup_native/source/packinfo/packinfo_office.txt b/setup_native/source/packinfo/packinfo_office.txt deleted file mode 100755 index 3d0f68ab7..000000000 --- a/setup_native/source/packinfo/packinfo_office.txt +++ /dev/null @@ -1,1084 +0,0 @@ -# Format: - -# Start -# scpModule -# shellscript file (optional) -# solarispackagename -# solarisrequires (optional) -# solarisprovides (optional) -# packagename -# linuxreplaces (optional) -# requires (optional) -# provides (optional) -# copyright -# vendor -# description -# destpath -# End - -Start -module = "gid_Module_Optional_Gnome" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-gnome-integratn" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, SUNWgnome-config, SUNWgnome-vfs, SUNWlibC, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-gnome-integration" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -findrequires = "find-requires-gnome.sh" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Gnome integration module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Kde" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-kde-integration" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-kde-integration" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "KDE integration module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Root" -# script = "shellscripts_core01.txt" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure" -solarisrequires = "SUNWcar, SUNWkvm, SUNWcsr, SUNWcsu, SUNWcsd, SUNWcsl, SUNWxwrtl, SUNWxwplt, SUNWlibC, %SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Core module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Prg_Wrt_Bin" -script = "shellscripts_module.txt" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-writer" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-writer" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, SUNWlibC" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Writer module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Prg_Calc_Bin" -script = "shellscripts_module.txt" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-calc" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, SUNWlibC" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-calc" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Calc module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Prg_Draw_Bin" -script = "shellscripts_module.txt" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-draw" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, SUNWlibC" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-draw" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Draw module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Prg_Impress_Bin" -script = "shellscripts_module.txt" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-impress" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, SUNWlibC" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-impress" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Impress module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Prg_Base_Bin" -script = "shellscripts_module.txt" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-base" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, SUNWlibC" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-base" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSIONg-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Base module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Prg_Math_Bin" -script = "shellscripts_module.txt" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-math" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, SUNWlibC" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-math" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Math module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Binfilter" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-binfilter" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-binfilter" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Legacy filters (e.g. StarOffice 5.2) for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Grfflt" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-graphicfilter" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-graphicfilter" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Graphic filter module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Oooimprovement" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-oooimprovement" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05,SUNWmfrun" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-oooimprovement" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Usage tracking module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Testtool" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-testtool" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04,%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05,SUNWmfrun" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-testtool" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Testtool module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Oo_English" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-spellcheck" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-spellcheck" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "English spellchecker module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Xsltfiltersamples" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-xsltfilter" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-xsltfilter" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "XSLT filter samples module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Javafilter" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-javafilter" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-javafilter" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Java filter module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Activexcontrol" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-activex" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-activex" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "ActiveX control for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Onlineupdate" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-onlineupdate" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, SUNWlibC, SUNWgzip" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-onlineupdate" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Online update modul for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Pyuno" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-pyuno" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, SUNWPython" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-pyuno" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Pyuno module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Pymailmerge" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-emailmerge" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-pyuno" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-emailmerge" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-pyuno" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Email mailmerge module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Headless" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-headless" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-headless" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Headless display module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Files_Images" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-images" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-images" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Images module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Fonts_OOo_Hidden" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-ooofonts" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-ooofonts" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Mailcap module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Oo_Linguistic" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-ooolinguistic" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-ooolinguistic" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Linguistic module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Files_2" -script = "shellscripts_module.txt" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, SUNWlibC, SUNWmfrun" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core02" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -freebsdrequires = "" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Office core module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Files_3" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, SUNWlibC" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core03" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -freebsdrequires = "" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Office core module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Files_4" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04" -solarisrequires = "SUNWfreetype2, SUNWgnome-base-libs, SUNWlibC, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core04" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -findrequires = "find-requires-x11.sh" -freebsdrequires = "" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Office core module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Files_5" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, SUNWgnome-base-libs, SUNWlibC" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core05" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -freebsdrequires = "" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Office core module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Files_6" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core06" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -freebsdrequires = "" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Office core module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Files_7" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -freebsdrequires = "" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Office core module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Oooimprovement" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-oooimprovement" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-oooimprovement" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "OOo improvement extension for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Af" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-af" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-af" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Af dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Br" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-br" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-br" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "2009-2011 by An Drouizig" -solariscopyright = "solariscopyrightfile" -vendor = "An Drouizig" -description = "Br dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Ca" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-ca" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-ca" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Ca dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Cs" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-cs" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-cs" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Cs dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Da" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-da" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-da" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Da dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_De_AT" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-de-AT" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-de-AT" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "De-AT dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_De_CH" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-de-CH" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-de-CH" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "De-CH dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_De_DE" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-de-DE" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-de-DE" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "De-DE dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_En" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-en" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-en" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "En dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Es" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-es" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-es" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Es dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Et" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-et" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-et" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Et dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Fr" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-fr" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-fr" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Fr dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Gl" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-gl" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-dict-gl" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Gl dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_He" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-he" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-he" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "He dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Hu" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-hu" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-hu" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Hu dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Hr" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-hr" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-hr" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "2003-2010 by Denis Lackovic" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Hr dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_It" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-it" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-it" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "It dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Ku_Tr" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%WITHOUTDOTUNIXPRODUCTNAME%BRANDPACKAGEVERSION-dict-ku-TR" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%WITHOUTDOTUNIXPRODUCTNAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPRODUCTNAME%BRANDPACKAGEVERSION-dict-ku-TR" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPRODUCTNAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2009 by Sun Microsystems" -solariscopyright = "solariscopyrightfile" -vendor = "Sun Microsystems, Inc." -description = "Ku-TR dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Lt" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-lt" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-lt" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Lt dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Ne" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-ne" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-ne" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Ne dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Nl" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-nl" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-nl" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Nl dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_No" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-no" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-no" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "No dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Oc" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-oc" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-oc" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "2006-2011 by Bruno Gallart" -solariscopyright = "solariscopyrightfile" -vendor = "OpenOc.org" -description = "Occitan-languedocian dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Pl" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-pl" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-pl" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Pl dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Pt" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-pt" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-pt" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Pt dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Ro" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-ro" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-ro" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Ro dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Ru" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-ru" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-ru" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Ru dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Sk" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sk" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sk" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Sk dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Sl" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sl" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sl" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Sl dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Sr" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sr" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sr" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Sr dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Sv" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sv" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sv" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Sv dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Sw" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-sw" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-sw" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Sw dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Th" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-th" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-th" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Th dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Uk" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-uk" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-uk" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2009 by Vladimir Yakovchuk, Oleg Podgurniy, Dmytro Kovalyov, Maksym Polyakov, Andriy Rysin, Valentyn Solomko, Volodymyr M. Lisivka, Eugeniy Meshcheryakov" -solariscopyright = "solariscopyrightfile" -vendor = "Document Foundation" -description = "Ukrainian dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Vi" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-vi" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-dict-vi" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Vietnamese dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Extension_Dictionary_Zu" -script = "shellscripts_extensions.txt" -solarispackagename = "%PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION-dict-zu" -solarisrequires = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06, %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07, %PACKAGEPREFIX%SOLARISBRANDPACKAGENAME%BRANDPACKAGEVERSION" -packagename = "%UNIXPACKAGENAME%BRANDPACKAGEVERSION-dict-zu" -requires = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure,%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07,%UNIXPACKAGENAME%BRANDPACKAGEVERSION" -linuxpatchrequires = "" -copyright = "1999-2010 by Oracle" -solariscopyright = "solariscopyrightfile" -vendor = "Oracle" -description = "Zu dictionary for %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%PACKAGEVERSION" -End - - -Start -module = "gid_Module_Optional_OGLTrans" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-ogltrans" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-impress" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-ogltrans" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-impress" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-impress" -copyright = "1999-2007 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "OpenGL slide transitions module for %PRODUCTNAME %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End diff --git a/setup_native/source/packinfo/packinfo_office_help.txt b/setup_native/source/packinfo/packinfo_office_help.txt deleted file mode 100755 index 93ff70cf3..000000000 --- a/setup_native/source/packinfo/packinfo_office_help.txt +++ /dev/null @@ -1,36 +0,0 @@ -# Format: - -# Start -# scpModule -# shellscript file (optional) -# solarispackagename -# solarisrequires (optional) -# solarisprovides (optional) -# packagename -# linuxreplaces (optional) -# requires (optional) -# provides (optional) -# copyright -# vendor -# description -# destpath -# End - -Start -module = "gid_Module_Helppack_Help" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-help" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-help" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-help" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Help module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -pkg_list_entry = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -End - - -# END OF Language depended package definitions diff --git a/setup_native/source/packinfo/packinfo_office_lang.txt b/setup_native/source/packinfo/packinfo_office_lang.txt deleted file mode 100755 index 0e2e05c4d..000000000 --- a/setup_native/source/packinfo/packinfo_office_lang.txt +++ /dev/null @@ -1,281 +0,0 @@ -# Format: - -# Start -# scpModule -# shellscript file (optional) -# solarispackagename -# solarisrequires (optional) -# solarisprovides (optional) -# packagename -# linuxreplaces (optional) -# requires (optional) -# provides (optional) -# copyright -# vendor -# description -# destpath -# End - -Start -module = "gid_Module_Langpack_Basis" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -pkg_list_entry = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -End - -Start -module = "gid_Module_Langpack_Fonts" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-fonts" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-fonts" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-fonts" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Language fonts module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -pkg_list_entry = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -End - -Start -module = "gid_Module_Langpack_Resource" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-res" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-res" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-res" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Language resource module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -pkg_list_entry = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01" -End - -Start -module = "gid_Module_Langpack_Writer" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-writer" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-writer" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-writer" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Writer language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -pkg_list_entry = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-writer" -End - -Start -module = "gid_Module_Langpack_Calc" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-calc" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-calc" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-calc" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Calc language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -pkg_list_entry = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-calc" -End - -Start -module = "gid_Module_Langpack_Impress" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-impress" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-impress" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-impress" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Impress language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -pkg_list_entry = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-impress" -End - -Start -module = "gid_Module_Langpack_Draw" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-draw" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-draw" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-draw" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Draw language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -pkg_list_entry = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-draw" -End - -Start -module = "gid_Module_Langpack_Math" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-math" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-math" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-math" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Math language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -pkg_list_entry = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-math" -End - -Start -module = "gid_Module_Langpack_Base" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-base" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-base" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-base" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Base language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -pkg_list_entry = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-base" -End - -Start -module = "gid_Module_Langpack_Onlineupdate" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-onlineupd" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-onlineupd" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-onlineupd" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Online update language module for LibreOffice %OOOBASEVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -pkg_list_entry = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-onlineupdate" -End - -Start -module = "gid_Module_Optional_Extensions_Sun_T_Pack" -script = "shellscripts_extensions.txt" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-sun-templates-pack-%LANGUAGESTRING" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-sun-templates-pack-%LANGUAGESTRING" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "1999-2008 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "SUN Template Pack (%LANGUAGESTRING) %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -Start -module = "gid_Module_Optional_Extensions_LightProof_M" -script = "shellscripts_extensions.txt" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-extension-lightproof-%LANGUAGESTRING" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core02 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core03 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core04 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core05 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core06 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION"), %BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core07 (Name="Core module for %PRODUCTNAME %PRODUCTVERSION")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-extension-lightproof-%LANGUAGESTRING" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01,%BASISPACKAGEPREFIX%OOOBASEVERSION-core02,%BASISPACKAGEPREFIX%OOOBASEVERSION-core03,%BASISPACKAGEPREFIX%OOOBASEVERSION-core04,%BASISPACKAGEPREFIX%OOOBASEVERSION-core05,%BASISPACKAGEPREFIX%OOOBASEVERSION-core06,%BASISPACKAGEPREFIX%OOOBASEVERSION-core07" -linuxpatchrequires = "" -copyright = "1999-2008 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Lightproof (%LANGUAGESTRING) %PRODUCTNAME %PRODUCTVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -# Language depended package definitions for OxygenOffice Professional - -# 1/4 Templates - -Start -module = "gid_Module_Optional_Accessories_Tem" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-extra-templates" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-extra-templates" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-extra-templates" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -copyright = "1999-2008 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Extra templates for %PRODUCTNAME %PRODUCTVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -# 2/4 Samples - -Start -module = "gid_Module_Optional_Accessories_Sam" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-extra-samples" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-extra-samples" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-extra-samples" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -copyright = "1999-2008 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Extra samples for %PRODUCTNAME %PRODUCTVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -# 3/4 Documentations - -Start -module = "gid_Module_Optional_Accessories_Doc" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-extra-documentations" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-extra-documentations" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-extra-documentations" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -copyright = "1999-2008 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Extra documentations for %PRODUCTNAME %PRODUCTVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -# 4/4 Advertisement - -Start -module = "gid_Module_Optional_Accessories_Adv" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-extra-advertisement" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING-extra-advertisement" -provides = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-%LANGUAGESTRING-extra-advertisement" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-%LANGUAGESTRING" -copyright = "1999-2008 by %PRODUCTNAME" -solariscopyright = "solariscopyrightfile" -vendor = "%PRODUCTNAME" -description = "Extra advertisement for %PRODUCTNAME %PRODUCTVERSION, language %LANGUAGESTRING" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End - -# END OF Language depended package definitions diff --git a/setup_native/source/packinfo/packinfo_sdkoo.txt b/setup_native/source/packinfo/packinfo_sdkoo.txt deleted file mode 100755 index 3e3e1d579..000000000 --- a/setup_native/source/packinfo/packinfo_sdkoo.txt +++ /dev/null @@ -1,41 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -Start -module = "gid_Module_Root_SDK" -solarispackagename = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-sdk" -solarisrequires = "%BASISPACKAGEPREFIX%WITHOUTDOTOOOBASEVERSION-core01, SUNWbtool (Name="CCS tools bundled with SunOS"), SUNWxcu4 (Name="XCU4 Utilities")" -packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-sdk" -freebsdrequires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -requires = "%BASISPACKAGEPREFIX%OOOBASEVERSION-core01" -copyright = "1999-2009 by OpenOffice.org Community" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "Software Development Kit for LibreOffice %OOOBASEVERSION" -destpath = "/opt" -packageversion = "%OOOPACKAGEVERSION" -End diff --git a/setup_native/source/packinfo/packinfo_ure.txt b/setup_native/source/packinfo/packinfo_ure.txt deleted file mode 100755 index a6c343567..000000000 --- a/setup_native/source/packinfo/packinfo_ure.txt +++ /dev/null @@ -1,52 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -Start -module = "gid_Module_Root" -solarispackagename = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure" -solarisrequires = "SUNWzlibr" -packagename = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure" -copyright = "1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "UNO Runtime Environment" -destpath = "/opt" -packageversion = "%UREPACKAGEVERSION" -End - -Start -module = "gid_Module_Root_Ure_Hidden" -solarispackagename = "%SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure" -solarisrequires = "SUNWzlibr" -packagename = "%UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure" -copyright = "2005-1999-2009 by OpenOffice.org" -solariscopyright = "solariscopyrightfile" -vendor = "The Document Foundation" -description = "UNO Runtime Environment" -destpath = "/opt" -packageversion = "%UREPACKAGEVERSION" -End diff --git a/setup_native/source/packinfo/private1copyrightfile b/setup_native/source/packinfo/private1copyrightfile deleted file mode 100644 index bc2059a3e..000000000 --- a/setup_native/source/packinfo/private1copyrightfile +++ /dev/null @@ -1,2 +0,0 @@ -Copyright 2000, 2010 Oracle and/or its affiliates. All rights reserved. -Use is subject to license terms. diff --git a/setup_native/source/packinfo/shellscripts.txt b/setup_native/source/packinfo/shellscripts.txt deleted file mode 100755 index 664cfbd88..000000000 --- a/setup_native/source/packinfo/shellscripts.txt +++ /dev/null @@ -1,11 +0,0 @@ -%preinstall << END -END - -%postinstall << END -END - -%preremove << END -END - -%postremove << END -END diff --git a/setup_native/source/packinfo/shellscripts_brand.txt b/setup_native/source/packinfo/shellscripts_brand.txt deleted file mode 100644 index 8d52d5752..000000000 --- a/setup_native/source/packinfo/shellscripts_brand.txt +++ /dev/null @@ -1,69 +0,0 @@ -%preinstall << END -END - -%postinstall << END - -# echo Command after installing -# searching for the PRODUCTINSTALLLOCATION for the different platforms -platform=`uname -s` -case $$platform in -SunOS) - BASISPACKAGE=openofficeorg-core01 - BASISDIR=`pkginfo -r $$BASISPACKAGE` - PRODUCTINSTALLLOCATION="$$BASEDIR" - ;; -Linux) - BASISPACKAGE=libreoffice-core01 - BASISDIR=`rpm -q --queryformat "%{INSTALLPREFIX}" $$BASISPACKAGE` - PRODUCTINSTALLLOCATION="$$RPM_INSTALL_PREFIX" - ;; -*) - PRODUCTINSTALLLOCATION="$$BASEDIR" - ;; -esac - -# creating link to basis layer -if [ -d $$BASISDIR/libreoffice/basisBASISDIRECTORYVERSION ] -then - ln -s $$BASISDIR/libreoffice/basisBASISDIRECTORYVERSION $$PRODUCTINSTALLLOCATION/PRODUCTDIRECTORYNAME/basis-link >/dev/null 2>&1 -else - ln -s ../libreoffice/basisBASISDIRECTORYVERSION $$PRODUCTINSTALLLOCATION/PRODUCTDIRECTORYNAME/basis-link >/dev/null 2>&1 -fi - -exit 0 -END - -%preremove << END -END - -%postremove << END -# echo Command after removing - -LASTUNINSTALL=1 # important for RPM deinstallation - -# searching for the PRODUCTINSTALLLOCATION for the different platforms -platform=`uname -s` -case $$platform in -SunOS) - PRODUCTINSTALLLOCATION="$$BASEDIR" - ;; -Linux) - PRODUCTINSTALLLOCATION="$$RPM_INSTALL_PREFIX" - if [ "$$1" = 1 ] # one package left after deinstallation -> update - then - LASTUNINSTALL=0 - fi - ;; -*) - PRODUCTINSTALLLOCATION="$$BASEDIR" - ;; -esac - -if [ -h $$PRODUCTINSTALLLOCATION/PRODUCTDIRECTORYNAME/basis-link -a $$LASTUNINSTALL -eq 1 ] -then - rm -f $$PRODUCTINSTALLLOCATION/PRODUCTDIRECTORYNAME/basis-link 2>/dev/null - rmdir $$PRODUCTINSTALLLOCATION/PRODUCTDIRECTORYNAME 2>/dev/null -fi - -exit 0 -END diff --git a/setup_native/source/packinfo/shellscripts_core01.txt b/setup_native/source/packinfo/shellscripts_core01.txt deleted file mode 100644 index dc7497766..000000000 --- a/setup_native/source/packinfo/shellscripts_core01.txt +++ /dev/null @@ -1,69 +0,0 @@ -%preinstall << END -END - -%postinstall << END - -# echo Command after installing -# searching for the PRODUCTINSTALLLOCATION for the different platforms -platform=`uname -s` -case $$platform in -SunOS) - UREPACKAGE=SOLSUREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure - UREDIR=`pkginfo -r $$UREPACKAGE` - PRODUCTINSTALLLOCATION="$$BASEDIR" - ;; -Linux) - UREPACKAGE=UREPACKAGEPREFIX%BRANDPACKAGEVERSION-ure - UREDIR=`rpm -q --queryformat "%{INSTALLPREFIX}" $$UREPACKAGE` - PRODUCTINSTALLLOCATION="$$RPM_INSTALL_PREFIX" - ;; -*) - PRODUCTINSTALLLOCATION="$$BASEDIR" - ;; -esac - -# creating link to ure -if [ -d $$UREDIR/libreoffice/ure ] -then - ln -s $$UREDIR/libreoffice/ure $$PRODUCTINSTALLLOCATION/libreoffice/basisBASISDIRECTORYVERSION/ure-link >/dev/null 2>&1 -else - ln -s ../ure $$PRODUCTINSTALLLOCATION/libreoffice/basisBASISDIRECTORYVERSION/ure-link >/dev/null 2>&1 -fi - -exit 0 -END - -%preremove << END -END - -%postremove << END -# echo Command after removing - -LASTUNINSTALL=1 # important for RPM deinstallation - -# searching for the PRODUCTINSTALLLOCATION for the different platforms -platform=`uname -s` -case $$platform in -SunOS) - PRODUCTINSTALLLOCATION="$$BASEDIR" - ;; -Linux) - PRODUCTINSTALLLOCATION="$$RPM_INSTALL_PREFIX" - if [ "$$1" = 1 ] # one package left after deinstallation -> update - then - LASTUNINSTALL=0 - fi - ;; -*) - PRODUCTINSTALLLOCATION="$$BASEDIR" - ;; -esac - -if [ -h $$PRODUCTINSTALLLOCATION/libreoffice/basisBASISDIRECTORYVERSION/ure-link -a $$LASTUNINSTALL -eq 1 ] -then - rm -f $$PRODUCTINSTALLLOCATION/libreoffice/basisBASISDIRECTORYVERSION/ure-link 2>/dev/null - rmdir $$PRODUCTINSTALLLOCATION/libreoffice/basisBASISDIRECTORYVERSION 2>/dev/null -fi - -exit 0 -END diff --git a/setup_native/source/packinfo/shellscripts_extensions.txt b/setup_native/source/packinfo/shellscripts_extensions.txt deleted file mode 100755 index 3ab47f925..000000000 --- a/setup_native/source/packinfo/shellscripts_extensions.txt +++ /dev/null @@ -1,144 +0,0 @@ -%system solaris - -%postinstall << END - -# -# Need to check diskless service install and make sure use the correct unpkg -# -DISKLESS_SRVC=`echo $$BASEDIR | /usr/bin/grep export/Solaris_[1-9][0-9]/usr_$${ARCH}.all` -if [ "$$DISKLESS_SRVC" ]; then - UNOPKG=/export/Solaris_11/usr_`uname -p`.allPRODUCTDIRECTORYNAME/program/unopkg - POSTRUN=$$PKG_INSTALL_ROOT/usr_`uname -p`.all/usr/lib/postrun - CLIENT_BASEDIR=$$PKG_INSTALL_ROOT/usr_$${ARCH}.all -else - UNOPKG=$$BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg - POSTRUN=$$PKG_INSTALL_ROOT/usr/lib/postrun -fi -# Use postrun command on Solaris where available (OpenSolaris) -if [ -x $$POSTRUN ]; then -( echo "test -x \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg\" || exit 0" - echo "umask 022" - echo "\"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg\" sync" - echo "find \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled\" -type f -exec chmod 644 {} \\;" -) | $$POSTRUN -b -c UNOPKG - if [ "$$?" != "0" ]; then - echo "\nERROR: Installation of UNO extensions" - echo " through $$POSTRUN failed." - exit 1 - fi -else - # No postrun available, try running unopkg directly - "$$UNOPKG" sync - find "$$BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \; - if [ "$$?" != "0" ]; then - echo "\nERROR: Installation of UNO extensions failed." - test "$$BASEDIR" = "$$CLIENT_BASEDIR" || echo "ERROR: alternate root install requires SUNWpostrun package to be installed" - echo 'ERROR: Make sure the runtime requirements (operating system, patch level, architecture) are met.' - exit 1 - fi -fi - -exit 0 -END - -%postremove << END - -# Use postrun command on Solaris where available (OpenSolaris) -if [ -x $$PKG_INSTALL_ROOT/usr/lib/postrun ]; then -( echo "test -x \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg\" || exit 0" - echo "cd \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program\"" - echo "umask 022" - echo "\"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg\" sync" - echo "find \"$$CLIENT_BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled\" -type f -exec chmod 644 {} \\;" -) | $$PKG_INSTALL_ROOT/usr/lib/postrun -c UNOPKG -else - # No postrun available, try running unopkg directly - test -x $$BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg || exit 0 - "$$BASEDIR/PRODUCTDIRECTORYNAME/program/unopkg" sync - echo "find \"$$BASEDIR/PRODUCTDIRECTORYNAME/share/prereg/bundled\" -type f -exec chmod 644 {} \\;" - if [ "$$?" != "0" ]; then - echo "\nERROR: Removal of UNO extension failed." - test "$$BASEDIR" = "$$CLIENT_BASEDIR" || echo "ERROR: alternate root uninstall requires SUNWpostrun package to be installed" - echo 'ERROR: Make sure the runtime requirements (operating system, patch level, architecture) are met.' - exit 1 - fi -fi - - -exit 0 -END - -%system linux - -%format rpm - -%postinstall << END - -if [ -x "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" ]; then - "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" sync - if [ "$$?" != "0" ]; then - echo "ERROR: Registration of extensions failed!" - exit 1 - else - echo "SUCCESS: unopkg returns successful!" - fi - find "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \; -fi - -exit 0 - -END - -%postremove << END - -if [ -x "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" ]; then - "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/program/unopkg" sync - if [ "$$?" != "0" ]; then - echo "ERROR: Registration of extensions failed!" - exit 1 - else - echo "SUCCESS: unopkg returns successful!" - fi - find "$$RPM_INSTALL_PREFIX/PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \; -fi - -exit 0 -END - -%format deb - -%postinstall << END - -if [ -x "PRODUCTDIRECTORYNAME/program/unopkg" ]; then - "PRODUCTDIRECTORYNAME/program/unopkg" sync - if [ "$$?" != "0" ]; then - echo "ERROR: Registration of extensions failed!" - exit 1 - else - echo "SUCCESS: unopkg returns successful!" - fi - find "PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \; -fi - -exit 0 - -END - -%postremove << END - -if [ -x "PRODUCTDIRECTORYNAME/program/unopkg" ] -then - "PRODUCTDIRECTORYNAME/program/unopkg" sync - if [ "$$?" != "0" ]; then - echo "ERROR: Registration of extensions failed!" - exit 1 - else - echo "SUCCESS: unopkg returns successful!" - fi - find "PRODUCTDIRECTORYNAME/share/prereg/bundled" -type f -exec chmod 644 {} \; -fi - -exit 0 -END - -%system all diff --git a/setup_native/source/packinfo/shellscripts_module.txt b/setup_native/source/packinfo/shellscripts_module.txt deleted file mode 100755 index 32a15da9b..000000000 --- a/setup_native/source/packinfo/shellscripts_module.txt +++ /dev/null @@ -1,33 +0,0 @@ -%format deb - -%postinstall << END -if [ "$$1" = "configure" ] ; then - # update desktop database - if [ -x /usr/bin/update-desktop-database ]; then - update-desktop-database -q /usr/share/applications - fi - # update debian style menus - if [ -x /usr/bin/update-menus ]; then - update-menus - fi -fi -exit 0 -END - -%postremove << END -if [ "$$1" != "purge" ] -then - if [ -x /usr/bin/update-desktop-database ] - then - update-desktop-database -q /usr/share/applications - fi - if [ -x /usr/bin/update-menus ] - then - update-menus - fi -fi -exit 0 -END - -%format all - diff --git a/setup_native/source/packinfo/shellscripts_root.txt b/setup_native/source/packinfo/shellscripts_root.txt deleted file mode 100755 index 664cfbd88..000000000 --- a/setup_native/source/packinfo/shellscripts_root.txt +++ /dev/null @@ -1,11 +0,0 @@ -%preinstall << END -END - -%postinstall << END -END - -%preremove << END -END - -%postremove << END -END diff --git a/setup_native/source/packinfo/solariscopyrightfile b/setup_native/source/packinfo/solariscopyrightfile deleted file mode 100755 index 6e2c0ef08..000000000 --- a/setup_native/source/packinfo/solariscopyrightfile +++ /dev/null @@ -1,2 +0,0 @@ -Copyright 2000, 2010 Oracle and/or its affiliates. All rights reserved. -Use is subject to license terms. diff --git a/setup_native/source/packinfo/spellchecker_selection.txt b/setup_native/source/packinfo/spellchecker_selection.txt deleted file mode 100644 index aa90dc53f..000000000 --- a/setup_native/source/packinfo/spellchecker_selection.txt +++ /dev/null @@ -1,54 +0,0 @@ -# This file defines the languages of the spellchecker, that are -# included into the language specific installation sets. -# First column: Language in the installation set. -# Second column: Assigned spellchecker languages. Comma separated list. - -# The first entry after the "=" is the entry, that will be included into -# a language pack of the corresponding language. If no spellchecker -# shall be included into the language pack, the keyword "EMPTY" can -# be used as first entry. - -af = "af" -ar = "EMPTY" -ca = "ca,es,fr" -cs = "cs" -da = "da,de-DE" -de = "de-DE,de-AT,de-CH,fr,it" -en-US = "en,es,fr" -en-GB = "en,es,fr" -es = "es,fr,pt" -et = "et" -fr = "fr,es" -gl = "gl,pt,es" -he = "he" -hu = "hu,de-DE" -hr = "hr,de-DE" -it = "it,de-DE,fr" -ja = "EMPTY" -ko = "EMPTY" -ku = "ku-TR" -lt = "lt" -nb = "no,fr,de-DE,es" -ne = "ne" -nl = "nl,fr,de-DE" -nn = "no,fr,de-DE,es" -oc = "oc,fr" -pl = "pl,de-DE,ru" -pt-BR = "pt,es" -pt = "pt,es" -ro = "ro,de-DE,hu" -ru = "ru,de-DE" -sk = "sk" -sl = "sl" -sv = "sv,de-DE" -sr = "sr" -# ! Note the package 'sr' also holds the dictionaries for 'sh' ! -sh = "sr" -sw = "sw" -th = "th" -uk = "uk,ru" -vi = "vi,fr" -zh-TW = "EMPTY" -zh-CN = "EMPTY" -zu = "zu" - diff --git a/setup_native/source/packinfo/ure.pcp b/setup_native/source/packinfo/ure.pcp Binary files differdeleted file mode 100644 index 982656647..000000000 --- a/setup_native/source/packinfo/ure.pcp +++ /dev/null diff --git a/setup_native/source/ulfconv/makefile.mk b/setup_native/source/ulfconv/makefile.mk deleted file mode 100644 index 7f23df4cd..000000000 --- a/setup_native/source/ulfconv/makefile.mk +++ /dev/null @@ -1,54 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/.. - -PRJNAME=setup_native -TARGET=ulfconv -TARGETTYPE=CUI -LIBTARGET=NO -ENABLE_EXCEPTIONS=TRUE - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk - -# --- Files -------------------------------------------------------- - -SLOFILES = $(SLO)$/$(TARGET).obj - -APP1TARGET=$(TARGET) -APP1OBJS=$(OBJ)$/$(TARGET).obj -APP1LIBS= -APP1STDLIBS= $(SALLIB) -APP1RPATH=NONE - -# --- Targets ------------------------------------------------------ - - -.INCLUDE : target.mk - diff --git a/setup_native/source/ulfconv/ulfconv.cxx b/setup_native/source/ulfconv/ulfconv.cxx deleted file mode 100644 index 11f1316c5..000000000 --- a/setup_native/source/ulfconv/ulfconv.cxx +++ /dev/null @@ -1,361 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include <stdlib.h> -#include <stdio.h> -#include <fcntl.h> -#include <errno.h> -#include <string.h> -#include <unistd.h> -#include <ctype.h> -#include <sal/alloca.h> -#include <sal/macros.h> - -#include <rtl/ustring.hxx> - -#include <map> -#include <string> - -/***************************************************************************** - * typedefs - *****************************************************************************/ - -typedef std::map< const std::string, rtl_TextEncoding > EncodingMap; - -struct _pair { - const char *key; - rtl_TextEncoding value; -}; - -static int _pair_compare (const char *key, const _pair *pair); -static const _pair* _pair_search (const char *key, const _pair *base, unsigned int member ); - - -const _pair _ms_encoding_list[] = { - { "0", RTL_TEXTENCODING_UTF8 }, - { "1250", RTL_TEXTENCODING_MS_1250 }, - { "1251", RTL_TEXTENCODING_MS_1251 }, - { "1252", RTL_TEXTENCODING_MS_1252 }, - { "1253", RTL_TEXTENCODING_MS_1253 }, - { "1254", RTL_TEXTENCODING_MS_1254 }, - { "1255", RTL_TEXTENCODING_MS_1255 }, - { "1256", RTL_TEXTENCODING_MS_1256 }, - { "1257", RTL_TEXTENCODING_MS_1257 }, - { "1258", RTL_TEXTENCODING_MS_1258 }, - { "874", RTL_TEXTENCODING_MS_874 }, - { "932", RTL_TEXTENCODING_MS_932 }, - { "936", RTL_TEXTENCODING_MS_936 }, - { "949", RTL_TEXTENCODING_MS_949 }, - { "950", RTL_TEXTENCODING_MS_950 } -}; - - -/***************************************************************************** - * fgets that work with unix line ends on Windows - *****************************************************************************/ - -char * my_fgets(char *s, int n, FILE *fp) -{ - int i; - for( i=0; i < n-1; i++ ) - { - int c = getc(fp); - - if( c == EOF ) - break; - - s[i] = (char) c; - - if( s[i] == '\n' ) - { - i++; - break; - } - } - - if( i>0 ) - { - s[i] = '\0'; - return s; - } - else - { - return NULL; - } -} - -/***************************************************************************** - * compare function for binary search - *****************************************************************************/ - -static int -_pair_compare (const char *key, const _pair *pair) -{ - int result = rtl_str_compareIgnoreAsciiCase( key, pair->key ); - return result; -} - -/***************************************************************************** - * binary search on encoding tables - *****************************************************************************/ - -static const _pair* -_pair_search (const char *key, const _pair *base, unsigned int member ) -{ - unsigned int lower = 0; - unsigned int upper = member; - unsigned int current; - int comparison; - - /* check for validity of input */ - if ( (key == NULL) || (base == NULL) || (member == 0) ) - return NULL; - - /* binary search */ - while ( lower < upper ) - { - current = (lower + upper) / 2; - comparison = _pair_compare( key, base + current ); - if (comparison < 0) - upper = current; - else - if (comparison > 0) - lower = current + 1; - else - return base + current; - } - - return NULL; -} - - -/************************************************************************ - * read_encoding_table - ************************************************************************/ - -void read_encoding_table(char * file, EncodingMap& aEncodingMap) -{ - FILE * fp = fopen(file, "r"); - if ( ! fp ) { - fprintf(stderr, "ulfconv: %s %s\n", file, strerror(errno)); - exit(2); - } - - char buffer[512]; - while ( NULL != my_fgets(buffer, sizeof(buffer), fp) ) { - - // strip comment lines - if ( buffer[0] == '#' ) - continue; - - // find end of language string - char * cp; - for ( cp = buffer; ! isspace(*cp); cp++ ) - ; - *cp = '\0'; - - // find start of codepage string - for ( ++cp; isspace(*cp); ++cp ) - ; - char * codepage = cp; - - // find end of codepage string - for ( ++cp; ! isspace(*cp); ++cp ) - ; - *cp = '\0'; - - // find the correct mapping for codepage - const unsigned int members = SAL_N_ELEMENTS( _ms_encoding_list ); - const _pair *encoding = _pair_search( codepage, _ms_encoding_list, members ); - - if ( encoding != NULL ) { - const std::string language(buffer); - aEncodingMap.insert( EncodingMap::value_type(language, encoding->value) ); - } - } - - fclose(fp); -} - -/************************************************************************ - * print_legacy_mixed - ************************************************************************/ - -void print_legacy_mixed( - FILE * ostream, - const rtl::OUString& aString, - const std::string& language, - EncodingMap& aEncodingMap) -{ - EncodingMap::iterator iter = aEncodingMap.find(language); - - if ( iter != aEncodingMap.end() ) { - fputs(OUStringToOString(aString, iter->second).getStr(), ostream); - } else { - fprintf(stderr, "ulfconv: WARNING: no legacy encoding found for %s\n", language.c_str()); - } -} - -/************************************************************************ - * print_java_style - ************************************************************************/ - -void print_java_style(FILE * ostream, const rtl::OUString& aString) -{ - int imax = aString.getLength(); - for (int i = 0; i < imax; i++) { - sal_Unicode uc = aString[i]; - if ( uc < 128 ) { - fprintf(ostream, "%c", (char) uc); - } else { - fprintf(ostream, "\\u%2.2x%2.2x", uc >> 8, uc & 0xFF ); - } - } -} - -/************************************************************************ - * main - ************************************************************************/ - -int main( int argc, char * const argv[] ) -{ - EncodingMap aEncodingMap; - - FILE *istream = stdin; - FILE *ostream = stdout; - - char *outfile = NULL; - - int errflg = 0; - int argi; - - for( argi=1; argi < argc; argi++ ) - { - if( argv[argi][0] == '-' && argv[argi][2] == '\0' ) - { - switch(argv[argi][1]) { - case 'o': - if (argi+1 >= argc || argv[argi+1][0] == '-') - { - fprintf(stderr, "Option -%c requires an operand\n", argv[argi][1]); - errflg++; - break; - } - - ++argi; - outfile = argv[argi]; - break; - case 't': - if (argi+1 >= argc || argv[argi+1][0] == '-') - { - fprintf(stderr, "Option -%c requires an operand\n", argv[argi][1]); - errflg++; - break; - } - - read_encoding_table(argv[++argi], aEncodingMap); - break; - default: - fprintf(stderr, "Unrecognized option: -%c\n", argv[argi][1]); - errflg++; - } - } - else - { - break; - } - } - - if (errflg) { - fprintf(stderr, "Usage: ulfconv [-o <output file>] [-t <encoding table>] [<ulf file>]\n"); - exit(2); - } - - /* assign input file to stdin */ - if ( argi < argc ) - { - istream = fopen(argv[argi], "r"); - if ( istream == NULL ) { - fprintf(stderr, "ulfconv: %s : %s\n", argv[argi], strerror(errno)); - exit(2); - } - } - - /* open output file if any */ - if ( outfile ) - { - ostream = fopen(outfile, "w"); - if ( ostream == NULL ) { - fprintf(stderr, "ulfconv: %s : %s\n", outfile, strerror(errno)); - fclose(istream); - exit(2); - } - } - - /* read line by line from stdin */ - char buffer[65536]; - while ( NULL != fgets(buffer, sizeof(buffer), istream) ) { - - /* only handle lines containing " = " */ - char * cp = strstr(buffer, " = \""); - if ( cp ) { - rtl::OUString aString; - - /* find end of lang string */ - int n; - for ( n=0; ! isspace(buffer[n]); n++ ) - ; - - std::string line = buffer; - std::string lang(line, 0, n); - - cp += 4; - rtl_string2UString( &aString.pData, cp, strrchr(cp, '\"') - cp, - RTL_TEXTENCODING_UTF8, OSTRING_TO_OUSTRING_CVTFLAGS ); - - fprintf(ostream, "%s = \"", lang.c_str()); - - if ( aEncodingMap.empty() ) { - print_java_style(ostream, aString); - } else { - print_legacy_mixed(ostream, aString, lang, aEncodingMap); - } - - fprintf(ostream, "\"\n"); - - - } else { - fputs(buffer, ostream); - } - } - - fclose(ostream); - fclose(istream); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/indexingfilter/exports.dxp b/setup_native/source/win32/customactions/indexingfilter/exports.dxp deleted file mode 100644 index bb23f3d02..000000000 --- a/setup_native/source/win32/customactions/indexingfilter/exports.dxp +++ /dev/null @@ -1,3 +0,0 @@ -RestartIndexingService - -
\ No newline at end of file diff --git a/setup_native/source/win32/customactions/indexingfilter/makefile.mk b/setup_native/source/win32/customactions/indexingfilter/makefile.mk deleted file mode 100644 index 0298d0596..000000000 --- a/setup_native/source/win32/customactions/indexingfilter/makefile.mk +++ /dev/null @@ -1,68 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=instooofiltmsi - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=TRUE -DYNAMIC_CRT= -NO_DEFAULT_STL=TRUE -USE_DEFFILE=TRUE - -.INCLUDE : settings.mk - -# --- Files -------------------------------------------------------- - -.IF "$(GUI)"=="WNT" - -UWINAPILIB= - -SLOFILES = $(SLO)$/restartindexingservice.obj - -SHL1LIBS = $(SLB)$/$(TARGET).lib - -SHL1TARGET = $(TARGET) -SHL1IMPLIB = i$(TARGET) - -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1DEPN = $(SLB)$/$(TARGET).lib -SHL1BASE = 0x1c000000 -DEF1NAME=$(SHL1TARGET) -DEF1EXPORTFILE=exports.dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk - -# ------------------------------------------------------------------------- - - diff --git a/setup_native/source/win32/customactions/indexingfilter/restartindexingservice.cxx b/setup_native/source/win32/customactions/indexingfilter/restartindexingservice.cxx deleted file mode 100644 index d92c4a3ac..000000000 --- a/setup_native/source/win32/customactions/indexingfilter/restartindexingservice.cxx +++ /dev/null @@ -1,210 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -/* - After installation of the OOo filter for the indexing service - it is necessary to restart the indexing service in order to - activate the filter. This is the most reliable way to get the - indexing service working. We only restart the service if it is - already running. If we have insufficient privileges to restart - the service we do nothing. -*/ - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -/* - Advapi.dll needs to be loaded dynamically because the service - control functions are not available under Windows 9x. -*/ -typedef BOOL (__stdcall * CloseServiceHandle_t)(SC_HANDLE); -typedef BOOL (__stdcall * ControlService_t)(SC_HANDLE, DWORD, LPSERVICE_STATUS); -typedef SC_HANDLE (__stdcall * OpenSCManager_t)(LPCSTR, LPCSTR, DWORD); -typedef SC_HANDLE (__stdcall * OpenService_t)(SC_HANDLE, LPCSTR, DWORD); -typedef BOOL (__stdcall * QueryServiceStatus_t)(SC_HANDLE, LPSERVICE_STATUS); -typedef BOOL (__stdcall * StartService_t)(SC_HANDLE, DWORD, LPCSTR*); - -CloseServiceHandle_t CloseServiceHandle_ = NULL; -ControlService_t ControlService_ = NULL; -OpenSCManager_t OpenSCManager_ = NULL; -OpenService_t OpenService_ = NULL; -QueryServiceStatus_t QueryServiceStatus_ = NULL; -StartService_t StartService_ = NULL; - -const LPTSTR INDEXING_SERVICE_NAME = TEXT("cisvc"); - -bool StopIndexingService(SC_HANDLE hService) -{ - SERVICE_STATUS status; - - if (ControlService_(hService, SERVICE_CONTROL_STOP, &status)) - { - // Check the status until the service is no longer stop pending. - if (QueryServiceStatus_(hService, &status)) - { - DWORD startTime = GetTickCount(); - DWORD oldCheckPoint = status.dwCheckPoint; - - while (status.dwCurrentState == SERVICE_STOP_PENDING) - { - // Do not wait longer than the wait hint. A good interval is - // one tenth the wait hint, but no less than 1 second and no - // more than 10 seconds. - DWORD waitTime = status.dwWaitHint / 10; - - if (waitTime < 1000) - waitTime = 1000; - else if (waitTime > 10000) - waitTime = 10000; - - Sleep(waitTime); - - // Check the status again. - if (!QueryServiceStatus_(hService, &status) || - (status.dwCurrentState == SERVICE_STOPPED)) - break; - - if (status.dwCheckPoint > oldCheckPoint) - { - startTime = GetTickCount(); - oldCheckPoint = status.dwCheckPoint; - } - else if ((GetTickCount() - startTime) > status.dwWaitHint) - { - break; // service doesn't react anymore - } - } - } - } - return (status.dwCurrentState == SERVICE_STOPPED); -} - -void StartIndexingService(SC_HANDLE hService) -{ - if (StartService_(hService, 0, NULL)) - { - SERVICE_STATUS status; - - // Check the status until the service is no longer stop pending. - if (QueryServiceStatus_(hService, &status)) - { - DWORD startTime = GetTickCount(); - DWORD oldCheckPoint = status.dwCheckPoint; - - while (status.dwCurrentState == SERVICE_START_PENDING) - { - // Do not wait longer than the wait hint. A good interval is - // one tenth the wait hint, but no less than 1 second and no - // more than 10 seconds. - DWORD waitTime = status.dwWaitHint / 10; - - if (waitTime < 1000) - waitTime = 1000; - else if (waitTime > 10000) - waitTime = 10000; - - Sleep(waitTime); - - // Check the status again. - if (!QueryServiceStatus_(hService, &status) || - (status.dwCurrentState == SERVICE_STOPPED)) - break; - - if (status.dwCheckPoint > oldCheckPoint) - { - startTime = GetTickCount(); - oldCheckPoint = status.dwCheckPoint; - } - else if ((GetTickCount() - startTime) > status.dwWaitHint) - { - // service doesn't react anymore - break; - } - } - } - } -} - -extern "C" UINT __stdcall RestartIndexingService(MSIHANDLE) -{ - //MessageBox(NULL, TEXT("Restarting Indexing Service"), TEXT("Message"), MB_OK | MB_ICONINFORMATION); - - HMODULE hAdvapi32 = LoadLibrary("advapi32.dll"); - - if (hAdvapi32) - { - CloseServiceHandle_ = reinterpret_cast<CloseServiceHandle_t>(GetProcAddress(hAdvapi32, "CloseServiceHandle")); - ControlService_ = reinterpret_cast<ControlService_t>(GetProcAddress(hAdvapi32, "ControlService")); - OpenSCManager_ = reinterpret_cast<OpenSCManager_t>(GetProcAddress(hAdvapi32, "OpenSCManagerA")); - OpenService_ = reinterpret_cast<OpenService_t>(GetProcAddress(hAdvapi32, "OpenServiceA")); - QueryServiceStatus_ = reinterpret_cast<QueryServiceStatus_t>(GetProcAddress(hAdvapi32, "QueryServiceStatus")); - StartService_ = reinterpret_cast<StartService_t>(GetProcAddress(hAdvapi32, "StartServiceA")); - } - - /* On systems other than Windows 2000/XP the service API - functions might not be available */ - if (!hAdvapi32 || - !(CloseServiceHandle_ && ControlService_ && OpenSCManager_ && OpenService_ && QueryServiceStatus_ && StartService_)) - return ERROR_SUCCESS; - - SC_HANDLE hSCManager = OpenSCManager_( - NULL, // local machine - NULL, // ServicesActive database - SC_MANAGER_ALL_ACCESS); - - if (hSCManager != NULL) - { - SC_HANDLE hIndexingService = OpenService_( - hSCManager, INDEXING_SERVICE_NAME, SERVICE_QUERY_STATUS | SERVICE_START | SERVICE_STOP); - - if (hIndexingService) - { - SERVICE_STATUS status; - ZeroMemory(&status, sizeof(status)); - - if (QueryServiceStatus_(hIndexingService, &status) && - (status.dwCurrentState == SERVICE_RUNNING)) - { - if (StopIndexingService(hIndexingService)) - StartIndexingService(hIndexingService); - } - CloseServiceHandle_(hIndexingService); - } - CloseServiceHandle_(hSCManager); - } - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/javafilter/exports.dxp b/setup_native/source/win32/customactions/javafilter/exports.dxp deleted file mode 100644 index 209a9ed2a..000000000 --- a/setup_native/source/win32/customactions/javafilter/exports.dxp +++ /dev/null @@ -1,2 +0,0 @@ -install_jf -uninstall_jf diff --git a/setup_native/source/win32/customactions/javafilter/jfregca.cxx b/setup_native/source/win32/customactions/javafilter/jfregca.cxx deleted file mode 100644 index 0bfb73e01..000000000 --- a/setup_native/source/win32/customactions/javafilter/jfregca.cxx +++ /dev/null @@ -1,332 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#include <windows.h> -#include <msi.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#if defined UNICODE -#define _UNICODE -#endif -#include <tchar.h> - -//Simple function prototypes -bool update_activesync_regvalues(bool, bool, char** ); -void createKeys(HKEY hKey, char **); -void deleteKeys(HKEY hKey, char **); -bool isMulti(MSIHANDLE); - -//Simple data arrays for registry values -TCHAR *pxlData[8]= { - "{C6AB3E74-9F4F-4370-8120-A8A6FABB7A7C}", //CLSID 1 - key name at InstalledFilters Key - "{43887C67-4D5D-4127-BAAC-87A288494C7C}", //CLSID 2 - key value for Default Export - ".pxl", //Registry key for device type - already there if ActiveSync installerd - ".sxc", //New registry key for SO docs - "InstalledFilters", //Sub-key of device/so doc key - "DefaultImport", //Key name added at device/so level key - "DefaultExport", //Key name added at device/so level key - "Binary Copy", //Key value for DefaultImport -}; - -TCHAR *pswData[8] = { - "{BDD611C3-7BAB-460F-8711-5B9AC9EF6020}", //CLSID 1 - key name at InstalledFilters Key - "{CB43F086-838D-4FA4-B5F6-3406B9A57439}", //CLSID 2 - key value for Default Export - ".psw", //Registry key for device type - already there if ActiveSync installe - ".sxw", //New registry key for SO docs - "InstalledFilters", //Sub-key of device/so doc key - "DefaultImport", //Key name added at device/so level key - "DefaultExport", //Key name added at device/so level key - "Binary Copy", //Key value for DefaultImport -}; - - -//index into registry value arrays -#define CLSID1 0 -#define CLSID2 1 -#define DEVICE_PATH 2 -#define SO_PATH 3 -#define IF_PATH 4 -#define DEFIMPORT_KEY 5 -#define DEFEXPORT_KEY 6 -#define BC_VALUE 7 - -//Constants for Registry buffers -const int MAX_KEY_LENGTH=255; -const int MAX_VALUE_NAME=16383; - -BOOL APIENTRY DllMain( HANDLE, - DWORD ul_reason, - LPVOID - ) -{ - switch (ul_reason) - { - case DLL_PROCESS_ATTACH: - case DLL_THREAD_ATTACH: - case DLL_THREAD_DETACH: - case DLL_PROCESS_DETACH: - break; - } - return TRUE; -} - -extern "C" UINT install_jf ( MSIHANDLE hModule ) { - bool bMulti = isMulti(hModule); -#ifdef _JRGREG_DEBUG - MessageBox(NULL, bMulti ? "Multi" : "Single", "Install", MB_OK); -#endif - update_activesync_regvalues(bMulti, true, pxlData); - update_activesync_regvalues(bMulti, true, pswData); - - return ERROR_SUCCESS; -} - -extern "C" UINT uninstall_jf ( MSIHANDLE hModule ) { - bool bMulti = isMulti(hModule); -#ifdef _JRGREG_DEBUG - MessageBox(NULL, bMulti ? "Multi" : "Single", "Uninstall", MB_OK); -#endif - update_activesync_regvalues(false, bMulti, pxlData); - update_activesync_regvalues(false, bMulti, pswData); - - return ERROR_SUCCESS; -} - -/** - Determines if this is being installed on a per user or a machine wide basis - @param hModule - [in] a valid msi handle. - - - @returns - <TRUE/>if this is a multi-user install. -*/ -bool isMulti( MSIHANDLE hModule ) { - TCHAR* szValueBuf = NULL; - DWORD cchValueBuf = 0; - bool bRet = false; - UINT uiStat = MsiGetProperty(hModule, TEXT("ALLUSERS"), TEXT(""), &cchValueBuf); - if (ERROR_MORE_DATA == uiStat) - { - ++cchValueBuf; // on output does not include terminating null, so add 1 - szValueBuf = new TCHAR[cchValueBuf]; - if (szValueBuf) - { - uiStat = MsiGetProperty(hModule, TEXT("ALLUSERS"), szValueBuf, &cchValueBuf); - } - } - if (ERROR_SUCCESS != uiStat) - { - return false; - } - bRet = _tcscmp(szValueBuf, TEXT("1")) == 0; - delete [] szValueBuf; - - return bRet; -} - -/** - Add or remove ActiveSync integration entries from the registry - @param bMultiUser - [in] <TRUE/>if this is a multiuser install (<FALSE/> for single user install) - - @param bInstall - [in] <TRUE/>if installing - - @param data - [in] an array of string containing names of registry keys and values - - - @returns - <TRUE/>if this is a multi-user install. -*/ - -bool update_activesync_regvalues(bool bMultiUser, bool bInstall, char **data) { - bool bReturn = false; - CHAR SUKey[] = "Software\\Microsoft\\Windows CE Services\\Partners"; - CHAR MUKey[] = "Software\\Microsoft\\Windows CE Services\\Filters"; - HKEY hKey; - - if (bMultiUser) { - if (ERROR_SUCCESS != RegOpenKeyEx(HKEY_LOCAL_MACHINE, (LPCSTR)MUKey, 0, KEY_ALL_ACCESS, &hKey)) { - return false; - } - if (bInstall) { - createKeys(hKey, data); - } else { - deleteKeys(hKey, data); - } - bReturn = true; - } else { - if (ERROR_SUCCESS != RegOpenKeyEx(HKEY_CURRENT_USER, (LPCSTR)SUKey, 0, KEY_ALL_ACCESS, &hKey)) { - return false; - } - - CHAR achKey[MAX_KEY_LENGTH]; // buffer for subkey name - DWORD cbName; // size of name string - CHAR achClass[MAX_PATH] = ""; // buffer for class name - DWORD cchClassName = MAX_PATH; // size of class string - DWORD cSubKeys=0; // number of subkeys - DWORD cbMaxSubKey; // longest subkey size - DWORD cchMaxClass; // longest class string - DWORD cValues; // number of values for key - DWORD cchMaxValue; // longest value name - DWORD cbMaxValueData; // longest value data - DWORD cbSecurityDescriptor; // size of security descriptor - FILETIME ftLastWriteTime; // last write time - - // Get the class name and the value count. - if (ERROR_SUCCESS == RegQueryInfoKey( - hKey, // key handle - achClass, // buffer for class name - &cchClassName, // size of class string - NULL, // reserved - &cSubKeys, // number of subkeys - &cbMaxSubKey, // longest subkey size - &cchMaxClass, // longest class string - &cValues, // number of values for this key - &cchMaxValue, // longest value name - &cbMaxValueData, // longest value data - &cbSecurityDescriptor, // security descriptor - &ftLastWriteTime)) { // last write time - - if (cSubKeys) { - for (DWORD i=0; i<cSubKeys; i++) { - cbName = 1024; - if (ERROR_SUCCESS == RegEnumKeyEx(hKey,i,achKey,&cbName,NULL,NULL,NULL,&ftLastWriteTime)) { - HKEY subKey; - if (ERROR_SUCCESS == RegOpenKeyEx(hKey, achKey, 0, KEY_ALL_ACCESS, &subKey)) { - if (ERROR_SUCCESS == RegOpenKeyEx(subKey, "Filters", 0, KEY_ALL_ACCESS, &subKey)) { - if (bInstall) { - createKeys(subKey, data); - } else { - deleteKeys(subKey, data); - } - RegCloseKey(subKey); - } - } - } - } - } - - bReturn = true; - } - } - if (hKey != NULL) { - RegCloseKey(hKey); - } - - return bReturn; -} - -/** - Create Registry Keys - - @param hKey - [in] Handle to the parent registry key - - @param data - [in] an array of string containing names of registry keys and values -*/ - -void createKeys(HKEY hKey, char **data) { - - LPCSTR clsid1 = data[CLSID1]; - LPCSTR clsid2 = data[CLSID2]; - LPCSTR devicePath = data[DEVICE_PATH]; - LPCSTR soPath = data[SO_PATH]; - LPCSTR defImport = data[DEFIMPORT_KEY]; - LPCSTR defExport = data[DEFEXPORT_KEY]; - LPCSTR binaryCopy = data[BC_VALUE]; - LPCSTR IFPath = data[IF_PATH]; - - HKEY deviceKey, deviceIFKey, soKey, soIFKey; - - if (ERROR_SUCCESS == RegOpenKeyEx(hKey,devicePath,0,KEY_ALL_ACCESS, &deviceKey)) { - if (ERROR_SUCCESS == RegOpenKeyEx(deviceKey,IFPath,0,KEY_ALL_ACCESS, &deviceIFKey)) { - RegSetValueEx(deviceIFKey, clsid1, 0, REG_SZ, NULL, NULL); - } - } - - if (ERROR_SUCCESS == RegCreateKeyEx(hKey, soPath, 0, NULL, - REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &soKey, NULL)) { - RegSetValueEx(soKey, defExport, 0, REG_SZ, (LPBYTE)binaryCopy, strlen(binaryCopy)); - RegSetValueEx(soKey, defImport, 0, REG_SZ, (LPBYTE)clsid2, strlen(clsid2)); - - - if (ERROR_SUCCESS == RegCreateKeyEx(soKey, IFPath, 0, NULL, - REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &soIFKey, NULL)) { - RegSetValueEx(soIFKey, clsid2, 0, REG_SZ, NULL, NULL); - } - } -} - -/** - Delete registry keys - - @param hKey - [in] Handle to the parent registry key -*/ -void deleteKeys(HKEY hKey, TCHAR **data) { - LPCSTR clsid1 = data[CLSID1]; - LPCSTR clsid2 = data[CLSID2]; - LPCSTR devicePath = data[DEVICE_PATH]; - LPCSTR soPath = data[SO_PATH]; - LPCSTR defImport = data[DEFIMPORT_KEY]; - LPCSTR defExport = data[DEFEXPORT_KEY]; - LPCSTR IFPath = data[IF_PATH]; - - HKEY deviceKey, deviceIFKey, soKey, soIFKey; - - if (ERROR_SUCCESS == RegOpenKeyEx(hKey,devicePath,0,KEY_ALL_ACCESS, &deviceKey)) { - if (ERROR_SUCCESS == RegOpenKeyEx(deviceKey,IFPath,0,KEY_ALL_ACCESS, &deviceIFKey)) { - RegDeleteValue(deviceIFKey, clsid1); - } - } - - if (ERROR_SUCCESS == RegOpenKeyEx(hKey, soPath, 0, KEY_ALL_ACCESS, &soKey)) { - RegDeleteValue(soKey, defExport); - RegDeleteValue(soKey, defImport); - - if (ERROR_SUCCESS == RegOpenKeyEx(soKey, IFPath, 0, KEY_ALL_ACCESS, &soIFKey)) { - RegDeleteValue(soIFKey, clsid2); - RegCloseKey(soIFKey); - RegDeleteKey(soKey, IFPath); - } - RegCloseKey(soKey); - RegDeleteKey(hKey, soPath); - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/javafilter/makefile.mk b/setup_native/source/win32/customactions/javafilter/makefile.mk deleted file mode 100644 index 3039ef4cc..000000000 --- a/setup_native/source/win32/customactions/javafilter/makefile.mk +++ /dev/null @@ -1,70 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=jfregca - - -# --- Settings ----------------------------------------------------- - -NO_DEFAULT_STL=TRUE -ENABLE_EXCEPTIONS=TRUE -DYNAMIC_CRT= - -.INCLUDE : settings.mk - -# --- Files -------------------------------------------------------- - -.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!="" - -UWINAPILIB= - -SLOFILES = $(SLO)$/jfregca.obj - -STDSHL += \ - $(ADVAPI32LIB)\ - $(MSILIB) - -SHL1LIBS = $(SLB)$/$(TARGET).lib - -SHL1TARGET = $(TARGET) -SHL1IMPLIB = i$(TARGET) - -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1DEPN = $(SLB)$/$(TARGET).lib -SHL1BASE = 0x1c000000 -DEF1NAME=$(SHL1TARGET) -DEF1EXPORTFILE=exports.dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk - -# ------------------------------------------------------------------------- diff --git a/setup_native/source/win32/customactions/languagepacks/checkrunningofficelanguagepack.cxx b/setup_native/source/win32/customactions/languagepacks/checkrunningofficelanguagepack.cxx deleted file mode 100644 index 21188ab49..000000000 --- a/setup_native/source/win32/customactions/languagepacks/checkrunningofficelanguagepack.cxx +++ /dev/null @@ -1,221 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define _WIN32_WINDOWS 0x0410 - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <assert.h> - -#ifdef UNICODE -#define _UNICODE -#define _tstring wstring -#else -#define _tstring string -#endif -#include <tchar.h> -#include <string> -#include <queue> -#include <stdio.h> -#include <sal/macros.h> - -#include <systools/win32/uwinapi.h> -#include <../tools/seterror.hxx> - -#define WININIT_FILENAME "wininit.ini" -#define RENAME_SECTION "rename" - -#ifdef DEBUG -inline void OutputDebugStringFormat( LPCTSTR pFormat, ... ) -{ - _TCHAR buffer[1024]; - va_list args; - - va_start( args, pFormat ); - _vsntprintf( buffer, SAL_N_ELEMENTS(buffer), pFormat, args ); - OutputDebugString( buffer ); -} -#else -static inline void OutputDebugStringFormat( LPCTSTR, ... ) -{ -} -#endif - -static std::_tstring GetMsiProperty( MSIHANDLE handle, const std::_tstring& sProperty ) -{ - std::_tstring result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if ( MsiGetProperty( handle, sProperty.c_str(), szDummy, &nChars ) == ERROR_MORE_DATA ) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - - return result; -} - -static inline bool IsSetMsiProperty(MSIHANDLE handle, const std::_tstring& sProperty) -{ - std::_tstring value = GetMsiProperty(handle, sProperty); - return (value.length() > 0); -} - -static inline void UnsetMsiProperty(MSIHANDLE handle, const std::_tstring& sProperty) -{ - MsiSetProperty(handle, sProperty.c_str(), NULL); -} - -static inline void SetMsiProperty(MSIHANDLE handle, const std::_tstring& sProperty) -{ - MsiSetProperty(handle, sProperty.c_str(), TEXT("1")); -} - -static BOOL MoveFileEx9x( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, DWORD dwFlags ) -{ - BOOL fSuccess = FALSE; // assume failure - - // Windows 9x has a special mechanism to move files after reboot - - if ( dwFlags & MOVEFILE_DELAY_UNTIL_REBOOT ) - { - CHAR szExistingFileNameA[MAX_PATH]; - CHAR szNewFileNameA[MAX_PATH] = "NUL"; - - // Path names in WININIT.INI must be in short path name form - - if ( - GetShortPathNameA( lpExistingFileNameA, szExistingFileNameA, MAX_PATH ) && - (!lpNewFileNameA || GetShortPathNameA( lpNewFileNameA, szNewFileNameA, MAX_PATH )) - ) - { - CHAR szBuffer[32767]; // The buffer size must not exceed 32K - DWORD dwBufLen = GetPrivateProfileSectionA( RENAME_SECTION, szBuffer, SAL_N_ELEMENTS(szBuffer), WININIT_FILENAME ); - - CHAR szRename[MAX_PATH]; // This is enough for at most to times 67 chracters - strcpy( szRename, szNewFileNameA ); - strcat( szRename, "=" ); - strcat( szRename, szExistingFileNameA ); - size_t lnRename = strlen(szRename); - - if ( dwBufLen + lnRename + 2 <= SAL_N_ELEMENTS(szBuffer) ) - { - CopyMemory( &szBuffer[dwBufLen], szRename, lnRename ); - szBuffer[dwBufLen + lnRename ] = 0; - szBuffer[dwBufLen + lnRename + 1 ] = 0; - - fSuccess = WritePrivateProfileSectionA( RENAME_SECTION, szBuffer, WININIT_FILENAME ); - } - else - SetLastError( ERROR_BUFFER_OVERFLOW ); - } - } - else - { - - fSuccess = MoveFileA( lpExistingFileNameA, lpNewFileNameA ); - - if ( !fSuccess && GetLastError() != ERROR_ACCESS_DENIED && - 0 != (dwFlags & (MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING)) ) - { - BOOL bFailIfExist = 0 == (dwFlags & MOVEFILE_REPLACE_EXISTING); - - fSuccess = CopyFileA( lpExistingFileNameA, lpNewFileNameA, bFailIfExist ); - - if ( fSuccess ) - fSuccess = DeleteFileA( lpExistingFileNameA ); - } - - } - - return fSuccess; -} - -static BOOL MoveFileExImpl( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, DWORD dwFlags ) -{ - if ( 0 > ((LONG)GetVersion())) // High order bit indicates Win 9x - return MoveFileEx9x( lpExistingFileNameA, lpNewFileNameA, dwFlags ); - else - return MoveFileExA( lpExistingFileNameA, lpNewFileNameA, dwFlags ); -} - -extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle ) -{ - std::_tstring sInstDir = GetMsiProperty( handle, TEXT("INSTALLLOCATION") ); - std::_tstring sResourceDir = sInstDir + TEXT("Basis\\program\\resource\\"); - std::_tstring sPattern = sResourceDir + TEXT("vcl*.res"); - - WIN32_FIND_DATA aFindFileData; - HANDLE hFind = FindFirstFile( sPattern.c_str(), &aFindFileData ); - - if ( IsValidHandle(hFind) ) - { - BOOL fSuccess = false; - bool fRenameSucceeded; - - do - { - std::_tstring sResourceFile = sResourceDir + aFindFileData.cFileName; - std::_tstring sIntermediate = sResourceFile + TEXT(".tmp"); - - fRenameSucceeded = MoveFileExImpl( sResourceFile.c_str(), sIntermediate.c_str(), MOVEFILE_REPLACE_EXISTING ); - if ( fRenameSucceeded ) - { - MoveFileExImpl( sIntermediate.c_str(), sResourceFile.c_str(), 0 ); - fSuccess = FindNextFile( hFind, &aFindFileData ); - } - } while ( fSuccess && fRenameSucceeded ); - - if ( !fRenameSucceeded ) - { - MsiSetProperty(handle, TEXT("OFFICERUNS"), TEXT("1")); - SetMsiErrorCode( MSI_ERROR_OFFICE_IS_RUNNING ); - } - - FindClose( hFind ); - } - - return ERROR_SUCCESS; -} - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/languagepacks/exports.dxp b/setup_native/source/win32/customactions/languagepacks/exports.dxp deleted file mode 100644 index c098a38d5..000000000 --- a/setup_native/source/win32/customactions/languagepacks/exports.dxp +++ /dev/null @@ -1,6 +0,0 @@ -SetProductInstallationPath -RegisterLanguagePack -GetUserInstallMode -IsOfficeRunning -RegisterExtensions - diff --git a/setup_native/source/win32/customactions/languagepacks/lngpckinsthelper.cxx b/setup_native/source/win32/customactions/languagepacks/lngpckinsthelper.cxx deleted file mode 100644 index 3feef7572..000000000 --- a/setup_native/source/win32/customactions/languagepacks/lngpckinsthelper.cxx +++ /dev/null @@ -1,205 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <tchar.h> -#include <string> -#include <stdexcept> -#include <vector> - -class RegistryKeyGuard -{ -public: - RegistryKeyGuard(HKEY hkey = 0) : - hkey_(hkey) - { - } - - ~RegistryKeyGuard() - { - if (hkey_) - RegCloseKey(hkey_); - } -private: - HKEY hkey_; - -private: - RegistryKeyGuard(const RegistryKeyGuard&); - RegistryKeyGuard& operator=(const RegistryKeyGuard&); -}; - -typedef std::vector<TCHAR> CharacterBuffer_t; - -/* throws std::runtime_error when the value "Path" could - not be found or contains an empty string or is not of - type REG_SZ. All such conditions are invalid for a - properly installed product. */ -std::string FindProductInstallationPath(HKEY hkey) -{ - DWORD nSubKeys; - DWORD lLongestSubKey; - - if (RegQueryInfoKey(hkey, NULL, NULL, NULL, &nSubKeys, &lLongestSubKey, NULL, NULL, NULL, NULL, NULL, NULL) != - ERROR_SUCCESS) - throw std::runtime_error("Cannot query info for registery key"); - - CharacterBuffer_t buff(lLongestSubKey + 1); - - for (DWORD i = 0; i < nSubKeys; i++) - { - buff[0] = 0; - LONG ret = RegEnumKey(hkey, i, &buff[0], buff.size()); - - if ((ret != ERROR_SUCCESS) && (ret != ERROR_MORE_DATA)) - throw std::runtime_error("Error enumerating registry key"); - - HKEY hSubKey; - if (RegOpenKey(hkey, &buff[0], &hSubKey) != ERROR_SUCCESS) - continue; - - RegistryKeyGuard guard(hSubKey); - - DWORD type; - TCHAR pbuff[MAX_PATH]; - DWORD size = sizeof(pbuff); - if ((RegQueryValueEx( - hSubKey, TEXT("Path"), NULL, &type, reinterpret_cast<LPBYTE>(pbuff), &size) != ERROR_SUCCESS) || - (type != REG_SZ)) - continue; - - std::string path(pbuff); - std::string::size_type idx = path.rfind("program\\soffice.exe"); - if (idx != std::string::npos) - return path.substr(0, idx); - } // for - - throw std::runtime_error("No valid product path found"); -} - -UINT GetInstallProperty(MSIHANDLE handle, LPCTSTR name, CharacterBuffer_t* buffer) -{ - DWORD size = buffer->size(); - UINT ret = MsiGetProperty(handle, name, &(*buffer)[0], &size); - - if (ret == ERROR_MORE_DATA) - { - buffer->resize(size + 1); - size = buffer->size(); - ret = MsiGetProperty(handle, name, &(*buffer)[0], &size); - } - return ret; -} - -/* - Try to find the installation path to an already installed product. - The installation path will be written in the Windows registry - during the installation. There may exist different products in - parallel e.g. StarOffice, StarSuite, OpenOffice.org. It will be - searched in this order for an installed product. If a product - will be found the path to the product will be set in the property - "INSTALLLOCATION" else nothing will be done. -*/ -extern "C" UINT __stdcall SetProductInstallationPath(MSIHANDLE handle) -{ - //MessageBox(NULL, TEXT("SetProductInstallationPath"), TEXT("Language Pack Installation Helper"), MB_OK | MB_ICONINFORMATION); - - try - { - CharacterBuffer_t regKeyProdPath(MAX_PATH); - - GetInstallProperty(handle, TEXT("REGKEYPRODPATH"), ®KeyProdPath); - - HKEY hKey; - if ((RegOpenKey(HKEY_CURRENT_USER, ®KeyProdPath[0], &hKey) == ERROR_SUCCESS) || - (RegOpenKey(HKEY_LOCAL_MACHINE, ®KeyProdPath[0], &hKey) == ERROR_SUCCESS)) - { - RegistryKeyGuard guard(hKey); - std::string path = FindProductInstallationPath(hKey); - MsiSetProperty(handle, TEXT("INSTALLLOCATION"), path.c_str()); - } - } - catch(std::runtime_error&) - { - } - return ERROR_SUCCESS; -} - -void MakeCfgimportCommandLine(CharacterBuffer_t* productPath) -{ - char* p = &(*productPath)[0] + lstrlen(&(*productPath)[0]) - 1; - - if (*p != '\\') - lstrcat(&(*productPath)[0], "\\program\\configimport.exe --spool"); - else - lstrcat(&(*productPath)[0], "program\\configimport.exe --spool"); -} - -/* - Calls configimport.exe --spool -*/ -extern "C" UINT __stdcall RegisterLanguagePack(MSIHANDLE handle) -{ - //MessageBox(NULL, TEXT("RegisterLanguagePack"), TEXT("Language Pack Installation Helper"), MB_OK | MB_ICONINFORMATION); - - CharacterBuffer_t productPath(MAX_PATH); - GetInstallProperty(handle, TEXT("INSTALLLOCATION"), &productPath); - MakeCfgimportCommandLine(&productPath); - - STARTUPINFO si; - ZeroMemory(&si, sizeof(si)); - si.cb = sizeof(si); - - PROCESS_INFORMATION pi; - ZeroMemory(&pi, sizeof(pi)); - - if (CreateProcess( - NULL, &productPath[0], NULL, NULL, - FALSE, CREATE_NO_WINDOW | NORMAL_PRIORITY_CLASS, NULL, - NULL, &si, &pi)) - { - // Wait until child process exits. - WaitForSingleObject(pi.hProcess, INFINITE); - - // Close process and thread handles. - CloseHandle(pi.hProcess); - CloseHandle(pi.hThread); - } - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/languagepacks/makefile.mk b/setup_native/source/win32/customactions/languagepacks/makefile.mk deleted file mode 100644 index 94eab3a01..000000000 --- a/setup_native/source/win32/customactions/languagepacks/makefile.mk +++ /dev/null @@ -1,87 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=lngpckinsthlp - - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=TRUE -NO_DEFAULT_STL=TRUE -DYNAMIC_CRT= -USE_DEFFILE=TRUE - -.INCLUDE : settings.mk - -#Disable precompiled header -CDEFS+=-Dnot_used_define_to_disable_pch - -# --- Files -------------------------------------------------------- - -.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!="" - -UWINAPILIB= - -SLOFILES = $(SLO)$/lngpckinsthelper.obj \ - $(SLO)$/respintest.obj \ - $(SLO)$/checkrunningofficelanguagepack.obj - -STDSHL+= \ - $(ADVAPI32LIB) \ - $(MSILIB) \ - $(SHELL32LIB) - -SHL1OBJS = $(SLOFILES) \ - $(SLO)$/seterror.obj - -.IF "$(COM)"=="GCC" -STDSHL+= \ - $(KERNEL32LIB)\ - -lmsvcrt -.ENDIF - - -SHL1OBJS = $(SLOFILES) \ - $(SLO)$/registerextensions.obj \ - $(SLO)$/seterror.obj - -SHL1TARGET = $(TARGET) -SHL1IMPLIB = i$(TARGET) - -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1DEPN = $(SLB)$/$(TARGET).lib -SHL1BASE = 0x1c000000 -DEF1NAME=$(SHL1TARGET) -DEF1EXPORTFILE=exports.dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk diff --git a/setup_native/source/win32/customactions/languagepacks/respintest.cxx b/setup_native/source/win32/customactions/languagepacks/respintest.cxx deleted file mode 100644 index 7c2c62ae1..000000000 --- a/setup_native/source/win32/customactions/languagepacks/respintest.cxx +++ /dev/null @@ -1,215 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#undef UNICODE -#undef _UNICODE - -#define _WIN32_WINDOWS 0x0410 - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <assert.h> - -#include <tchar.h> -#include <string> -#include <sal/macros.h> - -#include <systools/win32/uwinapi.h> -#include <../tools/seterror.hxx> - -using namespace std; - -namespace -{ - string GetMsiProperty(MSIHANDLE handle, const string& sProperty) - { - string result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if (MsiGetProperty(handle, sProperty.c_str(), szDummy, &nChars) == ERROR_MORE_DATA) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - return result; - } - - inline bool IsSetMsiProperty(MSIHANDLE handle, const string& sProperty) - { - return (GetMsiProperty(handle, sProperty).length() > 0); - } - - inline void UnsetMsiProperty(MSIHANDLE handle, const string& sProperty) - { - MsiSetProperty(handle, sProperty.c_str(), NULL); - } - - inline void SetMsiProperty(MSIHANDLE handle, const string& sProperty, const string&) - { - MsiSetProperty(handle, sProperty.c_str(), TEXT("1")); - } -} // namespace - -extern "C" UINT __stdcall GetUserInstallMode(MSIHANDLE handle) -{ - string sOfficeInstallPath = GetMsiProperty(handle, TEXT("INSTALLLOCATION")); - - // MessageBox(NULL, sOfficeInstallPath.c_str(), "DEBUG", MB_OK); - - // unsetting all properties - - UnsetMsiProperty( handle, TEXT("INVALIDDIRECTORY") ); - UnsetMsiProperty( handle, TEXT("ISWRONGPRODUCT") ); - UnsetMsiProperty( handle, TEXT("PATCHISOLDER") ); - UnsetMsiProperty( handle, TEXT("ALLUSERS") ); - - // 1. Searching for "ProductCode" in setup.ini - - string sSetupiniPath = sOfficeInstallPath + TEXT("program\\setup.ini"); - - TCHAR szValue[32767]; - - GetPrivateProfileString( - TEXT("Bootstrap"), - TEXT("ProductCode"), - TEXT("INVALIDDIRECTORY"), - szValue, - SAL_N_ELEMENTS(szValue), - sSetupiniPath.c_str() - ); - - if ( !_tcsicmp( szValue, TEXT("INVALIDDIRECTORY") ) ) - { - // No setup.ini or no "ProductCode" in setup.ini. This is an invalid directory. - SetMsiProperty( handle, TEXT("INVALIDDIRECTORY"), TEXT("YES") ); - // MessageBox(NULL, "INVALIDDIRECTORY set, no setup.ini or ProductCode in setup.ini.", "DEBUG", MB_OK); - SetMsiErrorCode( MSI_ERROR_INVALIDDIRECTORY ); - return ERROR_SUCCESS; - } - - // 2. Comparing first three characters of "PRODUCTMAJOR" from property table and "buildid" from InfoFile - - szValue[0] = '\0'; - - GetPrivateProfileString( - TEXT("Bootstrap"), - TEXT("buildid"), - TEXT("ISWRONGPRODUCT"), - szValue, - SAL_N_ELEMENTS(szValue), - sSetupiniPath.c_str() - ); - - if ( !_tcsicmp( szValue, TEXT("ISWRONGPRODUCT") ) ) - { - SetMsiProperty( handle, TEXT("ISWRONGPRODUCT"), TEXT("YES") ); - // MessageBox(NULL, "ISWRONGPRODUCT 1 set after searching buildid", "DEBUG", MB_OK); - SetMsiErrorCode( MSI_ERROR_ISWRONGPRODUCT ); - return ERROR_SUCCESS; - } - - string ProductMajor = GetMsiProperty(handle, TEXT("PRODUCTMAJOR")); - - // Comparing the first three characters, for example "680" - // If not equal, this version is not suited for patch or language pack - - if (_tcsnicmp(ProductMajor.c_str(), szValue, 3)) - { - SetMsiProperty( handle, TEXT("ISWRONGPRODUCT"), TEXT("YES") ); - // MessageBox(NULL, "ISWRONGPRODUCT 2 set after searching PRODUCTMAJOR", "DEBUG", MB_OK); - SetMsiErrorCode( MSI_ERROR_ISWRONGPRODUCT ); - return ERROR_SUCCESS; - } - - // 3. Only for patch: Comparing "PRODUCTMINOR from property table and "ProductMinor" from InfoFile - - string isPatch = GetMsiProperty(handle, TEXT("ISPATCH")); - - if (isPatch=="1") - { - string ProductMinor = GetMsiProperty(handle, TEXT("PRODUCTBUILDID")); - int PatchProductMinor = atoi(ProductMinor.c_str()); - - szValue[0] = '\0'; - - GetPrivateProfileString( - TEXT("Bootstrap"), - TEXT("ProductBuildid"), - TEXT("8918"), - szValue, - SAL_N_ELEMENTS(szValue), - sSetupiniPath.c_str() - ); - - int InstalledProductMinor = atoi(szValue); - - if ( InstalledProductMinor >= PatchProductMinor ) - { - SetMsiProperty( handle, TEXT("PATCHISOLDER"), TEXT("YES") ); - // MessageBox(NULL, "PATCHISOLDER set", "DEBUG", MB_OK); - SetMsiErrorCode( MSI_ERROR_PATCHISOLDER ); - return ERROR_SUCCESS; - } - } - - // 4. Setting property ALLUSERS with value from "setup.ini" - - szValue[0] = '\0'; - - GetPrivateProfileString( - TEXT("Bootstrap"), - TEXT("ALLUSERS"), - TEXT(""), - szValue, - SAL_N_ELEMENTS(szValue), - sSetupiniPath.c_str() - ); - - if ( szValue[0] ) - { - SetMsiProperty( handle, TEXT("ALLUSERS"), szValue ); - // MessageBox(NULL, "ALLUSERS set", "DEBUG", MB_OK); - } - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/patch/exports.dxp b/setup_native/source/win32/customactions/patch/exports.dxp deleted file mode 100755 index dd5eb4dcf..000000000 --- a/setup_native/source/win32/customactions/patch/exports.dxp +++ /dev/null @@ -1,11 +0,0 @@ -InstallPatchedFiles -UninstallPatchedFiles -GetUserInstallMode -SetProductInstallMode -ShutDownQuickstarter -IsOfficeRunning -SetFeatureState -SetNewFeatureState -ShowOnlineUpdateDialog -RegisterExtensions -RemoveExtensions diff --git a/setup_native/source/win32/customactions/patch/makefile.mk b/setup_native/source/win32/customactions/patch/makefile.mk deleted file mode 100755 index 641f48ab6..000000000 --- a/setup_native/source/win32/customactions/patch/makefile.mk +++ /dev/null @@ -1,88 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=patchmsi - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=TRUE -NO_DEFAULT_STL=TRUE -DYNAMIC_CRT= -USE_DEFFILE=TRUE - -.INCLUDE : settings.mk - -#Disable precompiled header -CDEFS+=-Dnot_used_define_to_disable_pch - -# --- Files -------------------------------------------------------- - -.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!="" - -UWINAPILIB= - -SLOFILES = \ - $(SLO)$/swappatchfiles.obj - -STDSHL += \ - $(ADVAPI32LIB)\ - $(MSILIB)\ - $(SHELL32LIB) - -.IF "$(COM)"=="GCC" -STDSHL+= \ - $(KERNEL32LIB)\ - -lmsvcrt -.ENDIF - - -SHL1OBJS = $(SLOFILES) \ - $(SLO)$/respintest.obj \ - $(SLO)$/shutdown_quickstart.obj \ - $(SLO)$/quickstarter.obj \ - $(SLO)$/upgrade.obj \ - $(SLO)$/registerextensions.obj \ - $(SLO)$/seterror.obj - -SHL1TARGET = $(TARGET) -SHL1IMPLIB = i$(TARGET) - -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1DEPN = $(SLB)$/$(TARGET).lib -SHL1BASE = 0x1c000000 -DEF1NAME=$(SHL1TARGET) -DEF1EXPORTFILE=exports.dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk - -# ------------------------------------------------------------------------- diff --git a/setup_native/source/win32/customactions/patch/swappatchfiles.cxx b/setup_native/source/win32/customactions/patch/swappatchfiles.cxx deleted file mode 100644 index 24fdb121b..000000000 --- a/setup_native/source/win32/customactions/patch/swappatchfiles.cxx +++ /dev/null @@ -1,845 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define _WIN32_WINDOWS 0x0410 - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <assert.h> - -#ifdef UNICODE -#define _UNICODE -#define _tstring wstring -#else -#define _tstring string -#endif -#include <tchar.h> -#include <string> -#include <queue> -#include <stdio.h> -#include <sal/macros.h> - -#include <systools/win32/uwinapi.h> -#include <../tools/seterror.hxx> - -#define WININIT_FILENAME "wininit.ini" -#define RENAME_SECTION "rename" - -#ifdef DEBUG -inline void OutputDebugStringFormat( LPCTSTR pFormat, ... ) -{ - _TCHAR buffer[1024]; - va_list args; - - va_start( args, pFormat ); - _vsntprintf( buffer, SAL_N_ELEMENTS(buffer), pFormat, args ); - OutputDebugString( buffer ); -} -#else -static inline void OutputDebugStringFormat( LPCTSTR, ... ) -{ -} -#endif - -static std::_tstring GetMsiProperty( MSIHANDLE handle, const std::_tstring& sProperty ) -{ - std::_tstring result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if ( MsiGetProperty( handle, sProperty.c_str(), szDummy, &nChars ) == ERROR_MORE_DATA ) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - - return result; -} - -// The provided GUID must be without surounding '{}' -static std::_tstring GetGuidPart(const std::_tstring& guid, int index) -{ - assert((guid.length() == 36) && "No GUID or wrong format!"); - assert(((index > -1) && (index < 5)) && "Out of range!"); - - if (index == 0) return std::_tstring(guid.c_str(), 8); - if (index == 1) return std::_tstring(guid.c_str() + 9, 4); - if (index == 2) return std::_tstring(guid.c_str() + 14, 4); - if (index == 3) return std::_tstring(guid.c_str() + 19, 4); - if (index == 4) return std::_tstring(guid.c_str() + 24, 12); - - return std::_tstring(); -} - -static void Swap(char* p1, char* p2) -{ - char tmp = *p1; - *p1 = *p2; - *p2 = tmp; -} - -static std::_tstring Invert(const std::_tstring& str) -{ - char* buff = reinterpret_cast<char*>(_alloca(str.length())); - strncpy(buff, str.c_str(), str.length()); - - char* front = buff; - char* back = buff + str.length() - 1; - - while (front < back) - Swap(front++, back--); - - return std::_tstring(buff, str.length()); -} - -// Convert the upgrade code (which is a GUID) according -// to the way the windows installer does when writing it -// to the registry -// The first 8 bytes will be inverted, from the the last -// 8 bytes always the nibbles will be inverted for further -// details look in the MSDN under compressed registry keys -static std::_tstring ConvertGuid(const std::_tstring& guid) -{ - std::_tstring convertedGuid; - - std::_tstring part = GetGuidPart(guid, 0); - convertedGuid = Invert(part); - - part = GetGuidPart(guid, 1); - convertedGuid += Invert(part); - - part = GetGuidPart(guid, 2); - convertedGuid += Invert(part); - - part = GetGuidPart(guid, 3); - convertedGuid += Invert(std::_tstring(part.c_str(), 2)); - convertedGuid += Invert(std::_tstring(part.c_str() + 2, 2)); - - part = GetGuidPart(guid, 4); - int pos = 0; - for (int i = 0; i < 6; i++) - { - convertedGuid += Invert(std::_tstring(part.c_str() + pos, 2)); - pos += 2; - } - return convertedGuid; -} - -static inline bool IsSetMsiProperty(MSIHANDLE handle, const std::_tstring& sProperty) -{ - std::_tstring value = GetMsiProperty(handle, sProperty); - return (value.length() > 0); -} - -static inline void UnsetMsiProperty(MSIHANDLE handle, const std::_tstring& sProperty) -{ - MsiSetProperty(handle, sProperty.c_str(), NULL); -} - -static inline void SetMsiProperty(MSIHANDLE handle, const std::_tstring& sProperty) -{ - MsiSetProperty(handle, sProperty.c_str(), TEXT("1")); -} - -static BOOL MoveFileEx9x( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, DWORD dwFlags ) -{ - BOOL fSuccess = FALSE; // assume failure - - // Windows 9x has a special mechanism to move files after reboot - - if ( dwFlags & MOVEFILE_DELAY_UNTIL_REBOOT ) - { - CHAR szExistingFileNameA[MAX_PATH]; - CHAR szNewFileNameA[MAX_PATH] = "NUL"; - - // Path names in WININIT.INI must be in short path name form - - if ( - GetShortPathNameA( lpExistingFileNameA, szExistingFileNameA, MAX_PATH ) && - (!lpNewFileNameA || GetShortPathNameA( lpNewFileNameA, szNewFileNameA, MAX_PATH )) - ) - { - CHAR szBuffer[32767]; // The buffer size must not exceed 32K - DWORD dwBufLen = GetPrivateProfileSectionA( RENAME_SECTION, szBuffer, SAL_N_ELEMENTS(szBuffer), WININIT_FILENAME ); - - CHAR szRename[MAX_PATH]; // This is enough for at most to times 67 chracters - strcpy( szRename, szNewFileNameA ); - strcat( szRename, "=" ); - strcat( szRename, szExistingFileNameA ); - size_t lnRename = strlen(szRename); - - if ( dwBufLen + lnRename + 2 <= SAL_N_ELEMENTS(szBuffer) ) - { - CopyMemory( &szBuffer[dwBufLen], szRename, lnRename ); - szBuffer[dwBufLen + lnRename ] = 0; - szBuffer[dwBufLen + lnRename + 1 ] = 0; - - fSuccess = WritePrivateProfileSectionA( RENAME_SECTION, szBuffer, WININIT_FILENAME ); - } - else - SetLastError( ERROR_BUFFER_OVERFLOW ); - } - } - else - { - - fSuccess = MoveFileA( lpExistingFileNameA, lpNewFileNameA ); - - if ( !fSuccess && GetLastError() != ERROR_ACCESS_DENIED && - 0 != (dwFlags & (MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING)) ) - { - BOOL bFailIfExist = 0 == (dwFlags & MOVEFILE_REPLACE_EXISTING); - - fSuccess = CopyFileA( lpExistingFileNameA, lpNewFileNameA, bFailIfExist ); - - if ( fSuccess ) - fSuccess = DeleteFileA( lpExistingFileNameA ); - } - - } - - return fSuccess; -} - -static BOOL MoveFileExImpl( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, DWORD dwFlags ) -{ - if ( 0 > ((LONG)GetVersion())) // High order bit indicates Win 9x - return MoveFileEx9x( lpExistingFileNameA, lpNewFileNameA, dwFlags ); - else - return MoveFileExA( lpExistingFileNameA, lpNewFileNameA, dwFlags ); -} - -static bool SwapFiles( const std::_tstring& sFileName1, const std::_tstring& sFileName2 ) -{ - std::_tstring sTempFileName = sFileName1 + TEXT(".tmp"); - - bool fSuccess = true; - - //Try to move the original file to a temp file - fSuccess = MoveFileExImpl( sFileName1.c_str(), sTempFileName.c_str(), MOVEFILE_REPLACE_EXISTING); - - std::_tstring mystr; - - if ( fSuccess ) - { - fSuccess = MoveFileExImpl( sFileName2.c_str(), sFileName1.c_str(), MOVEFILE_REPLACE_EXISTING ); - - if ( fSuccess ) - { - fSuccess = MoveFileExImpl( sTempFileName.c_str(), sFileName2.c_str(), - MOVEFILE_REPLACE_EXISTING ); - if ( !fSuccess ) - { - MoveFileExImpl( sFileName1.c_str(), sFileName2.c_str(), MOVEFILE_REPLACE_EXISTING ); - } - } - else - { - MoveFileExImpl( sTempFileName.c_str(), sFileName1.c_str(), MOVEFILE_REPLACE_EXISTING ); - } - } - else - { - //It could be that there is no original file and therefore copying the original to a temp - // file failed. Examine if there is no original and if so then move file2 to file1 - - WIN32_FIND_DATA data; - HANDLE hdl = FindFirstFile(sFileName1.c_str(), &data); - if (hdl == INVALID_HANDLE_VALUE) - { - fSuccess = MoveFileExImpl( sFileName2.c_str(), sFileName1.c_str(), MOVEFILE_REPLACE_EXISTING ); - } - else - { - FindClose(hdl); - } - } - - OutputDebugStringFormat( TEXT("%s <-> %s: %s"), sFileName1.c_str(), sFileName2.c_str(), fSuccess ? TEXT("OK") : TEXT("FAILED") ); - - if (!fSuccess ) - { - DWORD dwError = GetLastError(); - LPVOID lpMsgBuf; - if ( FormatMessage( - FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, - GetLastError(), - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language - (LPTSTR) &lpMsgBuf, - 0, - NULL )) - { - OutputDebugStringFormat( TEXT("Error Code %d: %s"), dwError, lpMsgBuf ); - LocalFree( lpMsgBuf ); - } - else - OutputDebugStringFormat( TEXT("Error Code %d: Unknown"), dwError ); - SetMsiErrorCode( dwError ); - } - - return fSuccess; -} - -static std::_tstring strip( const std::_tstring& s, _TCHAR c ) -{ - std::_tstring result = s; - - std::_tstring::size_type f; - - do - { - f = result.find( c ); - if ( f != std::_tstring::npos ) - result.erase( f, 1 ); - } while ( f != std::_tstring::npos ); - - return result; -} - -static std::_tstring trim( const std::_tstring& rString ) -{ - std::_tstring temp = rString; - - while ( temp.length() && temp[0] == ' ' || temp[0] == '\t' ) - temp.erase( 0, 1 ); - - std::_tstring::size_type len = temp.length(); - - while ( len && temp[len-1] == ' ' || temp[len-1] == '\t' ) - { - temp.erase( len - 1, 1 ); - len = temp.length(); - } - - return temp; -} - -static bool readLine( FILE *fp, std::_tstring& rLine ) -{ - _TCHAR szBuffer[1024]; - bool bSuccess = false; - bool bEOL = false; - std::_tstring line; - - - while ( !bEOL && _fgetts( szBuffer, sizeof(szBuffer), fp ) ) - { - int len = _tcslen(szBuffer); - - bSuccess = true; - - while ( len && szBuffer[len - 1] == '\n' ) - { - szBuffer[--len] = 0; - bEOL = true; - } - - line.append( szBuffer ); - } - - rLine = line; - return bSuccess; -} - - -static std::_tstring getProfileString( - const std::_tstring& aFileName, - const std::_tstring& aSectionName, - const std::_tstring& aKeyName, - const std::_tstring& aDefault = _T("") ) -{ - FILE *fp = _tfopen( aFileName.c_str(), _T("r") ); - std::_tstring retValue = aDefault.length() ? aDefault : _T(""); - - if ( fp ) - { - std::_tstring line; - std::_tstring section; - - while ( readLine( fp, line ) ) - { - line = trim( line ); - - if ( line.length() && line[0] == '[' ) - { - line.erase( 0, 1 ); - std::_tstring::size_type end = line.find( ']', 0 ); - - if ( std::_tstring::npos != end ) - section = trim( line.substr( 0, end ) ); - } - else - { - - std::_tstring::size_type iEqualSign = line.find( '=', 0 ); - - if ( iEqualSign != std::_tstring::npos ) - { - std::_tstring keyname = line.substr( 0, iEqualSign ); - keyname = trim( keyname ); - - std::_tstring value = line.substr( iEqualSign + 1 /*, std::_tstring::npos */ ); - value = trim( value ); - - if ( - 0 == _tcsicmp( section.c_str(), aSectionName.c_str() ) && - 0 == _tcsicmp( keyname.c_str(), aKeyName.c_str() ) - ) - { - retValue = value; - break; - } - } - } - } - - fclose( fp ); - } - - return retValue; -} - -static std::queue< std::_tstring > getProfileSections( const std::_tstring& aFileName ) -{ - FILE *fp = _tfopen( aFileName.c_str(), _T("r") ); - std::queue< std::_tstring > aResult; - - OutputDebugStringFormat( TEXT("*** Retrieving Section Names ****") ); - - if ( fp ) - { - std::_tstring line; - std::_tstring section; - - while ( readLine( fp, line ) ) - { - line = trim( line ); - - if ( line.length() && line[0] == '[' ) - { - line.erase( 0, 1 ); - std::_tstring::size_type end = line.find( ']', 0 ); - - if ( std::_tstring::npos != end ) - section = trim( line.substr( 0, end ) ); - - aResult.push( section ); - - OutputDebugStringFormat( TEXT("Section: %s"), section.c_str() ); - - } - } - - fclose( fp ); - } - - OutputDebugStringFormat( TEXT("*** Done Section Names ***") ); - - return aResult; -} - -static std::queue< std::_tstring > getProfileKeys( const std::_tstring& aFileName, const std::_tstring& aSectionName ) -{ - FILE *fp = _tfopen( aFileName.c_str(), _T("r") ); - std::queue< std::_tstring > aResult; - - OutputDebugStringFormat( TEXT("*** Retrieving Key Names for [%s] ***"), aSectionName.c_str() ); - - if ( fp ) - { - std::_tstring line; - std::_tstring section; - - while ( readLine( fp, line ) ) - { - line = trim( line ); - - if ( line.length() && line[0] == '[' ) - { - line.erase( 0, 1 ); - std::_tstring::size_type end = line.find( ']', 0 ); - - if ( std::_tstring::npos != end ) - section = trim( line.substr( 0, end ) ); - } - else - { - - std::_tstring::size_type iEqualSign = line.find( '=', 0 ); - - if ( iEqualSign != std::_tstring::npos ) - { - std::_tstring keyname = line.substr( 0, iEqualSign ); - keyname = trim( keyname ); - - if ( 0 == _tcsicmp( section.c_str(), aSectionName.c_str() ) ) - { - aResult.push( keyname ); - - OutputDebugStringFormat( keyname.c_str() ); - - } - } - } - } - - fclose( fp ); - } - - OutputDebugStringFormat( TEXT("*** Done Key Names for [%s] ***"), aSectionName.c_str() ); - - return aResult; -} - -extern "C" UINT __stdcall InstallPatchedFiles( MSIHANDLE handle ) -{ - std::_tstring sInstDir = GetMsiProperty( handle, TEXT("INSTALLLOCATION") ); - std::_tstring sProgramDir = sInstDir + TEXT("Basis\\program\\"); - std::_tstring sPatchFile = sProgramDir + TEXT("patchlist.txt"); - - std::queue< std::_tstring > aSectionNames; - std::queue< std::_tstring > aKeyNames; - - OutputDebugStringA( "Starting Custom Action" ); - - aSectionNames = getProfileSections( sPatchFile ); - while ( !aSectionNames.empty() ) - { - std::_tstring sSectionName = aSectionNames.front(); - if ( std::_tstring(TEXT("_root")) == sSectionName ) { sSectionName = TEXT(""); } - - aKeyNames = getProfileKeys( sPatchFile, sSectionName ); - while ( !aKeyNames.empty() ) - { - std::_tstring sKeyName = aKeyNames.front(); - std::_tstring sValue = getProfileString( sPatchFile, sSectionName, sKeyName ); - - if ( sValue.length() ) - { - std::_tstring sFileName1 = sKeyName; - std::_tstring sExtension = sValue; - std::_tstring sFileName2; - - sFileName1 = strip( sFileName1, '\"' ); - sExtension = strip( sExtension, '\"' ); - - sFileName1 = sInstDir + sSectionName + sFileName1; - sFileName2 = sFileName1 + sExtension; - - SwapFiles( sFileName1, sFileName2 ); - } - - aKeyNames.pop(); - } - - aSectionNames.pop(); - } - - return ERROR_SUCCESS; -} - -extern "C" UINT __stdcall UninstallPatchedFiles( MSIHANDLE handle ) -{ - TCHAR szValue[8192]; - DWORD nValueSize = sizeof(szValue); - HKEY hKey; - - std::_tstring sInstDir; - - std::_tstring sProductKey = GetMsiProperty( handle, TEXT("FINDPRODUCT") ); - - if ( ERROR_SUCCESS == RegOpenKey( HKEY_CURRENT_USER, sProductKey.c_str(), &hKey ) ) - { - if ( ERROR_SUCCESS == RegQueryValueEx( hKey, TEXT("INSTALLLOCATION"), NULL, NULL, (LPBYTE)szValue, &nValueSize ) ) - { - sInstDir = szValue; - } - RegCloseKey( hKey ); - } - else if ( ERROR_SUCCESS == RegOpenKey( HKEY_LOCAL_MACHINE, sProductKey.c_str(), &hKey ) ) - { - if ( ERROR_SUCCESS == RegQueryValueEx( hKey, TEXT("INSTALLLOCATION"), NULL, NULL, (LPBYTE)szValue, &nValueSize ) ) - { - sInstDir = szValue; - } - RegCloseKey( hKey ); - } - else - return ERROR_SUCCESS; - - std::_tstring sProgramDir = sInstDir + TEXT("Basis\\program\\"); - std::_tstring sPatchFile = sProgramDir + TEXT("patchlist.txt"); - - std::queue< std::_tstring > aSectionNames; - std::queue< std::_tstring > aKeyNames; - - aSectionNames = getProfileSections( sPatchFile ); - while ( !aSectionNames.empty() ) - { - std::_tstring sSectionName = aSectionNames.front(); - if ( std::_tstring(TEXT("_root")) == sSectionName ) { sSectionName = TEXT(""); } - - aKeyNames = getProfileKeys( sPatchFile, sSectionName ); - while( !aKeyNames.empty() ) - { - std::_tstring sKeyName = aKeyNames.front(); - std::_tstring sValue = getProfileString( sPatchFile, sSectionName, sKeyName ); - - if ( sValue.length() ) - { - std::_tstring sFileName1 = sKeyName; - std::_tstring sExtension = sValue; - std::_tstring sFileName2; - - sFileName1 = strip( sFileName1, '\"' ); - sExtension = strip( sExtension, '\"' ); - - sFileName1 = sInstDir + sSectionName + sFileName1; - sFileName2 = sFileName1 + sExtension; - - SwapFiles( sFileName2, sFileName1 ); - } - - aKeyNames.pop(); - } - - aSectionNames.pop(); - } - - return ERROR_SUCCESS; -} - -extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle ) -{ - std::_tstring sInstDir = GetMsiProperty( handle, TEXT("INSTALLLOCATION") ); - std::_tstring sResourceDir = sInstDir + TEXT("Basis\\program\\resource\\"); - std::_tstring sPattern = sResourceDir + TEXT("vcl*.res"); - - WIN32_FIND_DATA aFindFileData; - HANDLE hFind = FindFirstFile( sPattern.c_str(), &aFindFileData ); - - if ( IsValidHandle(hFind) ) - { - BOOL fSuccess = false; - bool fRenameSucceeded; - - do - { - std::_tstring sResourceFile = sResourceDir + aFindFileData.cFileName; - std::_tstring sIntermediate = sResourceFile + TEXT(".tmp"); - - fRenameSucceeded = MoveFileExImpl( sResourceFile.c_str(), sIntermediate.c_str(), MOVEFILE_REPLACE_EXISTING ); - if ( fRenameSucceeded ) - { - MoveFileExImpl( sIntermediate.c_str(), sResourceFile.c_str(), 0 ); - fSuccess = FindNextFile( hFind, &aFindFileData ); - } - } while ( fSuccess && fRenameSucceeded ); - - if ( !fRenameSucceeded ) - { - MsiSetProperty(handle, TEXT("OFFICERUNS"), TEXT("1")); - SetMsiErrorCode( MSI_ERROR_OFFICE_IS_RUNNING ); - } - - FindClose( hFind ); - } - - - return ERROR_SUCCESS; -} - -extern "C" UINT __stdcall SetFeatureState( MSIHANDLE handle ) -{ - std::_tstring mystr; - - // 1. Reading Product Code from setup.ini of installed Office - - std::_tstring sInstallPath = GetMsiProperty(handle, TEXT("INSTALLLOCATION")); - std::_tstring sSetupiniPath = sInstallPath + TEXT("program\\setup.ini"); - - TCHAR szProductCode[32767]; - - GetPrivateProfileString( - TEXT("Bootstrap"), - TEXT("ProductCode"), - TEXT("NOTFOUND"), - szProductCode, - SAL_N_ELEMENTS(szProductCode), - sSetupiniPath.c_str() - ); - - if ( !_tcsicmp( szProductCode, TEXT("NOTFOUND") ) ) - { - // No setup.ini or no "ProductCode" in setup.ini. This is an invalid directory. - return ERROR_SUCCESS; - } - - // 2. Converting Product code - - std::_tstring productCode = TEXT(szProductCode); - productCode = ConvertGuid(std::_tstring(productCode.c_str() + 1, productCode.length() - 2)); - mystr = TEXT("Changed product code: ") + productCode; - - // 3. Setting path in the Windows registry to find installed features - - std::_tstring registryKey; - HKEY registryRoot; - - if ( IsSetMsiProperty(handle, TEXT("ALLUSERS")) ) - { - registryRoot = HKEY_LOCAL_MACHINE; - registryKey = TEXT("Software\\Classes\\Installer\\Features\\") + productCode; - mystr = registryKey; - } - else - { - registryRoot = HKEY_CURRENT_USER; - registryKey = TEXT("Software\\Microsoft\\Installer\\Features\\") + productCode; - mystr = registryKey; - } - - // 4. Collecting all installed features from Windows registry - - HKEY hKey; - if (RegOpenKey(registryRoot, registryKey.c_str(), &hKey) == ERROR_SUCCESS) - { - int counter = 0; - LONG lEnumResult; - - do - { - TCHAR szValueName[8192]; - DWORD nValueNameSize = sizeof(szValueName); - LPDWORD pValueNameSize = &nValueNameSize; - TCHAR szValueData[8192]; - DWORD nValueDataSize = sizeof(szValueData); - - lEnumResult = RegEnumValue( hKey, counter, szValueName, pValueNameSize, NULL, NULL, (LPBYTE)szValueData, &nValueDataSize); - - if ( ERROR_SUCCESS == lEnumResult ) - { - std::_tstring sValueName = szValueName; - std::_tstring sValueData = szValueData; - - // Does this feature exist in this patch? - if ( IsSetMsiProperty(handle, sValueName) ) - { - // Feature is not installed, if szValueData starts with a "square" (ascii 6) - if ( 6 == szValueData[0] ) - { - MsiSetFeatureState(handle,sValueName.c_str(),INSTALLSTATE_ABSENT); // do not install this feature - } - else - { - MsiSetFeatureState(handle,sValueName.c_str(),INSTALLSTATE_LOCAL); // do install this feature - } - } - } - - counter = counter + 1; - - } while ( ERROR_SUCCESS == lEnumResult ); - - RegCloseKey( hKey ); - } - - return ERROR_SUCCESS; -} - -extern "C" UINT __stdcall SetNewFeatureState( MSIHANDLE handle ) -{ - std::_tstring mystr; - std::_tstring sValueName; - - sValueName = TEXT("gm_o_Onlineupdate"); - - if (IsSetMsiProperty(handle, TEXT("SELECT_OU_FEATURE"))) - { - MsiSetFeatureState(handle,sValueName.c_str(),INSTALLSTATE_LOCAL); // do install this feature - } - else - { - MsiSetFeatureState(handle,sValueName.c_str(),INSTALLSTATE_ABSENT); // do not install this feature - } - - return ERROR_SUCCESS; -} - -extern "C" UINT __stdcall ShowOnlineUpdateDialog( MSIHANDLE handle ) -{ - // Checking existence of file "updchk.uno.dll", which shows, that - // Online Update functionality is always available. Then the dialog - // that offers the Online Update is superfluous. - - std::_tstring sInstDir = GetMsiProperty( handle, TEXT("INSTALLLOCATION") ); - std::_tstring sProgramDir = sInstDir + TEXT("Basis\\program\\"); - std::_tstring sSearchFile = sProgramDir + TEXT("updchk.uno.dll"); - - WIN32_FIND_DATA data; - HANDLE hdl = FindFirstFile(sSearchFile.c_str(), &data); - if (hdl != INVALID_HANDLE_VALUE) // the file exists - { - // And finally setting property SHOW_ONLINEUPDATE_DIALOG - // to hide this dialog - UnsetMsiProperty(handle, TEXT("SHOW_ONLINEUPDATE_DIALOG")); - - // Setting SELECT_OU_FEATURE to 1, which is probably superfluous - // because this is already the default value. But only this - // guarantees, that CustomAction SetNewFeatureState always sets - // the correct FeatureState for "gm_o_Onlineupdate", if it is - // already installed. - SetMsiProperty(handle, TEXT("SELECT_OU_FEATURE")); - } - else - { - // If the file does not exist, the Online Update dialog - // has to be shown. - SetMsiProperty(handle, TEXT("SHOW_ONLINEUPDATE_DIALOG")); - FindClose(hdl); - } - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/quickstarter/exports.dxp b/setup_native/source/win32/customactions/quickstarter/exports.dxp deleted file mode 100644 index c1343f8e7..000000000 --- a/setup_native/source/win32/customactions/quickstarter/exports.dxp +++ /dev/null @@ -1,3 +0,0 @@ -InstallExecSequenceEntry -DeinstallExecSequenceEntry -
\ No newline at end of file diff --git a/setup_native/source/win32/customactions/quickstarter/makefile.mk b/setup_native/source/win32/customactions/quickstarter/makefile.mk deleted file mode 100644 index 57b53d262..000000000 --- a/setup_native/source/win32/customactions/quickstarter/makefile.mk +++ /dev/null @@ -1,93 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=quickstarter -TARGET1=sdqsmsi -TARGET2=qslnkmsi - -# --- Settings ----------------------------------------------------- - -LIBTARGET=NO -ENABLE_EXCEPTIONS=TRUE -NO_DEFAULT_STL=TRUE -DYNAMIC_CRT= -USE_DEFFILE=TRUE - -.INCLUDE : settings.mk - -UWINAPILIB= - -# --- Files -------------------------------------------------------- - -.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!="" - -STDSHL += \ - $(ADVAPI32LIB)\ - $(SHELL32LIB)\ - $(MSILIB) - -.IF "$(COM)"=="GCC" -STDSHL+= \ - $(KERNEL32LIB)\ - -lmsvcrt -.ENDIF - -SHL1OBJS = $(SLO)$/shutdown_quickstart.obj \ - $(SLO)$/quickstarter.obj - -SHL1TARGET = $(TARGET1) -SHL1IMPLIB = i$(TARGET1) - -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1BASE = 0x1c000000 -DEF1NAME=$(SHL1TARGET) -SHL1DEPN=$(SHL1OBJS) -DEF1EXPORTFILE=$(TARGET1).dxp - -# --- Files -------------------------------------------------------- - -SHL2OBJS = $(SLO)$/remove_quickstart_link.obj \ - $(SLO)$/quickstarter.obj - -SHL2TARGET = $(TARGET2) -SHL2IMPLIB = i$(TARGET2) - -SHL2DEF = $(MISC)$/$(SHL2TARGET).def -SHL2BASE = 0x1c000000 -DEF2NAME=$(SHL2TARGET) -SHL2DEPN=$(SHL1OBJS) -DEF2EXPORTFILE=$(TARGET2).dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk - -# ------------------------------------------------------------------------- diff --git a/setup_native/source/win32/customactions/quickstarter/qslnkmsi.dxp b/setup_native/source/win32/customactions/quickstarter/qslnkmsi.dxp deleted file mode 100644 index 56f67cc93..000000000 --- a/setup_native/source/win32/customactions/quickstarter/qslnkmsi.dxp +++ /dev/null @@ -1,2 +0,0 @@ -RemoveQuickstarterLink -
\ No newline at end of file diff --git a/setup_native/source/win32/customactions/quickstarter/quickstarter.cxx b/setup_native/source/win32/customactions/quickstarter/quickstarter.cxx deleted file mode 100644 index 396b293d9..000000000 --- a/setup_native/source/win32/customactions/quickstarter/quickstarter.cxx +++ /dev/null @@ -1,223 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#include "quickstarter.hxx" -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#include <psapi.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif -#include <tlhelp32.h> -#include <malloc.h> - -std::string GetOfficeInstallationPath(MSIHANDLE handle) -{ - std::string progpath; - DWORD sz = 0; - LPTSTR dummy = TEXT(""); - - if (MsiGetProperty(handle, TEXT("INSTALLLOCATION"), dummy, &sz) == ERROR_MORE_DATA) - { - sz++; // space for the final '\0' - DWORD nbytes = sz * sizeof(TCHAR); - LPTSTR buff = reinterpret_cast<LPTSTR>(_alloca(nbytes)); - ZeroMemory(buff, nbytes); - MsiGetProperty(handle, TEXT("INSTALLLOCATION"), buff, &sz); - progpath = buff; - } - return progpath; -} - -std::string GetOfficeProductName(MSIHANDLE handle) -{ - std::string productname; - DWORD sz = 0; - LPTSTR dummy = TEXT(""); - - if (MsiGetProperty(handle, TEXT("ProductName"), dummy, &sz) == ERROR_MORE_DATA) - { - sz++; // space for the final '\0' - DWORD nbytes = sz * sizeof(TCHAR); - LPTSTR buff = reinterpret_cast<LPTSTR>(_alloca(nbytes)); - ZeroMemory(buff, nbytes); - MsiGetProperty(handle, TEXT("ProductName"), buff, &sz); - productname = buff; - } - return productname; -} - -std::string GetQuickstarterLinkName(MSIHANDLE handle) -{ - std::string quickstarterlinkname; - DWORD sz = 0; - LPTSTR dummy = TEXT(""); - - if (MsiGetProperty(handle, TEXT("Quickstarterlinkname"), dummy, &sz) == ERROR_MORE_DATA) - { - sz++; // space for the final '\0' - DWORD nbytes = sz * sizeof(TCHAR); - LPTSTR buff = reinterpret_cast<LPTSTR>(_alloca(nbytes)); - ZeroMemory(buff, nbytes); - MsiGetProperty(handle, TEXT("Quickstarterlinkname"), buff, &sz); - quickstarterlinkname = buff; - } - else if (MsiGetProperty(handle, TEXT("ProductName"), dummy, &sz) == ERROR_MORE_DATA) - { - sz++; // space for the final '\0' - DWORD nbytes = sz * sizeof(TCHAR); - LPTSTR buff = reinterpret_cast<LPTSTR>(_alloca(nbytes)); - ZeroMemory(buff, nbytes); - MsiGetProperty(handle, TEXT("ProductName"), buff, &sz); - quickstarterlinkname = buff; - } - return quickstarterlinkname; -} - -inline bool IsValidHandle( HANDLE handle ) -{ - return NULL != handle && INVALID_HANDLE_VALUE != handle; -} - - -static HANDLE WINAPI _CreateToolhelp32Snapshot( DWORD dwFlags, DWORD th32ProcessID ) -{ - typedef HANDLE (WINAPI *FN_PROC)( DWORD dwFlags, DWORD th32ProcessID ); - static FN_PROC lpProc = NULL; - - HANDLE hSnapshot = NULL; - - if ( !lpProc ) - { - HMODULE hLibrary = GetModuleHandle("KERNEL32.DLL"); - - if ( hLibrary ) - lpProc = reinterpret_cast< FN_PROC >(GetProcAddress( hLibrary, "CreateToolhelp32Snapshot" )); - } - - if ( lpProc ) - hSnapshot = lpProc( dwFlags, th32ProcessID ); - - return hSnapshot; -} - -static BOOL WINAPI _Process32First( HANDLE hSnapshot, PROCESSENTRY32 *lppe32 ) -{ - typedef BOOL (WINAPI *FN_PROC)( HANDLE hSnapshot, PROCESSENTRY32 *lppe32 ); - static FN_PROC lpProc = NULL; - - BOOL fSuccess = FALSE; - - if ( !lpProc ) - { - HMODULE hLibrary = GetModuleHandle("KERNEL32.DLL"); - - if ( hLibrary ) - lpProc = reinterpret_cast< FN_PROC >(GetProcAddress( hLibrary, "Process32First" )); - } - - if ( lpProc ) - fSuccess = lpProc( hSnapshot, lppe32 ); - - return fSuccess; -} - -static BOOL WINAPI _Process32Next( HANDLE hSnapshot, PROCESSENTRY32 *lppe32 ) -{ - typedef BOOL (WINAPI *FN_PROC)( HANDLE hSnapshot, PROCESSENTRY32 *lppe32 ); - static FN_PROC lpProc = NULL; - - BOOL fSuccess = FALSE; - - if ( !lpProc ) - { - HMODULE hLibrary = GetModuleHandle("KERNEL32.DLL"); - - if ( hLibrary ) - lpProc = reinterpret_cast< FN_PROC >(GetProcAddress( hLibrary, "Process32Next" )); - } - - if ( lpProc ) - fSuccess = lpProc( hSnapshot, lppe32 ); - - return fSuccess; -} - -static std::string GetProcessImagePath_9x( DWORD dwProcessId ) -{ - std::string sImagePath; - - HANDLE hSnapshot = _CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 ); - - if ( IsValidHandle( hSnapshot ) ) - { - PROCESSENTRY32 pe32 = { 0 }; - - pe32.dwSize = sizeof(PROCESSENTRY32); - - BOOL fSuccess = _Process32First( hSnapshot, &pe32 ); - bool found = false; - - while ( !found && fSuccess ) - { - if ( pe32.th32ProcessID == dwProcessId ) - { - found = true; - sImagePath = pe32.szExeFile; - } - - if ( !found ) - fSuccess = _Process32Next( hSnapshot, &pe32 ); - } - - CloseHandle( hSnapshot ); - } - - return sImagePath; -} - -static DWORD WINAPI _GetModuleFileNameExA( HANDLE hProcess, HMODULE hModule, LPSTR lpFileName, DWORD nSize ) -{ - typedef DWORD (WINAPI *FN_PROC)( HANDLE hProcess, HMODULE hModule, LPSTR lpFileName, DWORD nSize ); - - static FN_PROC lpProc = NULL; - - if ( !lpProc ) - { - HMODULE hLibrary = LoadLibrary("PSAPI.DLL"); - - if ( hLibrary ) - lpProc = reinterpret_cast< FN_PROC >(GetProcAddress( hLibrary, "GetModuleFileNameExA" )); - } - - if ( lpProc ) - return lpProc( hProcess, hModule, lpFileName, nSize ); - - return 0; - -} - -static std::string GetProcessImagePath_NT( DWORD dwProcessId ) -{ - std::string sImagePath; - - HANDLE hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, dwProcessId ); - - if ( IsValidHandle( hProcess ) ) - { - CHAR szPathBuffer[MAX_PATH] = ""; - - if ( _GetModuleFileNameExA( hProcess, NULL, szPathBuffer, sizeof(szPathBuffer) ) ) - sImagePath = szPathBuffer; - - CloseHandle( hProcess ); - } - - return sImagePath; -} - -std::string GetProcessImagePath( DWORD dwProcessId ) -{ - return (LONG)GetVersion() < 0 ? GetProcessImagePath_9x( dwProcessId ) : GetProcessImagePath_NT( dwProcessId ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/quickstarter/quickstarter.hxx b/setup_native/source/win32/customactions/quickstarter/quickstarter.hxx deleted file mode 100644 index d02532e08..000000000 --- a/setup_native/source/win32/customactions/quickstarter/quickstarter.hxx +++ /dev/null @@ -1,21 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#pragma once - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <string> - -std::string GetOfficeInstallationPath(MSIHANDLE handle); -std::string GetOfficeProductName(MSIHANDLE handle); -std::string GetQuickstarterLinkName(MSIHANDLE handle); -std::string GetProcessImagePath( DWORD dwProcessId ); - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/quickstarter/remove_quickstart_link.cxx b/setup_native/source/win32/customactions/quickstarter/remove_quickstart_link.cxx deleted file mode 100644 index d61309c98..000000000 --- a/setup_native/source/win32/customactions/quickstarter/remove_quickstart_link.cxx +++ /dev/null @@ -1,63 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#pragma warning(disable: 4917) -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <shlobj.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <string> -#include "quickstarter.hxx" - - -extern "C" UINT __stdcall RemoveQuickstarterLink( MSIHANDLE hMSI ) -{ - CHAR szStartupPath[MAX_PATH]; - - if ( SHGetSpecialFolderPathA( NULL, szStartupPath, CSIDL_STARTUP, FALSE ) ) - { - std::string sQuickstartLinkPath = szStartupPath; - - sQuickstartLinkPath += "\\"; - sQuickstartLinkPath += GetQuickstarterLinkName( hMSI ); - sQuickstartLinkPath += ".lnk"; - - DeleteFileA( sQuickstartLinkPath.c_str() ); - } - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/quickstarter/sdqsmsi.dxp b/setup_native/source/win32/customactions/quickstarter/sdqsmsi.dxp deleted file mode 100644 index 49ec00aff..000000000 --- a/setup_native/source/win32/customactions/quickstarter/sdqsmsi.dxp +++ /dev/null @@ -1,2 +0,0 @@ -ShutDownQuickstarter -
\ No newline at end of file diff --git a/setup_native/source/win32/customactions/quickstarter/shutdown_quickstart.cxx b/setup_native/source/win32/customactions/quickstarter/shutdown_quickstart.cxx deleted file mode 100644 index 96a30f7de..000000000 --- a/setup_native/source/win32/customactions/quickstarter/shutdown_quickstart.cxx +++ /dev/null @@ -1,81 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "quickstarter.hxx" -#include <sfx2/qswin32.h> - -static BOOL CALLBACK EnumWindowsProc( HWND hWnd, LPARAM lParam ) -{ - MSIHANDLE hMSI = static_cast< MSIHANDLE >( lParam ); - CHAR szClassName[sizeof(QUICKSTART_CLASSNAMEA) + 1]; - - int nCharsCopied = GetClassName( hWnd, szClassName, sizeof( szClassName ) ); - - if ( nCharsCopied && !stricmp( QUICKSTART_CLASSNAMEA, szClassName ) ) - { - DWORD dwProcessId; - - if ( GetWindowThreadProcessId( hWnd, &dwProcessId ) ) - { - std::string sImagePath = GetProcessImagePath( dwProcessId ); - std::string sOfficeImageDir = GetOfficeInstallationPath( hMSI ) + "program\\"; - - if ( !strnicmp( sImagePath.c_str(), sOfficeImageDir.c_str(), sOfficeImageDir.length() ) ) - { - UINT uMsgShutdownQuickstart = RegisterWindowMessageA( SHUTDOWN_QUICKSTART_MESSAGEA ); - - if ( uMsgShutdownQuickstart ) - SendMessageA( hWnd, uMsgShutdownQuickstart, 0, 0 ); - - - HANDLE hProcess = OpenProcess( SYNCHRONIZE, FALSE, dwProcessId ); - - if ( hProcess ) - { - WaitForSingleObject( hProcess, 30000 ); // Wait at most 30 seconds for process to terminate - CloseHandle( hProcess ); - } - - return FALSE; - } - - } - } - - return TRUE; -} - - -extern "C" UINT __stdcall ShutDownQuickstarter( MSIHANDLE hMSI ) -{ - EnumWindows( EnumWindowsProc, hMSI ); - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/rebase/makefile.mk b/setup_native/source/win32/customactions/rebase/makefile.mk deleted file mode 100644 index fb1fc22a8..000000000 --- a/setup_native/source/win32/customactions/rebase/makefile.mk +++ /dev/null @@ -1,82 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=rebase - -# --- Settings ----------------------------------------------------- - -LIBTARGET=NO -ENABLE_EXCEPTIONS=TRUE -NO_DEFAULT_STL=TRUE -DYNAMIC_CRT= -USE_DEFFILE=TRUE -MINGW_NODLL=YES - -.INCLUDE : settings.mk - -UWINAPILIB= - -# --- Files -------------------------------------------------------- - -.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!="" - -STDSHL += \ - $(ADVAPI32LIB)\ - $(SHELL32LIB)\ - $(MSILIB) - -.IF "$(COM)"=="GCC" -STDSHL+= \ - $(KERNEL32LIB)\ - -lmsvcrt \ - $(PSDK_HOME)$/lib$/imagehlp.lib -.ELSE -STDSHL+= \ - Imagehlp.lib -.ENDIF - -SHL1OBJS = \ - $(SLO)$/rebase.obj - -SHL1TARGET = $(TARGET) -SHL1IMPLIB = i$(TARGET) - -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1BASE = 0x1c000000 -DEF1NAME=$(SHL1TARGET) -SHL1DEPN=$(SHL1OBJS) -DEF1EXPORTFILE=$(TARGET).dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk - -# ------------------------------------------------------------------------- diff --git a/setup_native/source/win32/customactions/rebase/rebase.cxx b/setup_native/source/win32/customactions/rebase/rebase.cxx deleted file mode 100644 index 2d22e3146..000000000 --- a/setup_native/source/win32/customactions/rebase/rebase.cxx +++ /dev/null @@ -1,226 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#undef UNICODE -#undef _UNICODE - -#pragma once - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#include <imagehlp.h> -#include <tchar.h> -#include <strsafe.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <time.h> -#include <string> -#include <boost/unordered_map.hpp> - -const DWORD PE_Signature = 0x00004550; -typedef std::pair< std::string, bool > StringPair; -typedef boost::unordered_map< std::string, bool > ExcludeLibsMap; - -#ifdef DEBUG -static void OutputDebugStringFormat( LPCSTR pFormat, ... ) -{ - CHAR buffer[1024]; - va_list args; - - va_start( args, pFormat ); - StringCchVPrintfA( buffer, sizeof(buffer), pFormat, args ); - OutputDebugStringA( buffer ); -} -#else -static void OutputDebugStringFormat( LPCSTR, ... ) -{ -} -#endif - -static bool IsValidHandle( HANDLE handle ) -{ - return NULL != handle && INVALID_HANDLE_VALUE != handle; -} - -static std::string GetMsiProperty(MSIHANDLE handle, const std::string& sProperty) -{ - std::string result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if (MsiGetProperty(handle, sProperty.c_str(), szDummy, &nChars) == ERROR_MORE_DATA) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - return result; -} - -static BOOL rebaseImage( const std::string& filePath, LPVOID address ) -{ - ULONG ulOldImageSize; - ULONG_PTR lpOldImageBase; - ULONG ulNewImageSize; - ULONG_PTR lpNewImageBase = reinterpret_cast<ULONG_PTR>(address); - - BOOL bResult = ReBaseImage( - (PSTR)filePath.c_str(), - (PSTR)"", - TRUE, - FALSE, - FALSE, - 0, - &ulOldImageSize, - &lpOldImageBase, - &ulNewImageSize, - &lpNewImageBase, - (ULONG)time(NULL) ); - - return bResult; -} - -static BOOL rebaseImage( MSIHANDLE /*handle*/, const std::string& sFilePath, LPVOID address ) -{ - std::string mystr; - mystr = "Full file: " + sFilePath; - - BOOL bResult = rebaseImage( sFilePath, address ); - - if ( !bResult ) - { - OutputDebugStringFormat( "Rebasing library %s failed", mystr.c_str() ); - } - - return bResult; -} - -static BOOL rebaseImagesInFolder( MSIHANDLE handle, const std::string& sPath, LPVOID address, ExcludeLibsMap& rExcludeMap ) -{ - std::string sDir = sPath; - std::string sPattern = sPath + TEXT("*.dll"); - WIN32_FIND_DATA aFindFileData; - - HANDLE hFind = FindFirstFile( sPattern.c_str(), &aFindFileData ); - if ( IsValidHandle(hFind) ) - { - BOOL fSuccess = false; - - do - { - std::string sFileName = aFindFileData.cFileName; - if ( rExcludeMap.find( sFileName ) == rExcludeMap.end() ) - { - OutputDebugStringFormat( "Rebase library: %s", sFileName.c_str() ); - std::string sLibFile = sDir + sFileName; - rebaseImage( handle, sLibFile, address ); - } - else - { - OutputDebugStringFormat( "Exclude library %s from rebase", sFileName.c_str() ); - } - - fSuccess = FindNextFile( hFind, &aFindFileData ); - } - while ( fSuccess ); - - FindClose( hFind ); - } - - return ERROR_SUCCESS; -} - -static BOOL rebaseImages( MSIHANDLE handle, LPVOID pAddress, ExcludeLibsMap& rMap ) -{ - std::string sInstallPath = GetMsiProperty(handle, TEXT("INSTALLLOCATION")); - - std::string sBasisDir = sInstallPath + TEXT("Basis\\program\\"); - std::string sOfficeDir = sInstallPath + TEXT("program\\"); - std::string sUreDir = sInstallPath + TEXT("URE\\bin\\"); - - BOOL bResult = rebaseImagesInFolder( handle, sBasisDir, pAddress, rMap ); - bResult &= rebaseImagesInFolder( handle, sOfficeDir, pAddress, rMap ); - bResult &= rebaseImagesInFolder( handle, sUreDir, pAddress, rMap ); - - return bResult; -} - -static BOOL IsServerSystem( MSIHANDLE /*handle*/ ) -{ - OSVERSIONINFOEX osVersionInfoEx; - osVersionInfoEx.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); - GetVersionEx(reinterpret_cast<LPOSVERSIONINFO>(&osVersionInfoEx)); - - if ( osVersionInfoEx.wProductType != VER_NT_WORKSTATION ) - { - OutputDebugStringFormat( "Server system detected. No rebase necessary!" ); - return TRUE; - } - else - { - OutputDebugStringFormat( "Client system detected. Rebase necessary!" ); - return FALSE; - } -} - -static void InitExcludeFromRebaseList( MSIHANDLE handle, ExcludeLibsMap& rMap ) -{ - size_t nPos( 0 ); - const TCHAR cDelim = ','; - std::string sLibsExcluded = GetMsiProperty(handle, TEXT("EXCLUDE_FROM_REBASE")); - - while ( nPos < sLibsExcluded.size() ) - { - size_t nDelPos = sLibsExcluded.find_first_of( cDelim, nPos ); - - std::string sExcludedLibName; - if ( nDelPos != std::string::npos ) - { - sExcludedLibName = sLibsExcluded.substr( nPos, nDelPos - nPos ); - nPos = nDelPos+1; - } - else - { - sExcludedLibName = sLibsExcluded.substr( nPos ); - nPos = sLibsExcluded.size(); - } - - if ( sExcludedLibName.size() > 0 ) - { - OutputDebugStringFormat( "Insert library %s into exclude from rebase list", sExcludedLibName.c_str() ); - rMap.insert( StringPair( sExcludedLibName, true )); - } - } -} - -extern "C" BOOL __stdcall RebaseLibrariesOnProperties( MSIHANDLE handle ) -{ - static LPVOID pDefault = reinterpret_cast<LPVOID>(0x10000000); - - OutputDebugStringFormat( "RebaseLibrariesOnProperties has been called" ); - std::string sDontOptimizeLibs = GetMsiProperty(handle, TEXT("DONTOPTIMIZELIBS")); - if ( sDontOptimizeLibs.length() > 0 && sDontOptimizeLibs == "1" ) - { - OutputDebugStringFormat( "Don't optimize libraries set. No rebase necessary!" ); - return TRUE; - } - - if ( !IsServerSystem( handle )) - { - ExcludeLibsMap aExcludeLibsMap; - InitExcludeFromRebaseList( handle, aExcludeLibsMap ); - - return rebaseImages( handle, pDefault, aExcludeLibsMap ); - } - - return TRUE; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/rebase/rebase.dxp b/setup_native/source/win32/customactions/rebase/rebase.dxp deleted file mode 100644 index 47ea23951..000000000 --- a/setup_native/source/win32/customactions/rebase/rebase.dxp +++ /dev/null @@ -1 +0,0 @@ -RebaseLibrariesOnProperties
diff --git a/setup_native/source/win32/customactions/reg4allmsdoc/exports.dxp b/setup_native/source/win32/customactions/reg4allmsdoc/exports.dxp deleted file mode 100644 index 54ebb2f67..000000000 --- a/setup_native/source/win32/customactions/reg4allmsdoc/exports.dxp +++ /dev/null @@ -1,4 +0,0 @@ -FindRegisteredExtensions -LookForRegisteredExtensions -RegisterSomeExtensions -RestoreRegAllMSDoc diff --git a/setup_native/source/win32/customactions/reg4allmsdoc/makefile.mk b/setup_native/source/win32/customactions/reg4allmsdoc/makefile.mk deleted file mode 100644 index 0f162fa6c..000000000 --- a/setup_native/source/win32/customactions/reg4allmsdoc/makefile.mk +++ /dev/null @@ -1,76 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=reg4allmsdoc - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=TRUE -NO_DEFAULT_STL=TRUE -DYNAMIC_CRT= -USE_DEFFILE=TRUE - -.INCLUDE : settings.mk - -CFLAGS+=-DUNICODE -D_UNICODE - -# --- Files -------------------------------------------------------- - -.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!="" - -UWINAPILIB= - -SLOFILES = $(SLO)$/reg4allmsi.obj - -SHL1STDLIBS= $(KERNEL32LIB)\ - $(USER32LIB)\ - $(ADVAPI32LIB)\ - $(SHELL32LIB)\ - $(MSILIB)\ - $(SHLWAPILIB) - -SHL1LIBS = $(SLB)$/$(TARGET).lib - -SHL1TARGET = $(TARGET) -SHL1IMPLIB = i$(TARGET) - -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1DEPN = $(SLB)$/$(TARGET).lib -SHL1BASE = 0x1c000000 -DEF1NAME=$(SHL1TARGET) -DEF1EXPORTFILE=exports.dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk - -# ------------------------------------------------------------------------- - diff --git a/setup_native/source/win32/customactions/reg4allmsdoc/reg4allmsi.cxx b/setup_native/source/win32/customactions/reg4allmsdoc/reg4allmsi.cxx deleted file mode 100644 index eac8217dd..000000000 --- a/setup_native/source/win32/customactions/reg4allmsdoc/reg4allmsi.cxx +++ /dev/null @@ -1,669 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <string> -#include <strsafe.h> - -//---------------------------------------------------------- -static const CHAR* g_Extensions[] = -{ - ".doc", // Microsoft Word Text [0] - ".dot", // Microsoft Word Template - ".rtf", // rtf text - ".docx", // Office Word 2007 XML document - ".docm", // Office Word 2007 XML macro-enabled document - ".dotx", // Office Word 2007 XML template - ".dotm", // Office Word 2007 XML macro-enabled template - ".xlw", // Microsoft Excel - ".xls", // Microsoft Excel - ".xlt", // Microsoft Excel Template - ".xlsx", // Office Excel 2007 XML workbook - ".xlsm", // Office Excel 2007 XML macro-enabled workbook - ".xltx", // Office Excel 2007 XML template - ".xltm", // Office Excel 2007 XML macro-enabled template - ".xlsb", // Office Excel 2007 binary workbook (BIFF12) - ".ppt", // Microsoft Powerpoint - ".pps", // Microsoft Powerpoint - ".pot", // Microsoft Powerpoint Template - ".pptx", // Office PowerPoint 2007 XML presentation - ".pptm", // Office PowerPoint 2007 macro-enabled XML presentation - ".potx", // Office PowerPoint 2007 XML template - ".potm", // Office PowerPoint 2007 macro-enabled XML template - ".ppsx", // Office PowerPoint 2007 XML show - 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 - -//---------------------------------------------------------- -#ifdef DEBUG -inline void OutputDebugStringFormat( LPCSTR pFormat, ... ) -{ - CHAR buffer[1024]; - va_list args; - - va_start( args, pFormat ); - StringCchVPrintfA( buffer, sizeof(buffer), pFormat, args ); - OutputDebugStringA( buffer ); -} -#else -static inline void OutputDebugStringFormat( LPCSTR, ... ) -{ -} -#endif - -//---------------------------------------------------------- -static BOOL CheckExtensionInRegistry( LPCSTR lpSubKey ) -{ - BOOL bRet = false; - HKEY hKey = NULL; - LONG lResult = RegOpenKeyExA( HKEY_CLASSES_ROOT, lpSubKey, 0, KEY_QUERY_VALUE, &hKey ); - - if ( ERROR_SUCCESS == lResult ) - { - CHAR szBuffer[1024]; - DWORD nSize = sizeof( szBuffer ); - - lResult = RegQueryValueExA( hKey, "", NULL, NULL, (LPBYTE)szBuffer, &nSize ); - if ( ERROR_SUCCESS == lResult ) - { - szBuffer[nSize] = '\0'; - OutputDebugStringFormat( "Found value [%s] for key [%s].\n", szBuffer, lpSubKey ); - - if ( strncmp( szBuffer, "WordPad.Document.1", 18 ) == 0 ) - { // We will replace registration for word pad - bRet = true; - } - else if ( strncmp( szBuffer, "OpenOffice.org.", 15 ) == 0 ) - { // We will replace registration for our own types, too - bRet = true; - } - else if ( strncmp( szBuffer, "ooostub.", 8 ) == 0 ) - { // We will replace registration for ooostub, too - bRet = true; - } - else - { - OutputDebugStringFormat( " Checking OpenWithList of [%s].\n", lpSubKey ); - HKEY hSubKey; - lResult = RegOpenKeyExA( hKey, "OpenWithList", 0, KEY_ENUMERATE_SUB_KEYS, &hSubKey ); - if ( ERROR_SUCCESS == lResult ) - { - DWORD nIndex = 0; - while ( ERROR_SUCCESS == lResult ) - { - nSize = sizeof( szBuffer ); - lResult = RegEnumKeyExA( hSubKey, nIndex++, szBuffer, &nSize, NULL, NULL, NULL, NULL ); - if ( ERROR_SUCCESS == lResult ) - { - OutputDebugStringFormat( " Found value [%s] in OpenWithList of [%s].\n", szBuffer, lpSubKey ); - if ( strncmp( szBuffer, "WordPad.exe", 11 ) == 0 ) - { // We will replace registration for word pad - bRet = true; - } - else if ( nSize > 0 ) - bRet = false; - } - } - } - else - { - OutputDebugStringFormat( " No OpenWithList found!\n" ); - } - } - } - else // no default value found -> return TRUE to register for that key - bRet = true; - - RegCloseKey( hKey ); - } - else // no key found -> return TRUE to register for that key - bRet = true; - - return bRet; -} - -//---------------------------------------------------------- -static LONG DeleteSubKeyTree( HKEY RootKey, LPCSTR lpKey ) -{ - HKEY hKey; - LONG rc = RegOpenKeyExA( RootKey, lpKey, 0, KEY_READ | DELETE, &hKey ); - - if (ERROR_SUCCESS == rc) - { - LPCSTR lpSubKey; - DWORD nMaxSubKeyLen; - - rc = RegQueryInfoKeyA( hKey, 0, 0, 0, 0, &nMaxSubKeyLen, 0, 0, 0, 0, 0, 0 ); - nMaxSubKeyLen++; // space for trailing '\0' - lpSubKey = reinterpret_cast<CHAR*>( _alloca( nMaxSubKeyLen*sizeof(CHAR) ) ); - - while (ERROR_SUCCESS == rc) - { - DWORD nLen = nMaxSubKeyLen; - rc = RegEnumKeyExA( hKey, 0, (LPSTR)lpSubKey, &nLen, 0, 0, 0, 0); // always index zero - - if ( ERROR_NO_MORE_ITEMS == rc ) - { - rc = RegDeleteKeyA( RootKey, lpKey ); - if ( rc == ERROR_SUCCESS ) - OutputDebugStringFormat( "deleted key [%s] from registry.\n", lpKey ); - else - OutputDebugStringFormat( "RegDeleteKeyA %s returned %ld.\n", lpKey, rc ); - break; - } - else if ( rc == ERROR_SUCCESS ) - { - rc = DeleteSubKeyTree( hKey, lpSubKey ); - if ( ERROR_SUCCESS != rc ) - OutputDebugStringFormat( "RegDeleteKeyA %s returned %ld.\n", lpSubKey, rc ); - } - - } - RegCloseKey(hKey); - } - else - { - OutputDebugStringFormat( "RegOpenKeyExA %s returned %ld.\n", lpKey, rc ); - } - - return rc; -} - -// Unused -#if 0 - -//---------------------------------------------------------- -static BOOL RemoveExtensionInRegistry( LPCSTR lpSubKey ) -{ - CHAR szBuffer[4096]; - DWORD nSize = sizeof( szBuffer ); - HKEY hKey = NULL; - HKEY hSubKey = NULL; - LONG lResult = RegOpenKeyExA( HKEY_LOCAL_MACHINE, "SOFTWARE\\Classes", 0, KEY_QUERY_VALUE, &hKey ); - - if ( ERROR_SUCCESS == lResult ) - { - lResult = RegOpenKeyExA( hKey, lpSubKey, 0, KEY_QUERY_VALUE, &hSubKey ); - - if ( ERROR_SUCCESS == lResult ) - { - DWORD nSubKeys = 1; - szBuffer[0] = '\0'; - - // we get the value of the default key fist and while we are on querying, - // we ask for the subkey count, too - lResult = RegQueryValueExA( hSubKey, "", NULL, NULL, (LPBYTE)szBuffer, &nSize ); - if ( ERROR_SUCCESS == lResult ) - RegQueryInfoKeyA( hSubKey, 0, 0, 0, &nSubKeys, 0, 0, 0, 0, 0, 0, 0 ); - RegCloseKey( hSubKey ); - - // we will remove all key with an default value starting with ooostub but - // we have to be careful about MSO keys - if ( strncmp( szBuffer, "opendocument.", 13 ) == 0 ) - { - if ( nSubKeys == 0 ) - { - DeleteSubKeyTree( hKey, lpSubKey ); - } - else - { - lResult = RegOpenKeyExA( hKey, lpSubKey, 0, KEY_SET_VALUE, &hSubKey ); - if ( ERROR_SUCCESS == lResult ) - RegDeleteValueA( hSubKey, "" ); - else - OutputDebugStringFormat( "Could not open key %s for deleting: RegOpenKeyEx returned %ld.\n", lpSubKey, lResult ); - } - } - } - - RegCloseKey( hKey ); - } - - return ( ERROR_SUCCESS == lResult ); -} - -#endif - -//---------------------------------------------------------- -bool GetMsiProp( MSIHANDLE handle, LPCSTR name, /*out*/std::string& value ) -{ - DWORD sz = 0; - LPSTR dummy = ""; - if (MsiGetPropertyA(handle, name, dummy, &sz) == ERROR_MORE_DATA) - { - sz++; - DWORD nbytes = sz * sizeof(TCHAR); - LPSTR buff = reinterpret_cast<LPSTR>(_alloca(nbytes)); - ZeroMemory(buff, nbytes); - MsiGetPropertyA(handle, name, buff, &sz); - value = buff; - return true; - } - return false; -} - -//---------------------------------------------------------- -bool IsSetMsiProp( MSIHANDLE handle, LPCSTR name ) -{ - std::string val; - GetMsiProp( handle, name, val ); - return (val == "1"); -} - -//---------------------------------------------------------- -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 saveOldRegistration( LPCSTR lpSubKey ) -{ - BOOL bRet = false; - HKEY hKey = NULL; - LONG lResult = RegOpenKeyExA( HKEY_CLASSES_ROOT, lpSubKey, 0, - KEY_QUERY_VALUE|KEY_SET_VALUE, &hKey ); - - if ( ERROR_SUCCESS == lResult ) - { - CHAR szBuffer[1024]; - DWORD nSize = sizeof( szBuffer ); - - lResult = RegQueryValueExA( hKey, "", NULL, NULL, (LPBYTE)szBuffer, &nSize ); - if ( ERROR_SUCCESS == lResult ) - { - szBuffer[nSize] = '\0'; - - // No need to save assocations for our own types - if ( strncmp( szBuffer, "OpenOffice.org.", 15 ) != 0 ) - { - // Save the old association - RegSetValueExA( hKey, "OOoBackupAssociation", 0, - REG_SZ, (LPBYTE)szBuffer, nSize ); - // Also save what the old association means, just so we can try to verify - // if/when restoring it that the old application still exists - HKEY hKey2 = NULL; - lResult = RegOpenKeyExA( HKEY_CLASSES_ROOT, szBuffer, 0, - KEY_QUERY_VALUE, &hKey2 ); - if ( ERROR_SUCCESS == lResult ) - { - nSize = sizeof( szBuffer ); - lResult = RegQueryValueExA( hKey2, "", NULL, NULL, (LPBYTE)szBuffer, &nSize ); - if ( ERROR_SUCCESS == lResult ) - { - RegSetValueExA( hKey, "OOoBackupAssociationDeref", 0, - REG_SZ, (LPBYTE)szBuffer, nSize ); - } - RegCloseKey( hKey2 ); - } - } - } - RegCloseKey( hKey ); - } -} - -//---------------------------------------------------------- -static void registerForExtensions( MSIHANDLE handle, BOOL bRegisterAll ) -{ // Check all file extensions - int nIndex = 0; - while ( g_Extensions[nIndex] != 0 ) - { - saveOldRegistration( g_Extensions[nIndex] ); - - BOOL bRegister = bRegisterAll || CheckExtensionInRegistry( g_Extensions[nIndex] ); - if ( bRegister ) - 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", ¤t_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", ¤t_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", ¤t_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; -} - -//---------------------------------------------------------- -// -// This is the (slightly misleadinly named) entry point for the -// custom action called Regallmsdocdll. -// -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" ) ) - { - OutputDebugStringFormat( "FindRegisteredExtensions: Register none!" ); - return ERROR_SUCCESS; - } - else if ( bRegisterAll ) - OutputDebugStringFormat( "FindRegisteredExtensions: Force all on" ); - 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; -} - -#if 0 - -//---------------------------------------------------------- -// -// This entry is not called for any custom action. -// -extern "C" UINT __stdcall DeleteRegisteredExtensions( MSIHANDLE /*handle*/ ) -{ - OutputDebugStringFormat( "DeleteRegisteredExtensions\n" ); - - // remove all file extensions - int nIndex = 0; - while ( g_Extensions[nIndex] != 0 ) - { - RemoveExtensionInRegistry( g_Extensions[nIndex] ); - ++nIndex; - } - - return ERROR_SUCCESS; -} - -#endif - -//---------------------------------------------------------- -static void restoreOldRegistration( LPCSTR lpSubKey ) -{ - BOOL bRet = false; - HKEY hKey = NULL; - LONG lResult = RegOpenKeyExA( HKEY_CLASSES_ROOT, lpSubKey, 0, - KEY_QUERY_VALUE|KEY_SET_VALUE, &hKey ); - - if ( ERROR_SUCCESS == lResult ) - { - CHAR szBuffer[1024]; - DWORD nSize = sizeof( szBuffer ); - - lResult = RegQueryValueExA( hKey, "OOoBackupAssociation", NULL, NULL, - (LPBYTE)szBuffer, &nSize ); - if ( ERROR_SUCCESS == lResult ) - { - HKEY hKey2 = NULL; - lResult = RegOpenKeyExA( HKEY_CLASSES_ROOT, szBuffer, 0, - KEY_QUERY_VALUE, &hKey2 ); - if ( ERROR_SUCCESS == lResult ) - { - CHAR szBuffer2[1024]; - DWORD nSize2 = sizeof( szBuffer2 ); - - lResult = RegQueryValueExA( hKey2, "", NULL, NULL, (LPBYTE)szBuffer2, &nSize2 ); - if ( ERROR_SUCCESS == lResult ) - { - CHAR szBuffer3[1024]; - DWORD nSize3 = sizeof( szBuffer3 ); - - // Try to verify that the old association is OK to restore - lResult = RegQueryValueExA( hKey, "OOoBackupAssociationDeref", NULL, NULL, - (LPBYTE)szBuffer3, &nSize3 ); - if ( ERROR_SUCCESS == lResult ) - { - if ( nSize2 == nSize3 && strcmp (szBuffer2, szBuffer3) == 0) - { - // Yep. So restore it - RegSetValueExA( hKey, "", 0, REG_SZ, (LPBYTE)szBuffer, nSize ); - } - } - } - RegCloseKey( hKey2 ); - } - RegDeleteValueA( hKey, "OOoBackupAssociation" ); - } - RegDeleteValueA( hKey, "OOoBackupAssociationDeref" ); - RegCloseKey( hKey ); - } -} - -//---------------------------------------------------------- -// -// This function is not in OO.o. We call this from the -// Restoreregallmsdocdll custom action. -// -extern "C" UINT __stdcall RestoreRegAllMSDoc( MSIHANDLE /*handle*/ ) -{ - OutputDebugStringFormat( "RestoreRegAllMSDoc\n" ); - - int nIndex = 0; - while ( g_Extensions[nIndex] != 0 ) - { - restoreOldRegistration( g_Extensions[nIndex] ); - ++nIndex; - } - - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/constants.hxx b/setup_native/source/win32/customactions/reg4msdoc/constants.hxx deleted file mode 100644 index 4caab9211..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/constants.hxx +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - #ifndef _CONSTANTS_HXX_ - #define _CONSTANTS_HXX_ - -extern const int MSWORD; -extern const int MSEXCEL; -extern const int MSPOWERPOINT; -extern const int DEFAULT_HTML_EDITOR_FOR_IE; -extern const int HTML_EDITOR; -extern const int DEFAULT_SHELL_HTML_EDITOR; - - #endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/exports.dxp b/setup_native/source/win32/customactions/reg4msdoc/exports.dxp deleted file mode 100644 index 0f3d16886..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/exports.dxp +++ /dev/null @@ -1,3 +0,0 @@ -InstallUiSequenceEntry -InstallExecSequenceEntry -DeinstallExecSequenceEntry diff --git a/setup_native/source/win32/customactions/reg4msdoc/makefile.mk b/setup_native/source/win32/customactions/reg4msdoc/makefile.mk deleted file mode 100644 index 47239713e..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/makefile.mk +++ /dev/null @@ -1,89 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=reg4msdocmsi - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=TRUE -NO_DEFAULT_STL=TRUE -DYNAMIC_CRT= -USE_DEFFILE=TRUE -MINGW_NODLL=YES - -.INCLUDE : settings.mk - -CFLAGS+=-DUNICODE -D_UNICODE - -# --- Files -------------------------------------------------------- - -.IF "$(GUI)"=="WNT" - -UWINAPILIB= - -SLOFILES = $(SLO)$/msihelper.obj\ - $(SLO)$/windowsregistry.obj\ - $(SLO)$/userregistrar.obj\ - $(SLO)$/stringconverter.obj\ - $(SLO)$/registrywnt.obj\ - $(SLO)$/registryw9x.obj\ - $(SLO)$/registryvalueimpl.obj\ - $(SLO)$/registryexception.obj\ - $(SLO)$/registry.obj\ - $(SLO)$/registrationcontextinformation.obj\ - $(SLO)$/registrar.obj\ - $(SLO)$/register.obj\ - $(SLO)$/reg4msdocmsi.obj - -SHL1STDLIBS= $(KERNEL32LIB)\ - $(USER32LIB)\ - $(ADVAPI32LIB)\ - $(SHELL32LIB)\ - $(MSILIB)\ - $(SHLWAPILIB) - -SHL1LIBS = $(SLB)$/$(TARGET).lib - -SHL1TARGET = $(TARGET) -SHL1IMPLIB = i$(TARGET) - -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1DEPN = $(SLB)$/$(TARGET).lib -SHL1BASE = 0x1c000000 -DEF1NAME=$(SHL1TARGET) -DEF1EXPORTFILE=exports.dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk - -# ------------------------------------------------------------------------- - diff --git a/setup_native/source/win32/customactions/reg4msdoc/msihelper.cxx b/setup_native/source/win32/customactions/reg4msdoc/msihelper.cxx deleted file mode 100644 index f1f2f5982..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/msihelper.cxx +++ /dev/null @@ -1,105 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#include "msihelper.hxx" - -#include <malloc.h> -#include <assert.h> - -bool GetMsiProp(MSIHANDLE handle, LPCTSTR name, /*out*/std::wstring& value) -{ - DWORD sz = 0; - LPTSTR dummy = TEXT(""); - if (MsiGetProperty(handle, name, dummy, &sz) == ERROR_MORE_DATA) - { - sz++; - DWORD nbytes = sz * sizeof(TCHAR); - LPTSTR buff = reinterpret_cast<LPTSTR>(_alloca(nbytes)); - ZeroMemory(buff, nbytes); - MsiGetProperty(handle, name, buff, &sz); - value = buff; - return true; - } - return false; -} - -void SetMsiProp(MSIHANDLE handle, LPCTSTR name) -{ - MsiSetProperty(handle, name, TEXT("1")); -} - -void UnsetMsiProp(MSIHANDLE handle, LPCTSTR name) -{ - MsiSetProperty(handle, name, TEXT("")); -} - -bool IsSetMsiProp(MSIHANDLE handle, LPCTSTR name) -{ - std::wstring val; - GetMsiProp(handle, name, val); - return (val == TEXT("1")); -} - -bool IsMsiPropNotEmpty(MSIHANDLE handle, LPCTSTR name) -{ - std::wstring val; - GetMsiProp(handle, name, val); - return (val != TEXT("")); -} - -bool IsAllUserInstallation(MSIHANDLE handle) -{ - return IsSetMsiProp(handle, TEXT("ALLUSERS")); -} - -std::wstring GetOfficeInstallationPath(MSIHANDLE handle) -{ - std::wstring progpath; - GetMsiProp(handle, TEXT("INSTALLLOCATION"), progpath); - return progpath; -} - -std::wstring GetOfficeExecutablePath(MSIHANDLE handle) -{ - std::wstring exepath = GetOfficeInstallationPath(handle); - exepath += TEXT("program\\soffice.exe"); - return exepath; -} - -std::wstring GetProductName(MSIHANDLE handle) -{ - std::wstring prodname; - GetMsiProp(handle, TEXT("ProductName"), prodname); - return prodname; -} - -bool IsModuleInstalled(MSIHANDLE handle, LPCTSTR name) -{ - INSTALLSTATE current_state; - INSTALLSTATE future_state; - MsiGetFeatureState(handle, name, ¤t_state, &future_state); - return (current_state == INSTALLSTATE_LOCAL); -} - -bool IsModuleSelectedForInstallation(MSIHANDLE handle, LPCTSTR name) -{ - INSTALLSTATE current_state; - INSTALLSTATE future_state; - MsiGetFeatureState(handle, name, ¤t_state, &future_state); - return (future_state == INSTALLSTATE_LOCAL); -} - -bool IsModuleSelectedForDeinstallation(MSIHANDLE handle, LPCTSTR name) -{ - INSTALLSTATE current_state; - INSTALLSTATE future_state; - MsiGetFeatureState(handle, name, ¤t_state, &future_state); - return ((current_state == INSTALLSTATE_LOCAL) && (future_state == INSTALLSTATE_ABSENT)); -} - -bool IsCompleteDeinstallation(MSIHANDLE handle) -{ - std::wstring rm; - GetMsiProp(handle, TEXT("REMOVE"), rm); - return (rm == TEXT("ALL")); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/msihelper.hxx b/setup_native/source/win32/customactions/reg4msdoc/msihelper.hxx deleted file mode 100644 index 2ff1a880f..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/msihelper.hxx +++ /dev/null @@ -1,187 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#ifndef INCLUDED_MSIHELPER_HXX -#define INCLUDED_MSIHELPER_HXX - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <string> - -/** - Get the value of the named property - - @param handle - [in] a valid msi handle. - - @param name - [in] the name of the property. - - @param value - [out] receives thes value of the property. - - @returns - <TRUE/>if the property was found. -*/ -bool GetMsiProp(MSIHANDLE handle, LPCTSTR name, /*out*/std::wstring& value); - -/** - Set the value of a binary property which can only - have the values "0" or "1" to "1". - - @param handle - [in] a valid msi handle. - - @param name - [in] the name of the property. -*/ -void SetMsiProp(MSIHANDLE handle, LPCTSTR name); - -/** - Set the value of a binary property which can only - have the values "0" or "1" to "0". - - @param handle - [in] a valid msi handle. - - @param name - [in] the name of the property. -*/ -void UnsetMsiProp(MSIHANDLE handle, LPCTSTR name); - -/** - Returns whether a certain property is set meaning - its value is "1". This method should be used for - binary properties whose value can be "0" or "1". - - @returns - <TRUE/>if the value of the specified property is - "1" else if the property is not defined or its - value is other than "1" <FALSE/> will be returned. -*/ -bool IsSetMsiProp(MSIHANDLE handle, LPCTSTR name); - -/** - Returns whether a certain property is set meaning - its value is not empty. This method should be used for - properties, that can have different values. - - @returns - <TRUE/>if the value of the specified property is - not empty. If it is empty <FALSE/> will be returned. -*/ -bool IsMsiPropNotEmpty(MSIHANDLE handle, LPCTSTR name); - -/** - Query if this is an installation for all user or not. - - @param handle - [in] a valid msi handle. - - @returns - <TRUE/>if this is an all user installation -*/ -bool IsAllUserInstallation(MSIHANDLE handle); - -/** - Returns the destination folder of the office installation - as system path. The returned path contains a final '\'. - - @param handle - [in] a valid msi handle. - - @returns - the destination path of the office installation finalized - with a '\'. -*/ -std::wstring GetOfficeInstallationPath(MSIHANDLE handle); - -/** - Returns the absolute path of the office executable that - will be installed as system path. - - @param handle - [in] a valid msi handle. - - @returns - the absolute system path of the office executable (e.g. - (C:\Program Files\StarOffice 8\program\soffice.exe"). -*/ -std::wstring GetOfficeExecutablePath(MSIHANDLE handle); - -/** - Get the name of the office that will be installed - (e.g. StarOffice 8, StarSuite 8, ...). - - @param handle - [in] a valid msi handle. - - @returns - the name of the office product that will be installed. -*/ -std::wstring GetProductName(MSIHANDLE handle); - -/** - Determine if the specified module is installed locally. - - @param handle - [in] a valid msi handle. - - @param name - [in] the name of the module. - - @returns - <TRUE/>if the specified module is installed locally. -*/ -bool IsModuleInstalled(MSIHANDLE handle, LPCTSTR name); - -/** - Determine if the specified module is selected to be installed - locally. - - @param handle - [in] a valid msi handle. - - @param name - [in] the name of the module. - - @returns - <TRUE/>if the specified module is about to be installed locally. -*/ -bool IsModuleSelectedForInstallation(MSIHANDLE handle, LPCTSTR name); - -/** - Determine if the specified module which is locally installed is - selected for deinstallation. - - @param handle - [in] a valid msi handle. - - @param name - [in] the name of the module. - - @returns - <TRUE/>if the specified module is about to be deinstalled. -*/ -bool IsModuleSelectedForDeinstallation(MSIHANDLE handle, LPCTSTR name); - -/** - Determine whether this is a complete uninstallation or not. - - @param handle - [in] a valid msi handle. - - @returns - <TRUE/>if this is a complete deinstallation. -*/ -bool IsCompleteDeinstallation(MSIHANDLE handle); - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/reg4msdocmsi.cxx b/setup_native/source/win32/customactions/reg4msdoc/reg4msdocmsi.cxx deleted file mode 100644 index 538f45339..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/reg4msdocmsi.cxx +++ /dev/null @@ -1,190 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <tchar.h> -#include "register.hxx" -#include "msihelper.hxx" - -#include <memory> -#include <string> - -void DetermineWordPreselectionState(MSIHANDLE handle) -{ - if (query_preselect_registration_for_ms_application(handle, MSWORD)) - SetMsiProp(handle, TEXT("SELECT_WORD")); -} - -void DetermineExcelPreselectionState(MSIHANDLE handle) -{ - if (query_preselect_registration_for_ms_application(handle, MSEXCEL)) - SetMsiProp(handle, TEXT("SELECT_EXCEL")); -} - -void DeterminePowerPointPreselectionState(MSIHANDLE handle) -{ - if (query_preselect_registration_for_ms_application(handle, MSPOWERPOINT)) - SetMsiProp(handle, TEXT("SELECT_POWERPOINT")); -} - -extern "C" UINT __stdcall InstallUiSequenceEntry(MSIHANDLE handle) -{ - //MessageBox(NULL, TEXT("InstallUiSequenceEntry"), TEXT("Information"), MB_OK | MB_ICONINFORMATION); - - if (IsModuleSelectedForInstallation(handle, TEXT("gm_p_Wrt_Bin"))) - { - DetermineWordPreselectionState(handle); - } - else if (IsModuleInstalled(handle, TEXT("gm_p_Wrt_Bin")) && - !IsModuleSelectedForDeinstallation(handle, TEXT("gm_p_Wrt_Bin")) && - IsRegisteredFor(handle, MSWORD)) - { - SetMsiProp(handle, TEXT("SELECT_WORD")); - } - else - { - UnsetMsiProp(handle, TEXT("SELECT_WORD")); - } - - if (IsModuleSelectedForInstallation(handle, TEXT("gm_p_Calc_Bin"))) - { - DetermineExcelPreselectionState(handle); - } - else if (IsModuleInstalled(handle, TEXT("gm_p_Calc_Bin")) && - !IsModuleSelectedForDeinstallation(handle, TEXT("gm_p_Calc_Bin")) && - IsRegisteredFor(handle, MSEXCEL)) - { - SetMsiProp(handle, TEXT("SELECT_EXCEL")); - } - else - { - UnsetMsiProp(handle, TEXT("SELECT_EXCEL")); - } - - if (IsModuleSelectedForInstallation(handle, TEXT("gm_p_Impress_Bin"))) - { - DeterminePowerPointPreselectionState(handle); - } - else if (IsModuleInstalled(handle, TEXT("gm_p_Impress_Bin")) && - !IsModuleSelectedForDeinstallation(handle, TEXT("gm_p_Impress_Bin")) && - IsRegisteredFor(handle, MSPOWERPOINT)) - { - SetMsiProp(handle, TEXT("SELECT_POWERPOINT")); - } - else - { - UnsetMsiProp(handle, TEXT("SELECT_POWERPOINT")); - } - - SetMsiProp(handle, TEXT("UI_SEQUENCE_EXECUTED")); - - return ERROR_SUCCESS; -} - -extern "C" UINT __stdcall InstallExecSequenceEntry(MSIHANDLE handle) -{ - //MessageBox(NULL, TEXT("InstallExecSequenceEntry"), TEXT("Information"), MB_OK | MB_ICONINFORMATION); - - // Do nothing in repair mode. - // Then UI_SEQUENCE_EXECUTED is not set and Installed is set! - // In silent installation UI_SEQUENCE_EXECUTED is also not set, but Installed is not set. - if ((!IsSetMsiProp(handle, TEXT("UI_SEQUENCE_EXECUTED"))) && (IsMsiPropNotEmpty(handle, TEXT("Installed")))) { return ERROR_SUCCESS; } - - int reg4 = 0; - int unreg4 = 0; - - // we always register as html editor for Internet Explorer - // if writer is installed because there's no harm if we do so - if (IsModuleSelectedForInstallation(handle, TEXT("gm_p_Wrt_Bin"))) - reg4 |= HTML_EDITOR; - - if (IsSetMsiProp(handle, TEXT("SELECT_WORD")) && !IsRegisteredFor(handle, MSWORD)) - reg4 |= MSWORD; - else if (!IsSetMsiProp(handle, TEXT("SELECT_WORD")) && IsRegisteredFor(handle, MSWORD)) - unreg4 |= MSWORD; - - if (IsSetMsiProp(handle, TEXT("SELECT_EXCEL")) && !IsRegisteredFor(handle, MSEXCEL)) - reg4 |= MSEXCEL; - else if (!IsSetMsiProp(handle, TEXT("SELECT_EXCEL")) && IsRegisteredFor(handle, MSEXCEL)) - unreg4 |= MSEXCEL; - - if (IsSetMsiProp(handle, TEXT("SELECT_POWERPOINT")) && !IsRegisteredFor(handle, MSPOWERPOINT)) - reg4 |= MSPOWERPOINT; - else if (!IsSetMsiProp(handle, TEXT("SELECT_POWERPOINT")) && IsRegisteredFor(handle, MSPOWERPOINT)) - unreg4 |= MSPOWERPOINT; - - if (reg4) - { - Register4MsDoc(handle, reg4); - } - - if (unreg4) - { - Unregister4MsDoc(handle, unreg4); - } - return ERROR_SUCCESS; -} - -extern "C" UINT __stdcall DeinstallExecSequenceEntry(MSIHANDLE handle) -{ - //MessageBox(NULL, TEXT("DeinstallExecSequenceEntry"), TEXT("Information"), MB_OK | MB_ICONINFORMATION); - - if (IsCompleteDeinstallation(handle)) - { - Unregister4MsDocAll(handle); - return ERROR_SUCCESS; - } - - if (IsModuleSelectedForDeinstallation(handle, TEXT("gm_p_Wrt_Bin"))) - { - Unregister4MsDoc(handle, MSWORD | HTML_EDITOR); - } - - if (IsModuleSelectedForDeinstallation(handle, TEXT("gm_p_Calc_Bin"))) - { - Unregister4MsDoc(handle, MSEXCEL); - } - - if (IsModuleSelectedForDeinstallation(handle, TEXT("gm_p_Impress_Bin"))) - { - Unregister4MsDoc(handle, MSPOWERPOINT); - } - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/register.cxx b/setup_native/source/win32/customactions/reg4msdoc/register.cxx deleted file mode 100644 index 21d6d7e8f..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/register.cxx +++ /dev/null @@ -1,342 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "register.hxx" -#include "registryexception.hxx" -#include "registrationcontextinformation.hxx" -#include "userregistrar.hxx" -#include "windowsregistry.hxx" -#include "stringconverter.hxx" -#include "msihelper.hxx" - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#pragma warning(disable: 4917) -#endif -#include <shlobj.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - - -#include <assert.h> -#ifdef _MSC_VER -#pragma warning(disable: 4350) -#endif - -typedef std::auto_ptr<Registrar> RegistrarPtr; - -namespace /* private */ -{ - RegistrarPtr CreateRegistrar(bool InstallForAllUser, const RegistrationContextInformation& RegCtx) - { - RegistrarPtr RegPtr; - - if (InstallForAllUser) - RegPtr = RegistrarPtr(new Registrar(RegCtx)); - else - RegPtr = RegistrarPtr(new UserRegistrar(RegCtx)); - - return RegPtr; - } -} // namespace private - -bool query_preselect_registration_for_ms_application(MSIHANDLE handle, int Register) -{ - bool preselect = false; - - try - { - RegistrationContextInformation RegContext(handle, GetOfficeExecutablePath(handle)); - RegistrarPtr CurrentRegistrar = CreateRegistrar(IsAllUserInstallation(handle), RegContext); - - if (Register & MSWORD) - preselect = CurrentRegistrar->QueryPreselectMsWordRegistration(); - else if (Register & MSEXCEL) - preselect = CurrentRegistrar->QueryPreselectMsExcelRegistration(); - else if (Register & MSPOWERPOINT) - preselect = CurrentRegistrar->QueryPreselectMsPowerPointRegistration(); - } - catch(RegistryException&) - { - assert(false); - } - return preselect; -} - -//----------------------------------------- -// registers StarOffice for MS document -// types and as default HTML editor if -// specified -//----------------------------------------- - -void Register4MsDoc(MSIHANDLE handle, int Register) -{ - try - { - RegistrationContextInformation RegContext(handle, GetOfficeExecutablePath(handle)); - RegistrarPtr CurrentRegistrar = CreateRegistrar(IsAllUserInstallation(handle), RegContext); - - if ((Register & MSWORD)) - CurrentRegistrar->RegisterForMsWord(); - - if ((Register & MSEXCEL)) - CurrentRegistrar->RegisterForMsExcel(); - - if ((Register & MSPOWERPOINT)) - CurrentRegistrar->RegisterForMsPowerPoint(); - - if ((Register & HTML_EDITOR)) - CurrentRegistrar->RegisterAsHtmlEditorForInternetExplorer(); - - if ((Register & DEFAULT_SHELL_HTML_EDITOR)) - { - CurrentRegistrar->RegisterAsDefaultHtmlEditorForInternetExplorer(); - CurrentRegistrar->RegisterAsDefaultShellHtmlEditor(); - } - } - catch(RegistryException&) - { - assert(false); - } - - if (Register) - SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0); -} - -void Unregister4MsDoc(MSIHANDLE handle, int Unregister) -{ - try - { - RegistrationContextInformation RegContext(handle, GetOfficeExecutablePath(handle)); - RegistrarPtr CurrentRegistrar = CreateRegistrar(IsAllUserInstallation(handle), RegContext); - - if ((Unregister & MSWORD) && CurrentRegistrar->IsRegisteredFor(MSWORD)) - CurrentRegistrar->UnregisterForMsWord(); - - if ((Unregister & HTML_EDITOR) && CurrentRegistrar->IsRegisteredFor(HTML_EDITOR)) - CurrentRegistrar->UnregisterAsHtmlEditorForInternetExplorer(); - - if ((Unregister & MSEXCEL) && CurrentRegistrar->IsRegisteredFor(MSEXCEL)) - CurrentRegistrar->UnregisterForMsExcel(); - - if ((Unregister & MSPOWERPOINT) && CurrentRegistrar->IsRegisteredFor(MSPOWERPOINT)) - CurrentRegistrar->UnregisterForMsPowerPoint(); - - if ((Unregister & DEFAULT_HTML_EDITOR_FOR_IE) && CurrentRegistrar->IsRegisteredFor(DEFAULT_HTML_EDITOR_FOR_IE)) - CurrentRegistrar->UnregisterAsDefaultHtmlEditorForInternetExplorer(); - - if ((Unregister & DEFAULT_SHELL_HTML_EDITOR) && CurrentRegistrar->IsRegisteredFor(DEFAULT_SHELL_HTML_EDITOR)) - CurrentRegistrar->UnregisterAsDefaultShellHtmlEditor(); - } - catch(RegistryException&) - { - assert(false); - } - - if (Unregister) - SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0); -} - -//----------------------------------------- -// restores the entries for the selected -// registry entries -// Algorithm: -// -// 1. -// Target key exist (e.g. '.doc') -// Default value == soffice.? -// Backup key != empty -// Action: Replace Default value with backup -// key -// -// 2. -// Target key exist -// Default value == soffice.? -// Backup key == empty -// Action: delete default value -// -// 3. -// Target key exist -// Default value != soffice.? -// Action: nop -// -// 4. -// Target key does not exist -// Action: nop -//----------------------------------------- - -void Unregister4MsDocAll(MSIHANDLE handle) -{ - try - { - RegistrationContextInformation RegContext(handle, GetOfficeExecutablePath(handle)); - RegistrarPtr CurrentRegistrar = CreateRegistrar(IsAllUserInstallation(handle), RegContext); - - CurrentRegistrar->UnregisterAllAndCleanUpRegistry(); - } - catch(RegistryException&) - { - assert(false); - } -} - -//----------------------------------------- -// restores lost settings formerly made -// with Register4MsDoc -//----------------------------------------- - -void RepairRegister4MsDocSettings(MSIHANDLE handle) -{ - try - { - RegistrationContextInformation RegContext(handle, GetOfficeExecutablePath(handle)); - RegistrarPtr CurrentRegistrar = CreateRegistrar(IsAllUserInstallation(handle), RegContext); - - CurrentRegistrar->RepairRegistrationState(); - } - catch(RegistryException&) - { - assert(false); - } -} - -bool IsRegisteredFor(MSIHANDLE handle, int State) -{ - bool Registered = false; - - try - { - RegistrationContextInformation RegContext(handle, GetOfficeExecutablePath(handle)); - RegistrarPtr CurrentRegistrar = CreateRegistrar(IsAllUserInstallation(handle), RegContext); - - Registered = CurrentRegistrar->IsRegisteredFor(State); - } - catch(RegistryException&) - { - assert(false); - } - return Registered; -} - -#define SO60_UNINSTALL_KEY L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\StarOffice 6.0" -#define SO_BACKUP_KEY L"soffice6.bak" -#define REGMSDOCSTATE L"Reg4MsDocState" -#define SOFTWARE_CLASSES L"Software\\Classes" - -int FixReturnRegistrationState(MSIHANDLE handle) -{ - int registration_state = 0; - - try - { - WindowsRegistry registry; - - RegistryValue rv_regmsdocstate = RegistryValue( - new RegistryValueImpl(REGMSDOCSTATE, 0)); - - RegistryKey so_bak_key; - - if (IsAllUserInstallation(handle)) - { - RegistryKey hkcr_key = registry.GetClassesRootKey(); - - if (hkcr_key->HasSubKey(SO_BACKUP_KEY)) - so_bak_key = hkcr_key->OpenSubKey(SO_BACKUP_KEY); - else - so_bak_key = hkcr_key->CreateSubKey(SO_BACKUP_KEY); - - if (!so_bak_key->HasValue(REGMSDOCSTATE)) - { - // set a defined value - so_bak_key->SetValue(rv_regmsdocstate); - - RegistryKey hklm_key = registry.GetLocalMachineKey(); - - if (hklm_key->HasSubKey(SO60_UNINSTALL_KEY)) - { - RegistryKey so_uninst_key = - hklm_key->OpenSubKey(SO60_UNINSTALL_KEY); - - if (so_uninst_key->HasValue(REGMSDOCSTATE)) - so_bak_key->CopyValue(so_uninst_key, REGMSDOCSTATE); - } - } - } - else - { - RegistryKey hkcu_classes_key = - registry.GetCurrentUserKey()->OpenSubKey(SOFTWARE_CLASSES); - - so_bak_key = hkcu_classes_key->CreateSubKey(SO_BACKUP_KEY); - - if (!so_bak_key->HasValue(REGMSDOCSTATE)) - { - // set a defined value - so_bak_key->SetValue(rv_regmsdocstate); - - RegistryKey hklm_sftw_classes = - registry.GetLocalMachineKey()->OpenSubKey(SOFTWARE_CLASSES, false); - - RegistryKey so_bak_key_old; - - if (hklm_sftw_classes->HasSubKey(SO_BACKUP_KEY)) - { - so_bak_key_old = hklm_sftw_classes->OpenSubKey(SO_BACKUP_KEY, false); - - if (so_bak_key_old->HasValue(REGMSDOCSTATE)) - so_bak_key->CopyValue(so_bak_key_old, REGMSDOCSTATE); - } - else // try the uninstall key - { - RegistryKey hklm_key = registry.GetLocalMachineKey(); - - if (hklm_key->HasSubKey(SO60_UNINSTALL_KEY)) - { - RegistryKey so_uninst_key = - hklm_key->OpenSubKey(SO60_UNINSTALL_KEY); - - if (so_uninst_key->HasValue(REGMSDOCSTATE)) - so_bak_key->CopyValue(so_uninst_key, REGMSDOCSTATE); - } - } - } - } - - rv_regmsdocstate = so_bak_key->GetValue(REGMSDOCSTATE); - registration_state = rv_regmsdocstate->GetDataAsInt(); - } - catch(RegistryException&) - { - registration_state = 0; - } - - return registration_state; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/register.hxx b/setup_native/source/win32/customactions/reg4msdoc/register.hxx deleted file mode 100644 index 10d600776..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/register.hxx +++ /dev/null @@ -1,85 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _REGISTER_HXX_ -#define _REGISTER_HXX_ - -#include "constants.hxx" - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msi.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <string> - -const int MOD_WRITER = 0x1; -const int MOD_CALC = 0x2; -const int MOD_IMPRESS = 0x4; -const int MOD_ACTIVEX = 0x40; - -/* registers StarOffice for MS document - types and as default HTML editor if - specified */ -void Register4MsDoc(MSIHANDLE handle, int Register); - -void Unregister4MsDoc(MSIHANDLE handle, int Unregister); - -/* restores the entries for the selected - registry entries */ -void Unregister4MsDocAll(MSIHANDLE handle); - -/* restores lost settings formerly made - with Register4MsDoc */ -void RepairRegister4MsDocSettings(MSIHANDLE handle); - -/** Returns whether we are registered for */ -bool IsRegisteredFor(MSIHANDLE handle, int State); - -/** Returns whether we should preselect the - registration checkbox for a certain - application type or not */ -bool query_preselect_registration_for_ms_application( - MSIHANDLE handle, int Register); - -// StarOffice 6.0 saved the registration -// state in HKEY_LOCAL_MACHINE\Software\ -// Microsoft\Windows\CurrentVersion\Uninstall\ -// StarOffice 6.0\Reg4MsdocState we move this -// value if available to the new registry -// location -int FixReturnRegistrationState(MSIHANDLE handle); - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/registrar.cxx b/setup_native/source/win32/customactions/reg4msdoc/registrar.cxx deleted file mode 100644 index ba6d8bd56..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/registrar.cxx +++ /dev/null @@ -1,808 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -// Registrar.cpp: Implementierung der Klasse Registrar. -// -////////////////////////////////////////////////////////////////////// - -#include "registrar.hxx" - -#include "RegistryValueImpl.hxx" -#include "windowsregistry.hxx" -#include "registryexception.hxx" - -#include <assert.h> -#ifdef _MSC_VER -#pragma warning(disable: 4350 4482) -#include "strsafe.h" -#endif - -//---------------------------------------------------------- -#ifdef DEBUG -inline void OutputDebugStringFormat( LPCTSTR pFormat, ... ) -{ - TCHAR buffer[1024]; - va_list args; - - va_start( args, pFormat ); - StringCchVPrintf( buffer, sizeof(buffer), pFormat, args ); - OutputDebugString( buffer ); -} -#else -static inline void OutputDebugStringFormat( LPCTSTR, ... ) -{ -} -#endif -//---------------------------------------------------------- - -const int MSWORD = 0x1; -const int MSEXCEL = 0x2; -const int MSPOWERPOINT = 0x4; -const int DEFAULT_HTML_EDITOR_FOR_IE = 0x8; -const int HTML_EDITOR = 0x10; -const int DEFAULT_SHELL_HTML_EDITOR = 0x20; - -namespace /* private */ -{ - const std::wstring HTM_OPENWITHLIST = L".htm\\OpenWithList"; - const std::wstring APPLICATIONS = L"Applications"; - const std::wstring SHELL_EDIT_COMMAND = L"shell\\edit\\command"; - const std::wstring HTML_EDIT = L"HTML Edit"; - const std::wstring HTML_EDIT_DISPLAY_NAME = L"Edit Display Name"; - const std::wstring SHELL_EDIT_COMMAND_BACKUP = L"Shell Edit Cmd"; - const std::wstring DEFAULT_HTML_EDITOR = L"Default HTML Editor"; - const std::wstring MS_IE_DEF_HTML_EDITOR = L"Software\\Microsoft\\Internet Explorer\\Default HTML Editor"; - const std::wstring MS_IE_DEF_HTML_EDITOR_SHL_EDIT_CMD = L"Software\\Microsoft\\Internet Explorer\\Default HTML Editor\\shell\\edit\\command"; -} - -Registrar::Registrar(const RegistrationContextInformation& RegContext) : - m_ContextInformation(RegContext), - FORWARD_KEY_PREFIX(L"OpenOffice.org"),//FORWARD_KEY_PREFIX(L"soffice6"), - DEFAULT_VALUE_NAME(L""), - BACKUP_VALUE_NAME(L"Backup"), - PRIVATE_BACKUP_KEY_NAME(L"OpenOffice.org.reg4msdocmsi"),//PRIVATE_BACKUP_KEY_NAME(L"soffice6.bak"), - REGISTRATION_STATE(L"Reg4MsDocState") -{ - m_RootKey = WindowsRegistry().GetClassesRootKey(); -} - -Registrar::~Registrar() -{ -} - -void Registrar::RegisterForMsWord() const -{ - assert(m_RootKey.get()); - - RegisterForMsOfficeApplication( - m_ContextInformation.GetWordDocumentFileExtension(), - m_ContextInformation.GetWordDocumentDisplayName(), - m_ContextInformation.GetWordDocumentDefaultIconEntry(), - m_ContextInformation.GetWordDocumentDefaultShellCommand(), - m_ContextInformation.ShellNewCommandDisplayName(), - RegistrationContextInformation::Writer); - - RegisterForMsOfficeApplication( - m_ContextInformation.GetMOOXWordDocumentFileExtension(), - m_ContextInformation.GetMOOXWordDocumentDisplayName(), - m_ContextInformation.GetWordDocumentDefaultIconEntry(), - m_ContextInformation.GetWordDocumentDefaultShellCommand(), - m_ContextInformation.ShellNewCommandDisplayName(), - RegistrationContextInformation::Writer); - - RegisterForMsOfficeApplication( - m_ContextInformation.GetWordTemplateFileExtension(), - m_ContextInformation.GetWordTemplateDisplayName(), - m_ContextInformation.GetWordTemplateDefaultIconEntry(), - m_ContextInformation.GetWordTemplateDefaultShellCommand(), - m_ContextInformation.ShellNewCommandDisplayName(), - RegistrationContextInformation::Writer); - - RegisterForMsOfficeApplication( - m_ContextInformation.GetRtfDocumentFileExtension(), - m_ContextInformation.GetRtfDocumentDisplayName(), - m_ContextInformation.GetRtfDocumentDefaultIconEntry(), - m_ContextInformation.GetRtfDocumentDefaultShellCommand(), - m_ContextInformation.ShellNewCommandDisplayName(), - RegistrationContextInformation::Writer); - - SaveRegisteredFor(MSWORD); -} - -void Registrar::UnregisterForMsWord() const -{ - assert(m_RootKey.get()); - - try - { - UnregisterForMsOfficeApplication( - m_ContextInformation.GetWordDocumentFileExtension()); - } - catch(RegistryKeyNotFoundException&) - {} - - try - { - UnregisterForMsOfficeApplication( - m_ContextInformation.GetMOOXWordDocumentFileExtension()); - } - catch(RegistryKeyNotFoundException&) - {} - - try - { - UnregisterForMsOfficeApplication( - m_ContextInformation.GetWordTemplateFileExtension()); - } - catch(RegistryKeyNotFoundException&) - {} - - try - { - UnregisterForMsOfficeApplication( - m_ContextInformation.GetRtfDocumentFileExtension()); - } - catch(RegistryKeyNotFoundException&) - {} - - SaveNotRegisteredFor(MSWORD); -} - -bool Registrar::QueryPreselectForMsApplication(const std::wstring& file_extension) const -{ - bool preselect = false; - - // We use HKCR else we would not see that a registration for - // MS Office applications already exist if we are about to - // register in HKCU\Software\Classes - RegistryKey root_key = WindowsRegistry().GetClassesRootKey(); - - if (!root_key->HasSubKey(file_extension)) - { - preselect = true; - OutputDebugStringFormat( TEXT("QueryPreselect: No SubKey found for (%s), preselected!\n"), file_extension.c_str() ); - } - else - { - RegistryKey RegKey = root_key->OpenSubKey(file_extension, false); - - if (RegKey->HasValue(DEFAULT_VALUE_NAME)) - { - RegistryValue RegVal = RegKey->GetValue(DEFAULT_VALUE_NAME); - - if (REG_SZ == RegVal->GetType() && - IsOpenOfficeRegisteredForMsApplication(RegVal->GetDataAsUniString())) - { - preselect = true; - OutputDebugStringFormat( TEXT("QueryPreselect: (%s) registered to Office, preselected!\n"), file_extension.c_str() ); - } - else if ( (REG_SZ == RegVal->GetType()) && ! root_key->HasSubKey( RegVal->GetDataAsUniString() ) ) - { - preselect = true; - OutputDebugStringFormat( TEXT("QueryPreselect: (%s) registered but destination is empty, preselected!\n"), file_extension.c_str() ); - } - } - else - { - preselect = true; - OutputDebugStringFormat( TEXT("QueryPreselect: No default found for SubKey (%s), preselected!\n"), file_extension.c_str() ); - } - } - return preselect; -} - -bool Registrar::QueryPreselectMsWordRegistration() const -{ - return QueryPreselectForMsApplication( - m_ContextInformation.GetWordDocumentFileExtension()); -} - -void Registrar::RegisterForMsExcel() const -{ - assert(m_RootKey.get()); - - RegisterForMsOfficeApplication( - m_ContextInformation.GetExcelSheetFileExtension(), - m_ContextInformation.GetExcelSheetDisplayName(), - m_ContextInformation.GetExcelSheetDefaultIconEntry(), - m_ContextInformation.GetExcelSheetDefaultShellCommand(), - m_ContextInformation.ShellNewCommandDisplayName(), - RegistrationContextInformation::Calc); - - RegisterForMsOfficeApplication( - m_ContextInformation.GetMOOXExcelSheetFileExtension(), - m_ContextInformation.GetMOOXExcelSheetDisplayName(), - m_ContextInformation.GetExcelSheetDefaultIconEntry(), - m_ContextInformation.GetExcelSheetDefaultShellCommand(), - m_ContextInformation.ShellNewCommandDisplayName(), - RegistrationContextInformation::Calc); - - RegisterForMsOfficeApplication( - m_ContextInformation.GetExcelTemplateFileExtension(), - m_ContextInformation.GetExcelTemplateDisplayName(), - m_ContextInformation.GetExcelTemplateDefaultIconEntry(), - m_ContextInformation.GetExcelTemplateDefaultShellCommand(), - m_ContextInformation.ShellNewCommandDisplayName(), - RegistrationContextInformation::Calc); - - SaveRegisteredFor(MSEXCEL); -} - -void Registrar::UnregisterForMsExcel() const -{ - assert(m_RootKey.get()); - - try - { - UnregisterForMsOfficeApplication( - m_ContextInformation.GetExcelSheetFileExtension()); - } - catch(RegistryKeyNotFoundException&) - {} - - try - { - UnregisterForMsOfficeApplication( - m_ContextInformation.GetMOOXExcelSheetFileExtension()); - } - catch(RegistryKeyNotFoundException&) - {} - - try - { - UnregisterForMsOfficeApplication( - m_ContextInformation.GetMOOXPowerPointDocumentFileExtension()); - } - catch(RegistryKeyNotFoundException&) - {} - - try - { - UnregisterForMsOfficeApplication( - m_ContextInformation.GetExcelTemplateFileExtension()); - } - catch(RegistryKeyNotFoundException&) - {} - - SaveNotRegisteredFor(MSEXCEL); -} - -bool Registrar::QueryPreselectMsExcelRegistration() const -{ - return QueryPreselectForMsApplication( - m_ContextInformation.GetExcelSheetFileExtension()); -} - -void Registrar::RegisterForMsPowerPoint() const -{ - assert(m_RootKey.get()); - - RegisterForMsOfficeApplication( - m_ContextInformation.GetPowerPointDocumentFileExtension(), - m_ContextInformation.GetPowerPointDocumentDisplayName(), - m_ContextInformation.GetPowerPointDocumentDefaultIconEntry(), - m_ContextInformation.GetPowerPointDocumentDefaultShellCommand(), - m_ContextInformation.ShellNewCommandDisplayName(), - RegistrationContextInformation::Impress); - - RegisterForMsOfficeApplication( - m_ContextInformation.GetMOOXPowerPointDocumentFileExtension(), - m_ContextInformation.GetMOOXPowerPointDocumentDisplayName(), - m_ContextInformation.GetPowerPointDocumentDefaultIconEntry(), - m_ContextInformation.GetPowerPointDocumentDefaultShellCommand(), - m_ContextInformation.ShellNewCommandDisplayName(), - RegistrationContextInformation::Impress); - - RegisterForMsOfficeApplication( - m_ContextInformation.GetPowerPointShowFileExtension(), - m_ContextInformation.GetPowerPointShowDisplayName(), - m_ContextInformation.GetPowerPointShowDefaultIconEntry(), - m_ContextInformation.GetPowerPointShowDefaultShellCommand(), - m_ContextInformation.ShellNewCommandDisplayName(), - RegistrationContextInformation::Impress); - - RegisterForMsOfficeApplication( - m_ContextInformation.GetPowerPointTemplateFileExtension(), - m_ContextInformation.GetPowerPointTemplateDisplayName(), - m_ContextInformation.GetPowerPointTemplateDefaultIconEntry(), - m_ContextInformation.GetPowerPointTemplateDefaultShellCommand(), - m_ContextInformation.ShellNewCommandDisplayName(), - RegistrationContextInformation::Impress); - - SaveRegisteredFor(MSPOWERPOINT); -} - -void Registrar::UnregisterForMsPowerPoint() const -{ - assert(m_RootKey.get()); - - try - { - UnregisterForMsOfficeApplication( - m_ContextInformation.GetPowerPointDocumentFileExtension()); - } - catch(RegistryKeyNotFoundException&) - {} - - try - { - UnregisterForMsOfficeApplication( - m_ContextInformation.GetPowerPointShowFileExtension()); - } - catch(RegistryKeyNotFoundException&) - {} - - try - { - UnregisterForMsOfficeApplication( - m_ContextInformation.GetPowerPointTemplateFileExtension()); - } - catch(RegistryKeyNotFoundException&) - {} - - SaveNotRegisteredFor(MSPOWERPOINT); -} - -//----------------------------------------- -/* -*/ -bool Registrar::QueryPreselectMsPowerPointRegistration() const -{ - return QueryPreselectForMsApplication( m_ContextInformation.GetPowerPointDocumentFileExtension()) && - QueryPreselectForMsApplication( m_ContextInformation.GetPowerPointShowFileExtension()); -} - -//----------------------------------------- -/** The documentation says we have to - make the following entries to register - a html editor for the Internet Explorer - HKCR\.htm\OpenWithList\App Friendly Name\shell\edit\command - But the reality shows that this works only - with Internet Explorer 5.x - Internet Explorer 6.0 wants the follwoing - entries: - HKCR\.htm\OpenWithList\App.exe - HKCR\Applications\App.ex\shell\edit\command -*/ -void Registrar::RegisterAsHtmlEditorForInternetExplorer() const -{ - assert(m_RootKey.get()); - - std::wstring OOFriendlyAppName = m_ContextInformation.GetOpenOfficeFriendlyAppName(); - - std::wstring RegKeyName = HTM_OPENWITHLIST + std::wstring(L"\\") + OOFriendlyAppName; - RegistryKey RegKey = m_RootKey->CreateSubKey(RegKeyName); - - RegKey = RegKey->CreateSubKey(SHELL_EDIT_COMMAND); - - RegistryValue RegVal( - new RegistryValueImpl( - DEFAULT_VALUE_NAME, - m_ContextInformation.GetOpenOfficeCommandline(RegistrationContextInformation::Open, - RegistrationContextInformation::Writer))); - - RegKey->SetValue(RegVal); - - RegKeyName = APPLICATIONS + std::wstring(L"\\") + OOFriendlyAppName; - RegKey = m_RootKey->CreateSubKey(RegKeyName); - - RegVal->SetName(L"FriendlyAppName"); - RegVal->SetValue(OOFriendlyAppName); - RegKey->SetValue(RegVal); - - RegKey = RegKey->CreateSubKey(SHELL_EDIT_COMMAND); - RegVal->SetName(DEFAULT_VALUE_NAME); - RegVal->SetValue( - m_ContextInformation.GetOpenOfficeCommandline(RegistrationContextInformation::Open, - RegistrationContextInformation::Writer)); - RegKey->SetValue(RegVal); - - SaveRegisteredFor(HTML_EDITOR); -} - -void Registrar::UnregisterAsHtmlEditorForInternetExplorer() const -{ - assert(m_RootKey.get()); - - try - { - std::wstring OOFriendlyAppName = m_ContextInformation.GetOpenOfficeFriendlyAppName(); - - RegistryKey aRegKey = m_RootKey->OpenSubKey( APPLICATIONS ); - if ( aRegKey->HasSubKey( OOFriendlyAppName ) ) - aRegKey->DeleteSubKeyTree( OOFriendlyAppName ); - - aRegKey = m_RootKey->OpenSubKey( HTM_OPENWITHLIST ); - if ( aRegKey->HasSubKey( OOFriendlyAppName ) ) - aRegKey->DeleteSubKeyTree( OOFriendlyAppName ); - } - catch(RegistryKeyNotFoundException&) - {} - - SaveNotRegisteredFor(HTML_EDITOR); -} - -void Registrar::RegisterAsDefaultHtmlEditorForInternetExplorer() const -{ - assert(m_RootKey.get()); - - RegistryKey RegistrationRootKey = GetRootKeyForDefHtmlEditorForIERegistration(); - - RegistryKey RegKey = RegistrationRootKey->CreateSubKey(MS_IE_DEF_HTML_EDITOR_SHL_EDIT_CMD); - - RegistryValue RegVal = RegistryValue(new RegistryValueImpl(DEFAULT_VALUE_NAME, L"")); - - if (RegKey->HasValue(DEFAULT_VALUE_NAME)) - { - RegVal = RegKey->GetValue(DEFAULT_VALUE_NAME); - - std::wstring CmdLine = RegVal->GetDataAsUniString(); - - if (std::wstring::npos == CmdLine.find(m_ContextInformation.GetOpenOfficeExecutableName())) - { - RegistryKey BackupRegKey = m_RootKey->CreateSubKey(PRIVATE_BACKUP_KEY_NAME + L"\\" + DEFAULT_HTML_EDITOR); - - if (RegKey->HasValue(DEFAULT_VALUE_NAME)) - BackupRegKey->CopyValue(RegKey, DEFAULT_VALUE_NAME); - - RegKey = RegistrationRootKey->OpenSubKey(MS_IE_DEF_HTML_EDITOR); - if (RegKey->HasValue(L"Description")) - BackupRegKey->CopyValue(RegKey, L"Description"); - } - } - - RegVal->SetValue( - m_ContextInformation.GetOpenOfficeCommandline(RegistrationContextInformation::Open, - RegistrationContextInformation::Writer)); - RegKey = RegistrationRootKey->OpenSubKey(MS_IE_DEF_HTML_EDITOR_SHL_EDIT_CMD); - RegKey->SetValue(RegVal); - - RegVal->SetName(L"Description"); - RegVal->SetValue(m_ContextInformation.GetOpenOfficeFriendlyAppName()); - RegKey = RegistrationRootKey->OpenSubKey(MS_IE_DEF_HTML_EDITOR); - RegKey->SetValue(RegVal); - - SaveRegisteredFor(DEFAULT_HTML_EDITOR_FOR_IE); -} - -void Registrar::UnregisterAsDefaultHtmlEditorForInternetExplorer() const -{ - assert(m_RootKey.get()); - - RegistryKey RegistrationRootKey = GetRootKeyForDefHtmlEditorForIERegistration(); - - RegistryKey RegKey = RegistrationRootKey->OpenSubKey(MS_IE_DEF_HTML_EDITOR_SHL_EDIT_CMD); - - if (RegKey->HasValue(DEFAULT_VALUE_NAME)) - { - RegistryValue RegVal = RegKey->GetValue(DEFAULT_VALUE_NAME); - - std::wstring CmdLine = RegVal->GetDataAsUniString(); - - if (std::wstring::npos != CmdLine.find(m_ContextInformation.GetOpenOfficeExecutableName())) - { - RegistryKey BackupRegKey = m_RootKey->OpenSubKey(PRIVATE_BACKUP_KEY_NAME); - - if (BackupRegKey->HasSubKey(DEFAULT_HTML_EDITOR)) - { - BackupRegKey = BackupRegKey->OpenSubKey(DEFAULT_HTML_EDITOR); - - if (BackupRegKey->HasValue(DEFAULT_VALUE_NAME)) - RegKey->CopyValue(BackupRegKey, DEFAULT_VALUE_NAME); - else - RegKey->DeleteValue(DEFAULT_VALUE_NAME); - - RegKey = RegistrationRootKey->OpenSubKey(MS_IE_DEF_HTML_EDITOR); - - if (BackupRegKey->HasValue(L"Description")) - RegKey->CopyValue(BackupRegKey, L"Description"); - else - RegKey->DeleteValue(L"Description"); - } - else - { - RegKey->DeleteValue(DEFAULT_VALUE_NAME); - RegKey = RegistrationRootKey->OpenSubKey(MS_IE_DEF_HTML_EDITOR); - RegKey->DeleteValue(L"Description"); - } - } - } - - SaveNotRegisteredFor(DEFAULT_HTML_EDITOR_FOR_IE); -} - -void Registrar::RegisterAsDefaultShellHtmlEditor() const -{ - assert(m_RootKey.get()); - - RegistryKey RegKey = m_RootKey->CreateSubKey(L".htm"); - - RegistryValue RegVal = RegistryValue( - new RegistryValueImpl(DEFAULT_VALUE_NAME, L"")); - - if (RegKey->HasValue(DEFAULT_VALUE_NAME)) - RegVal = RegKey->GetValue(DEFAULT_VALUE_NAME); - - std::wstring HtmFwdKey = RegVal->GetDataAsUniString(); - if (0 == HtmFwdKey.length() || !m_RootKey->HasSubKey(HtmFwdKey)) - HtmFwdKey = L".htm"; - - RegKey = m_RootKey->CreateSubKey(HtmFwdKey + L"\\" + SHELL_EDIT_COMMAND); - - if (RegKey->HasValue(DEFAULT_VALUE_NAME)) - { - RegVal = RegKey->GetValue(DEFAULT_VALUE_NAME); - - std::wstring CmdLine = RegVal->GetDataAsUniString(); - - // backup old values if we are not in place - if (std::wstring::npos == CmdLine.find(m_ContextInformation.GetOpenOfficeExecutableName())) - { - RegistryKey BackupRegKey = m_RootKey->CreateSubKey(PRIVATE_BACKUP_KEY_NAME + L"\\" + HTML_EDIT); - BackupRegKey->CopyValue(RegKey, DEFAULT_VALUE_NAME, SHELL_EDIT_COMMAND_BACKUP); - } - } - - RegVal->SetValue( - m_ContextInformation.GetOpenOfficeCommandline(RegistrationContextInformation::Open, - RegistrationContextInformation::Writer)); - - RegKey->SetValue(RegVal); - - SaveRegisteredFor(DEFAULT_SHELL_HTML_EDITOR); -} - -void Registrar::UnregisterAsDefaultShellHtmlEditor() const -{ - assert(m_RootKey.get()); - - try - { - RegistryKey RegKey = m_RootKey->OpenSubKey(L".htm"); - - RegistryValue RegVal = RegistryValue( - new RegistryValueImpl(DEFAULT_VALUE_NAME, L"")); - - if (RegKey->HasValue(DEFAULT_VALUE_NAME)) - RegVal = RegKey->GetValue(DEFAULT_VALUE_NAME); - - std::wstring HtmFwdKey = RegVal->GetDataAsUniString(); - - if (0 == HtmFwdKey.length() || !m_RootKey->HasSubKey(HtmFwdKey)) - HtmFwdKey = L".htm"; - - RegKey = m_RootKey->OpenSubKey(HtmFwdKey + L"\\" + SHELL_EDIT_COMMAND); - - RegVal = RegKey->GetValue(DEFAULT_VALUE_NAME); - - std::wstring CmdLine = RegVal->GetDataAsUniString(); - - if (std::wstring::npos != CmdLine.find(m_ContextInformation.GetOpenOfficeExecutableName())) - { - RegistryKey BackupRegKey = m_RootKey->CreateSubKey(PRIVATE_BACKUP_KEY_NAME + L"\\" + HTML_EDIT); - - if (BackupRegKey->HasValue(SHELL_EDIT_COMMAND_BACKUP)) - RegKey->CopyValue(BackupRegKey, SHELL_EDIT_COMMAND_BACKUP, DEFAULT_VALUE_NAME); - else - RegKey->DeleteValue(DEFAULT_VALUE_NAME); - } - } - catch(RegistryKeyNotFoundException&) - { - } - - SaveNotRegisteredFor(DEFAULT_SHELL_HTML_EDITOR); -} - -void Registrar::SaveRegisteredFor(int State) const -{ - assert(m_RootKey.get()); - - int NewState = GetRegisterState(); - NewState |= State; - SetRegisterState(NewState); -} - -void Registrar::SaveNotRegisteredFor(int State) const -{ - assert(m_RootKey.get()); - - int NewState = GetRegisterState(); - NewState &= ~State; - SetRegisterState(NewState); -} - -int Registrar::GetRegisterState() const -{ - int State = 0; - - RegistryKey RegKey = m_RootKey->CreateSubKey(PRIVATE_BACKUP_KEY_NAME); - - if (RegKey->HasValue(REGISTRATION_STATE)) - { - RegistryValue RegVal = RegKey->GetValue(REGISTRATION_STATE); - if (REG_DWORD == RegVal->GetType()) - State = RegVal->GetDataAsInt(); - } - - return State; -} - -void Registrar::SetRegisterState(int NewState) const -{ - RegistryKey RegKey = m_RootKey->CreateSubKey(PRIVATE_BACKUP_KEY_NAME); - RegistryValue RegVal = RegistryValue(new RegistryValueImpl(REGISTRATION_STATE, NewState)); - RegKey->SetValue(RegVal); -} - -bool Registrar::IsRegisteredFor(int State) const -{ - assert(m_RootKey.get()); - - RegistryKey RegKey = m_RootKey->CreateSubKey(PRIVATE_BACKUP_KEY_NAME); - - int SavedState = 0; - - if (RegKey->HasValue(REGISTRATION_STATE)) - { - RegistryValue RegVal = RegKey->GetValue(REGISTRATION_STATE); - if (REG_DWORD == RegVal->GetType()) - SavedState = RegVal->GetDataAsInt(); - } - - return ((SavedState & State) == State); -} - -//-------------------------------------- -/** Restore the last registration state (necessary for - Setup repair) */ -void Registrar::RepairRegistrationState() const -{ - assert(m_RootKey.get()); - - if (IsRegisteredFor(MSWORD)) - RegisterForMsWord(); - - if (IsRegisteredFor(MSEXCEL)) - RegisterForMsExcel(); - - if (IsRegisteredFor(MSPOWERPOINT)) - RegisterForMsPowerPoint(); - - if (IsRegisteredFor(DEFAULT_HTML_EDITOR_FOR_IE)) - RegisterAsDefaultHtmlEditorForInternetExplorer(); - - if (IsRegisteredFor(HTML_EDITOR)) - RegisterAsHtmlEditorForInternetExplorer(); - - if (IsRegisteredFor(DEFAULT_SHELL_HTML_EDITOR)) - RegisterAsDefaultShellHtmlEditor(); -} - -/** Unregisters all and delete all Registry keys we have written */ -void Registrar::UnregisterAllAndCleanUpRegistry() const -{ - assert(m_RootKey.get()); - - if (IsRegisteredFor(MSWORD)) - UnregisterForMsWord(); - - if (IsRegisteredFor(MSEXCEL)) - UnregisterForMsExcel(); - - if (IsRegisteredFor(MSPOWERPOINT)) - UnregisterForMsPowerPoint(); - - if (IsRegisteredFor(DEFAULT_HTML_EDITOR_FOR_IE)) - UnregisterAsDefaultHtmlEditorForInternetExplorer(); - - if (IsRegisteredFor(HTML_EDITOR)) - UnregisterAsHtmlEditorForInternetExplorer(); - - if (IsRegisteredFor(DEFAULT_SHELL_HTML_EDITOR)) - UnregisterAsDefaultShellHtmlEditor(); - - if (m_RootKey->HasSubKey(PRIVATE_BACKUP_KEY_NAME)) - m_RootKey->DeleteSubKeyTree(PRIVATE_BACKUP_KEY_NAME); -} - -void Registrar::RegisterForMsOfficeApplication( - const std::wstring& FileExtension, - const std::wstring& DocumentDisplayName, - const std::wstring& DefaultIconEntry, - const std::wstring& DefaultShellCommand, - const std::wstring& ShellNewCommandDisplayName, - const RegistrationContextInformation::OFFICE_APPLICATION eOfficeApp) const -{ - assert(m_RootKey.get()); - - std::wstring ForwardKeyName = FORWARD_KEY_PREFIX + FileExtension; - - RegistryKey ForwardKey = m_RootKey->CreateSubKey(ForwardKeyName); - RegistryValue RegVal(new RegistryValueImpl(std::wstring(DEFAULT_VALUE_NAME), DocumentDisplayName)); - ForwardKey->SetValue(RegVal); - - RegistryKey RegKey = ForwardKey->CreateSubKey(L"DefaultIcon"); - RegVal->SetValue(DefaultIconEntry); - RegKey->SetValue(RegVal); - - RegistryKey RegKeyShell = ForwardKey->CreateSubKey(L"shell"); - RegVal->SetValue(DefaultShellCommand); - RegKeyShell->SetValue(RegVal); - - RegKey = RegKeyShell->CreateSubKey(L"new"); - RegVal->SetValue(ShellNewCommandDisplayName); - RegKey->SetValue(RegVal); - - RegKey = RegKey->CreateSubKey(L"command"); - RegVal->SetValue(m_ContextInformation.GetOpenOfficeCommandline(RegistrationContextInformation::New, eOfficeApp)); - RegKey->SetValue(RegVal); - - RegKey = RegKeyShell->CreateSubKey(L"open\\command"); - RegVal->SetValue(m_ContextInformation.GetOpenOfficeCommandline(RegistrationContextInformation::Open, eOfficeApp)); - RegKey->SetValue(RegVal); - - RegKey = RegKeyShell->CreateSubKey(L"print\\command"); - RegVal->SetValue(m_ContextInformation.GetOpenOfficeCommandline(RegistrationContextInformation::Print, eOfficeApp)); - RegKey->SetValue(RegVal); - - RegKey = RegKeyShell->CreateSubKey(L"printto\\command"); - RegVal->SetValue(m_ContextInformation.GetOpenOfficeCommandline(RegistrationContextInformation::Printto, eOfficeApp)); - RegKey->SetValue(RegVal); - - // set the new forward key under the appropriate extension - RegKey = m_RootKey->CreateSubKey(FileExtension); - - if (RegKey->HasValue(DEFAULT_VALUE_NAME)) - { - RegVal = RegKey->GetValue(DEFAULT_VALUE_NAME); - - if (REG_SZ == RegVal->GetType()) - { - std::wstring str = RegVal->GetDataAsUniString(); - if (!IsOpenOfficeRegisteredForMsApplication(str)) - ForwardKey->CopyValue(RegKey, DEFAULT_VALUE_NAME, BACKUP_VALUE_NAME); - } - } - - RegVal->SetValue(ForwardKeyName); - RegKey->SetValue(RegVal); -} - -void Registrar::UnregisterForMsOfficeApplication(const std::wstring& FileExtension) const -{ - std::wstring FwdRegKeyName = FORWARD_KEY_PREFIX + FileExtension; - - if (m_RootKey->HasSubKey(FileExtension)) - { - RegistryKey RegKey = m_RootKey->OpenSubKey(FileExtension); - - if (RegKey->HasValue(DEFAULT_VALUE_NAME)) - { - RegistryValue RegVal = RegKey->GetValue(DEFAULT_VALUE_NAME); - if (REG_SZ == RegVal->GetType() && - IsOpenOfficeRegisteredForMsApplication(RegVal->GetDataAsUniString())) - { - RegistryKey FwdRegKey = m_RootKey->CreateSubKey(FwdRegKeyName); - - if (FwdRegKey->HasValue(BACKUP_VALUE_NAME)) - RegKey->CopyValue(FwdRegKey, BACKUP_VALUE_NAME, DEFAULT_VALUE_NAME); - else - RegKey->DeleteValue(DEFAULT_VALUE_NAME); - } - } - } - - if (m_RootKey->HasSubKey(FwdRegKeyName)) - m_RootKey->DeleteSubKeyTree(FwdRegKeyName); -} - -RegistryKey Registrar::GetRootKeyForDefHtmlEditorForIERegistration() const -{ - return WindowsRegistry().GetLocalMachineKey(); -} - -bool Registrar::IsOpenOfficeRegisteredForMsApplication(const std::wstring& DocumentExtensionDefValue) const -{ - return (std::wstring::npos != DocumentExtensionDefValue.find(FORWARD_KEY_PREFIX)); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/registrar.hxx b/setup_native/source/win32/customactions/reg4msdoc/registrar.hxx deleted file mode 100644 index e0bf8f1ee..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/registrar.hxx +++ /dev/null @@ -1,104 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -// Registrar.h: Schnittstelle f�r die Klasse Registrar. -// -////////////////////////////////////////////////////////////////////// - -#ifndef _REGISTRAR_HXX_ -#define _REGISTRAR_HXX_ - -#include "registry.hxx" -#include "registrationcontextinformation.hxx" - -#include "constants.hxx" - -class Registrar -{ -public: - - Registrar(const RegistrationContextInformation& RegContext); - - virtual ~Registrar(); - - bool IsRegisteredFor(int State) const; - - virtual void RegisterForMsWord() const; - virtual void UnregisterForMsWord() const; - virtual bool QueryPreselectMsWordRegistration() const; - - virtual void RegisterForMsExcel() const; - virtual void UnregisterForMsExcel() const; - virtual bool QueryPreselectMsExcelRegistration() const; - - virtual void RegisterForMsPowerPoint() const; - virtual void UnregisterForMsPowerPoint() const; - virtual bool QueryPreselectMsPowerPointRegistration() const; - - virtual void RegisterAsHtmlEditorForInternetExplorer() const; - virtual void UnregisterAsHtmlEditorForInternetExplorer() const; - - virtual void RegisterAsDefaultHtmlEditorForInternetExplorer() const; - virtual void UnregisterAsDefaultHtmlEditorForInternetExplorer() const; - - virtual void RegisterAsDefaultShellHtmlEditor() const; - virtual void UnregisterAsDefaultShellHtmlEditor() const; - - /** Restore the last registration state (necessary for - Setup repair) - */ - virtual void RepairRegistrationState() const; - - /** Unregisters all and delete all Registry keys we have written - */ - virtual void UnregisterAllAndCleanUpRegistry() const; - -protected: - - virtual void RegisterForMsOfficeApplication( - const std::wstring& FileExtension, - const std::wstring& DocumentDisplayName, - const std::wstring& DefaultIconEntry, - const std::wstring& DefaultShellCommand, - const std::wstring& ShellNewCommandDisplayName, - const RegistrationContextInformation::OFFICE_APPLICATION eOfficeApp) const; - - virtual void UnregisterForMsOfficeApplication( - const std::wstring& FileExtension) const; - - virtual RegistryKey GetRootKeyForDefHtmlEditorForIERegistration() const; - - void SaveRegisteredFor(int State) const; - void SaveNotRegisteredFor(int State) const; - - int GetRegisterState() const; - void SetRegisterState(int NewState) const; - - virtual bool QueryPreselectForMsApplication(const std::wstring& file_extension) const; - - /** A helper function (for readability) returns true if OpenOffice is already - registered for a MS application - - @param DocumentExtensionDefValue - The default value of the appropriate document extension Registry key - */ - bool IsOpenOfficeRegisteredForMsApplication(const std::wstring& DocumentExtensionDefValue) const; - -protected: - const RegistrationContextInformation& m_ContextInformation; - - const std::wstring FORWARD_KEY_PREFIX; - const std::wstring DEFAULT_VALUE_NAME; - const std::wstring BACKUP_VALUE_NAME; - const std::wstring PRIVATE_BACKUP_KEY_NAME; - const std::wstring REGISTRATION_STATE; - - RegistryKey m_RootKey; - -// prevent copy/assignment -private: - Registrar(const Registrar&); - Registrar& operator=(const Registrar&); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/registrationcontextinformation.cxx b/setup_native/source/win32/customactions/reg4msdoc/registrationcontextinformation.cxx deleted file mode 100644 index 3b116f2e1..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/registrationcontextinformation.cxx +++ /dev/null @@ -1,388 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -//Implementierung der Klasse RegistrationContextInformation. - -#include "registrationcontextinformation.hxx" -#include "msihelper.hxx" - -#define WINDOWS_LEAN_AND_MEAN -#include <windows.h> -#include <assert.h> -#include <algorithm> - -namespace /* private */ -{ - const int MAX_REGKEY_LENGTH_WIN9X = 16300; -} - -RegistrationContextInformation::RegistrationContextInformation(MSIHANDLE hMsi, const std::wstring& OpenOfficeExecutablePath) : - msihandle_(hMsi), - m_IsWin9x(true), - m_OOExecPath(OpenOfficeExecutablePath) -{ - OSVERSIONINFOA osverinfo; - ZeroMemory(&osverinfo, sizeof(osverinfo)); - osverinfo.dwOSVersionInfoSize = sizeof(osverinfo); - GetVersionExA(&osverinfo); - - m_IsWin9x = (osverinfo.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS); - assert(m_OOExecPath.length()); - ExtractOpenOfficeExecNameFromPath(); -} - -std::wstring RegistrationContextInformation::GetWordDocumentDisplayName() const -{ - std::wstring str; - GetMsiProp(msihandle_, TEXT("STR_MS_WORD_DOCUMENT"), str); - if (m_IsWin9x && !IsConvertableToAnsi(str)) - str = TEXT("Microsoft Word Document"); - return str; -} - -std::wstring RegistrationContextInformation::GetWordDocumentFileExtension() const -{ - return std::wstring(TEXT(".doc")); -} - -std::wstring RegistrationContextInformation::GetWordDocumentDefaultIconEntry() const -{ - return m_OOExecPath + std::wstring(TEXT(",1")); -} - -std::wstring RegistrationContextInformation::GetWordDocumentDefaultShellCommand() const -{ - return std::wstring(TEXT("open")); -} - -std::wstring RegistrationContextInformation::GetMOOXWordDocumentDisplayName() const -{ - std::wstring str; - str = TEXT("Microsoft Word 2007 Document"); - return str; -} - -std::wstring RegistrationContextInformation::GetMOOXWordDocumentFileExtension() const -{ - return std::wstring(TEXT(".docx")); -} - -std::wstring RegistrationContextInformation::GetWordTemplateDisplayName() const -{ - std::wstring str; - GetMsiProp(msihandle_, TEXT("STR_MS_WORD_TEMPLATE"), str); - if (m_IsWin9x && !IsConvertableToAnsi(str)) - str = TEXT("Microsoft Word Template"); - return str; -} - -std::wstring RegistrationContextInformation::GetWordTemplateFileExtension() const -{ - return std::wstring(TEXT(".dot")); -} - -std::wstring RegistrationContextInformation::GetWordTemplateDefaultIconEntry() const -{ - return m_OOExecPath + std::wstring(TEXT(",2")); -} - -std::wstring RegistrationContextInformation::GetWordTemplateDefaultShellCommand() const -{ - return std::wstring(TEXT("new")); -} - -std::wstring RegistrationContextInformation::GetRtfDocumentDisplayName() const -{ - std::wstring str; - GetMsiProp(msihandle_, TEXT("STR_RTF_DOCUMENT"), str); - if (m_IsWin9x && !IsConvertableToAnsi(str)) - str = TEXT("Rich Text Document"); - return str; -} - -std::wstring RegistrationContextInformation::GetRtfDocumentFileExtension() const -{ - return std::wstring(TEXT(".rtf")); -} - -std::wstring RegistrationContextInformation::GetRtfDocumentDefaultIconEntry() const -{ - return m_OOExecPath + std::wstring(TEXT(",1")); -} - -std::wstring RegistrationContextInformation::GetRtfDocumentDefaultShellCommand() const -{ - return std::wstring(TEXT("open")); -} - -std::wstring RegistrationContextInformation::GetExcelSheetDisplayName() const -{ - std::wstring str; - GetMsiProp(msihandle_, TEXT("STR_MS_EXCEL_WORKSHEET"), str); - if (m_IsWin9x && !IsConvertableToAnsi(str)) - str = TEXT("Microsoft Excel Worksheet"); - return str; -} - -std::wstring RegistrationContextInformation::GetExcelSheetFileExtension() const -{ - return std::wstring(TEXT(".xls")); -} - -std::wstring RegistrationContextInformation::GetExcelSheetDefaultIconEntry() const -{ - return m_OOExecPath + std::wstring(TEXT(",3")); -} - -std::wstring RegistrationContextInformation::GetExcelSheetDefaultShellCommand() const -{ - return std::wstring(TEXT("open")); -} - -std::wstring RegistrationContextInformation::GetMOOXExcelSheetDisplayName() const -{ - std::wstring str; - str = TEXT("Microsoft Excel 2007 Spreadsheet"); - return str; -} - -std::wstring RegistrationContextInformation::GetMOOXExcelSheetFileExtension() const -{ - return std::wstring(TEXT(".xlsx")); -} - -std::wstring RegistrationContextInformation::GetExcelTemplateDisplayName() const -{ - std::wstring str; - GetMsiProp(msihandle_, TEXT("STR_MS_EXCEL_TEMPLATE"), str); - if (m_IsWin9x && !IsConvertableToAnsi(str)) - str = TEXT("Microsoft Excel Template"); - return str; -} - -std::wstring RegistrationContextInformation::GetExcelTemplateFileExtension() const -{ - return std::wstring(TEXT(".xlt")); -} - -std::wstring RegistrationContextInformation::GetExcelTemplateDefaultIconEntry() const -{ - return m_OOExecPath + std::wstring(TEXT(",4")); -} - -std::wstring RegistrationContextInformation::GetExcelTemplateDefaultShellCommand() const -{ - return std::wstring(TEXT("new")); -} - -std::wstring RegistrationContextInformation::GetPowerPointDocumentDisplayName() const -{ - std::wstring str; - GetMsiProp(msihandle_, TEXT("STR_MS_POWERPOINT_PRESENTATION"), str); - if (m_IsWin9x && !IsConvertableToAnsi(str)) - str = TEXT("Microsoft PowerPoint Presentation"); - return str; -} - -std::wstring RegistrationContextInformation::GetPowerPointDocumentFileExtension() const -{ - return std::wstring(TEXT(".ppt")); -} - -std::wstring RegistrationContextInformation::GetPowerPointDocumentDefaultIconEntry() const -{ - return m_OOExecPath + std::wstring(TEXT(",7")); -} - -std::wstring RegistrationContextInformation::GetPowerPointDocumentDefaultShellCommand() const -{ - return std::wstring(TEXT("open")); -} - -std::wstring RegistrationContextInformation::GetMOOXPowerPointDocumentDisplayName() const -{ - std::wstring str; - str = TEXT("Microsoft PowerPoint 2007 Presentation"); - return str; -} - -std::wstring RegistrationContextInformation::GetMOOXPowerPointDocumentFileExtension() const -{ - return std::wstring(TEXT(".pptx")); -} - -std::wstring RegistrationContextInformation::GetPowerPointTemplateDisplayName() const -{ - std::wstring str; - GetMsiProp(msihandle_, TEXT("STR_MS_POWERPOINT_TEMPLATE"), str); - if (m_IsWin9x && !IsConvertableToAnsi(str)) - str = TEXT("Microsoft PowerPoint Template"); - return str; -} - -std::wstring RegistrationContextInformation::GetPowerPointTemplateFileExtension() const -{ - return std::wstring(TEXT(".pot")); -} - -std::wstring RegistrationContextInformation::GetPowerPointTemplateDefaultIconEntry() const -{ - return m_OOExecPath + std::wstring(TEXT(",8")); -} - -std::wstring RegistrationContextInformation::GetPowerPointTemplateDefaultShellCommand() const -{ - return std::wstring(TEXT("new")); -} - -std::wstring RegistrationContextInformation::GetPowerPointShowDisplayName() const -{ - std::wstring str; - GetMsiProp(msihandle_, TEXT("STR_MS_POWERPOINT_SHOW"), str); - if (m_IsWin9x && !IsConvertableToAnsi(str)) - str = TEXT("Microsoft PowerPoint Show"); - return str; -} - -std::wstring RegistrationContextInformation::GetPowerPointShowFileExtension() const -{ - return std::wstring(TEXT(".pps")); -} - -std::wstring RegistrationContextInformation::GetPowerPointShowDefaultIconEntry() const -{ - return m_OOExecPath + std::wstring(TEXT(",7")); -} - -std::wstring RegistrationContextInformation::GetPowerPointShowDefaultShellCommand() const -{ - return std::wstring(TEXT("open")); -} - -//---------------------------------------------- -/** The string for the "New" command that should appear - in the Explorer context menu when someone right - clicks a Microsoft document -*/ -std::wstring RegistrationContextInformation::ShellNewCommandDisplayName() const -{ - std::wstring str; - GetMsiProp(msihandle_, TEXT("STR_NEW_DISPLAY_NAME"), str); - std::wstring::size_type idx = str.find(TEXT("~")); - - if(std::wstring::npos != idx) - str.replace(idx, 1, TEXT("&")); - - if (m_IsWin9x && !IsConvertableToAnsi(str)) - str = TEXT("&New"); - - return str; -} - -/** The string for the "Edit" command that should - appear in the Explorer context menu when someone - right clicks a document -*/ -std::wstring RegistrationContextInformation::ShellEditCommandDisplayName() const -{ - std::wstring str; - GetMsiProp(msihandle_, TEXT("STR_EDIT"), str); - std::wstring::size_type idx = str.find(TEXT("~")); - - if(std::wstring::npos != idx) - str.replace(idx, 1, TEXT("&")); - - if (m_IsWin9x && !IsConvertableToAnsi(str)) - str = TEXT("&Edit"); - - return str; -} - -std::wstring RegistrationContextInformation::GetOpenOfficeFriendlyAppName() const -{ - std::wstring str; - GetMsiProp(msihandle_, TEXT("ProductName"), str); - return str; -} - -std::wstring RegistrationContextInformation::GetOpenOfficeExecutablePath() const -{ - return m_OOExecPath; -} - -//---------------------------------------------- -/** The name of the executable (currently "soffice.exe" - but may change in the future, who knows) */ -std::wstring RegistrationContextInformation::GetOpenOfficeExecutableName() const -{ - return m_OOExecName; -} - -/** A command line for the specified shell command */ -std::wstring RegistrationContextInformation::GetOpenOfficeCommandline(SHELL_COMMAND ShellCommand, - OFFICE_APPLICATION OfficeApp) const -{ - // quote the path to OpenOffice, this is important - // for Windows 9x - std::wstring cmd_line = std::wstring(TEXT("\"")) + m_OOExecPath + std::wstring(TEXT("\"")); - - switch( OfficeApp ) - { - case Writer: - cmd_line += std::wstring( TEXT( " -writer" ) ); - break; - case Calc: - cmd_line += std::wstring( TEXT( " -calc" ) ); - break; - case Impress: - cmd_line += std::wstring( TEXT( " -impress" ) ); - break; - case Office: // default to std command line - break; - // default: no default to find new added enums at compile time - } - switch(ShellCommand) - { - case New: - cmd_line += std::wstring(TEXT(" -n \"%1\"")); - break; - case Open: - cmd_line += std::wstring(TEXT(" -o \"%1\"")); - break; - case Print: - cmd_line += std::wstring(TEXT(" -p \"%1\"")); - break; - case Printto: - cmd_line += std::wstring(TEXT(" -pt \"%2\" \"%1\"")); - break; - // default: no default to find new added enums at compile time - } - return cmd_line; -} - -bool RegistrationContextInformation::IsConvertableToAnsi(const std::wstring& String) const -{ - char buff[MAX_REGKEY_LENGTH_WIN9X]; - BOOL bUsedDefChar = 0; - - if (String.length() > 0) - { - WideCharToMultiByte( - CP_ACP, - WC_COMPOSITECHECK | WC_DEFAULTCHAR, - String.c_str(), - static_cast<int>(String.length()), - buff, - sizeof(buff), - NULL, - &bUsedDefChar); - } - return !bUsedDefChar; -} - -void RegistrationContextInformation::ExtractOpenOfficeExecNameFromPath() -{ - std::wstring::size_type idx = m_OOExecPath.find_last_of(TEXT('\\')); - assert(idx != std::wstring::npos); // assert valid path - m_OOExecName = m_OOExecPath.substr(idx + 1); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/registrationcontextinformation.hxx b/setup_native/source/win32/customactions/reg4msdoc/registrationcontextinformation.hxx deleted file mode 100644 index 832f67280..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/registrationcontextinformation.hxx +++ /dev/null @@ -1,175 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -// MsOfficeDocumentInformation.h: Schnittstelle f�r die Klasse MsOfficeDocumentInformation. -// -////////////////////////////////////////////////////////////////////// - -#ifndef _REGISTRATIONCONTEXTINFORMATION_HXX_ -#define _REGISTRATIONCONTEXTINFORMATION_HXX_ - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msi.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <string> - -/** A simple implementation class that returns the - appropriate display names for the Microsoft - Office document types. - Under Windows 9x this class checks if the - document display name is convertable to an ANSI - string and if not returns an english default. - So we avoid garbage if soemone for instance - installs an japanese StarOffice/OpenOffice - under a German Windows 98 for instance. -*/ -class RegistrationContextInformation -{ -public: - - enum SHELL_COMMAND {New, Open, Print, Printto}; - enum OFFICE_APPLICATION {Office, Writer, Calc, Impress}; - - RegistrationContextInformation(MSIHANDLE hMsi, const std::wstring& OpenOfficeExecutablePath); - - /** Word document information - The icon index is the index of the icon - in soffice.exe to be associated with - word document files - */ - std::wstring GetWordDocumentDisplayName() const; - std::wstring GetWordDocumentFileExtension() const; - std::wstring GetWordDocumentDefaultIconEntry() const; - std::wstring GetWordDocumentDefaultShellCommand() const; - - /** MOOX Word document information - The icon index is the index of the icon - in soffice.exe to be associated with - word document files - */ - std::wstring GetMOOXWordDocumentDisplayName() const; - std::wstring GetMOOXWordDocumentFileExtension() const; - - /** Word template information - The icon index is the index of the icon - in soffice.exe to be associated with - word template files - */ - std::wstring GetWordTemplateDisplayName() const; - std::wstring GetWordTemplateFileExtension() const; - std::wstring GetWordTemplateDefaultIconEntry() const; - std::wstring GetWordTemplateDefaultShellCommand() const; - - /** Rtf document information - The icon index is the index of the icon - in soffice.exe to be associated with - rtf document files - */ - std::wstring GetRtfDocumentDisplayName() const; - std::wstring GetRtfDocumentFileExtension() const; - std::wstring GetRtfDocumentDefaultIconEntry() const; - std::wstring GetRtfDocumentDefaultShellCommand() const; - - /** Excel sheet information - The icon index is the index of the icon - in soffice.exe to be associated with - Excel sheets - */ - std::wstring GetExcelSheetDisplayName() const; - std::wstring GetExcelSheetFileExtension() const; - std::wstring GetExcelSheetDefaultIconEntry() const; - std::wstring GetExcelSheetDefaultShellCommand() const; - - std::wstring GetMOOXExcelSheetDisplayName() const; - std::wstring GetMOOXExcelSheetFileExtension() const; - - /** Excel template information - The icon index is the index of the icon - in soffice.exe to be associated with - Excel template files - */ - std::wstring GetExcelTemplateDisplayName() const; - std::wstring GetExcelTemplateFileExtension() const; - std::wstring GetExcelTemplateDefaultIconEntry() const; - std::wstring GetExcelTemplateDefaultShellCommand() const; - - /** PowerPoint document information - The icon index is the index of the icon - in soffice.exe to be associated with - PowerPoint document files - */ - std::wstring GetPowerPointDocumentDisplayName() const; - std::wstring GetPowerPointDocumentFileExtension() const; - std::wstring GetPowerPointDocumentDefaultIconEntry() const; - std::wstring GetPowerPointDocumentDefaultShellCommand() const; - - std::wstring GetMOOXPowerPointDocumentDisplayName() const; - std::wstring GetMOOXPowerPointDocumentFileExtension() const; - - /** PowerPoint template information - The icon index is the index of the icon - in soffice.exe to be associated with - PowerPoint template files - */ - std::wstring GetPowerPointTemplateDisplayName() const; - std::wstring GetPowerPointTemplateFileExtension() const; - std::wstring GetPowerPointTemplateDefaultIconEntry() const; - std::wstring GetPowerPointTemplateDefaultShellCommand() const; - - /** PowerPoint Show information - */ - std::wstring GetPowerPointShowDisplayName() const; - std::wstring GetPowerPointShowFileExtension() const; - std::wstring GetPowerPointShowDefaultIconEntry() const; - std::wstring GetPowerPointShowDefaultShellCommand() const; - - /** The string for the "New" command that should appear - in the Explorer context menu when someone right - clicks a Microsoft document - */ - std::wstring ShellNewCommandDisplayName() const; - - /** The string for the "Edit" command that should - appear in the Explorer context menu when someone - right clicks a document - */ - std::wstring ShellEditCommandDisplayName() const; - - /** A friendly name for the application - */ - std::wstring GetOpenOfficeFriendlyAppName() const; - - /** The path to the StarOffice/OpenOffice executable - */ - std::wstring GetOpenOfficeExecutablePath() const; - - /** The name of the executable (currently "soffice.exe" - but may change in the future, who knows) - */ - std::wstring GetOpenOfficeExecutableName() const; - - /** A command line for the specified shell command - */ - std::wstring GetOpenOfficeCommandline(SHELL_COMMAND ShellCommand, - OFFICE_APPLICATION OfficeApp) const; - -private: - bool IsConvertableToAnsi(const std::wstring& String) const; - - void ExtractOpenOfficeExecNameFromPath(); - -private: - MSIHANDLE msihandle_; - bool m_IsWin9x; - std::wstring m_OOExecPath; - std::wstring m_OOExecName; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/registry.cxx b/setup_native/source/win32/customactions/reg4msdoc/registry.cxx deleted file mode 100644 index d2201e076..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/registry.cxx +++ /dev/null @@ -1,245 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "registry.hxx" - -#include <Shlwapi.h> -#include <assert.h> -#include <algorithm> - -#ifdef _MSC_VER -#pragma warning(disable : 4786 4350) -#endif - -//----------------------------------------------------- -/** Create instance and open the specified Registry key - - @throws RegistryWriteAccessDenyException - RegistryAccessDenyException - RegistryKeyNotFoundException -*/ -RegistryKeyImpl::RegistryKeyImpl(HKEY RootKey, const std::wstring& KeyName) : - m_hRootKey(RootKey), - m_hSubKey(0), - m_KeyName(KeyName), - m_IsWriteable(false) -{ -} - -//----------------------------------------------------- -/** Create instance and open the specified Registry key - - @throws RegistryWriteAccessDenyException - RegistryAccessDenyException - RegistryKeyNotFoundException -*/ -RegistryKeyImpl::RegistryKeyImpl(HKEY RootKey) : - m_hRootKey(RootKey), - m_hSubKey(0), - m_IsWriteable(false) -{ -} - -//----------------------------------------------------- -/** Create an instances of the specified Registry key, - the key is assumed to be already opened. -*/ -RegistryKeyImpl::RegistryKeyImpl(HKEY RootKey, HKEY SubKey, const std::wstring& KeyName, bool Writeable) : - m_hRootKey(RootKey), - m_hSubKey(SubKey), - m_KeyName(KeyName), - m_IsWriteable(Writeable) -{ -} - -//----------------------------------------------------- -/** -*/ -RegistryKeyImpl::~RegistryKeyImpl() -{ - if (IsOpen()) - Close(); -} - - -//############################################ -// Queries -//############################################ - - -//----------------------------------------------------- -/** The name of the key at hand, maybe empty - if this is any of the root keys -*/ -std::wstring RegistryKeyImpl::GetName() const -{ - return m_KeyName; -} - -//----------------------------------------------------- -/** -*/ -bool RegistryKeyImpl::IsOpen() const -{ - return m_hSubKey != 0; -} - -//----------------------------------------------------- -/** Is this one of the root keys - HKEY_CLASSES_ROOT - HKEY_CURRENT_USER - etc. -*/ -bool RegistryKeyImpl::IsRootKey() const -{ - return (0 == m_KeyName.length()); -} - -//----------------------------------------------------- -/** Do we have write access on the key at hand -*/ -bool RegistryKeyImpl::IsWriteable() const -{ - return m_IsWriteable; -} - -//----------------------------------------------------- -/** Convenience function to determine if the - Registry key at hand has the specified - value - - @precond IsOpen = true - - throws RegistryAccessDenyException -*/ -bool RegistryKeyImpl::HasValue(const std::wstring& Name) const -{ - StringListPtr names = GetSubValueNames(); - - StringList::iterator iter_end = names->end(); - StringList::iterator iter = std::find(names->begin(), iter_end, Name); - - return (iter != iter_end); -} - -struct CompareNamesCaseInsensitive -{ - CompareNamesCaseInsensitive(const std::wstring& Name) : - name_(Name) - {} - - bool operator() (const std::wstring& value) - { - return (0 == StrCmpI(value.c_str(), name_.c_str())); - } - - std::wstring name_; -}; - -//----------------------------------------------------- -/** Convenience function to determine if the - Registry key at hand has the specified - sub-key - - @precond IsOpen = true - - throws RegistryAccessDenyException -*/ -bool RegistryKeyImpl::HasSubKey(const std::wstring& Name) const -{ - StringListPtr names = GetSubKeyNames(); - - StringList::iterator iter_end = names->end(); - StringList::iterator iter = std::find_if(names->begin(), iter_end, CompareNamesCaseInsensitive(Name)); - - return (iter != iter_end); -} - -//----------------------------------------------------- -/** -*/ -void RegistryKeyImpl::Close() -{ - if (RegCloseKey(m_hSubKey) != ERROR_SUCCESS) { - assert(false); - } - - m_hSubKey = 0; - m_IsWriteable = false; -} - -//----------------------------------------------------- -/** Copies the specified value from RegistryKey to - the registry key at hand, if a value with this - name already exist under the registry key at hand - it will be overwritten - - @precond IsOpen = true - IsWriteable = true - RegistryKey.HasSubValue(Name) = true - - @throws RegistryIOException - RegistryWriteAccessDeniedException - RegistryValueNotFoundException -*/ -void RegistryKeyImpl::CopyValue(const RegistryKey& RegistryKey, const std::wstring& Name) -{ - assert(RegistryKey->HasValue(Name)); -#ifdef __MINGW32__ - SetValue((const RegistryValue&)(RegistryKey->GetValue(Name))); -#else - SetValue(RegistryKey->GetValue(Name)); -#endif - assert(HasValue(Name)); -} - -/** Copies the specified value from RegistryKey to - the registry key at hand under a new name, - if a value with this name already exist there - it will be overwritten - - @precond IsOpen = true - IsWriteable = true - RegistryKey.HasSubValue(Name) = true - - @throws RegistryIOException - RegistryWriteAccessDeniedException - RegistryValueNotFoundException -*/ -void RegistryKeyImpl::CopyValue(const RegistryKey& RegistryKey, const std::wstring& Name, const std::wstring& NewName) -{ - assert(RegistryKey->HasValue(Name)); - - RegistryValue RegVal = RegistryKey->GetValue(Name); - RegVal->SetName(NewName); - SetValue(RegVal); - - assert(HasValue(NewName)); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/registry.hxx b/setup_native/source/win32/customactions/reg4msdoc/registry.hxx deleted file mode 100644 index 447336b2b..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/registry.hxx +++ /dev/null @@ -1,337 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _REGISTRY_HXX_ -#define _REGISTRY_HXX_ - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#include <windows.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <memory> -#include <vector> -#include <string> - -#include "registryvalueimpl.hxx" - -//--------------------------------------- -// forward declaration -//--------------------------------------- - -class RegistryKeyImpl; - -//--------------------------------------- -// typedefs -//--------------------------------------- - -typedef std::auto_ptr<RegistryKeyImpl> RegistryKey; -typedef std::vector<std::wstring> StringList; -typedef std::auto_ptr<StringList> StringListPtr; - -class RegistryKeyImpl -{ -public: - - //############################################ - // Destruction - //############################################ - - virtual ~RegistryKeyImpl(); - - - //############################################ - // Queries - //############################################ - - - /** The name of the key at hand, maybe empty - if this is any of the root keys - */ - std::wstring GetName() const; - - /** The number of sub values of the key at hand - - @precond IsOpen = true - - @throws - */ - virtual size_t GetSubValueCount() const = 0; - - /** The number of sub-keys of the key at hand - - @precond IsOpen = true - - @throws - */ - virtual size_t GetSubKeyCount() const = 0; - - bool IsOpen() const; - - /** Do we have write access on the key at hand - */ - bool IsWriteable() const; - - /** The StringList will be allocated on the heap, - so this is in fact a transfer of ownership - to the caller - - @precond IsOpen = true - - @throws RegistryIOException - */ - virtual StringListPtr GetSubKeyNames() const = 0; - - /** The StringList will be allocated on the heap, - so this is in fact a transfer of ownership - to the caller - - @precond IsOpen = true - - @throws RegistryIOException - */ - virtual StringListPtr GetSubValueNames() const = 0; - - /** Get the specified registry value - - @precond IsOpen = true - */ - virtual RegistryValue GetValue(const std::wstring& Name) const = 0; - - /** Get the specified registry value, return the given - default value if value not found - - @precond IsOpen = true - */ - virtual RegistryValue GetValue(const std::wstring& Name, const RegistryValue& Default) const = 0; - - /** Convenience function to determine if the - Registry key at hand has the specified - value - - @precond IsOpen = true - - throws RegistryAccessDenyException - */ - bool HasValue(const std::wstring& Name) const; - - /** Convenience function to determine if the - Registry key at hand has the specified - sub-key - - @precond IsOpen = true - - throws RegistryAccessDenyException - */ - bool HasSubKey(const std::wstring& Name) const; - - - //############################################ - // Commands - //############################################ - - - /** Open the registry key, has no effect if - the key is already open - - @precond IsOpen = false - - @throws RegistryWriteAccessDenyException - RegistryAccessDenyException - */ - virtual void Open(bool Writeable = true) = 0; - - /** Close the registry key at hand, further - using it without re-opening may cause - RegistryIOExceptions to be thrown - - This is a template method that calls - ImplClose which has to be overwritten - by sub-classes - */ - void Close(); - - /** Open the specified sub-key of the registry key - at hand - - @precond IsOpen = true - HasSubKey(Name) = true - - @throws RegistryIOException - RegistryKeyNotFoundException - RegistryAccessDeniedException - */ - virtual RegistryKey OpenSubKey(const std::wstring& Name, bool Writeable = true) = 0; - - /** Creates a new sub-key below the key at hand - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException - */ - virtual RegistryKey CreateSubKey(const std::wstring& Name) = 0; - - /** Deletes a sub-key below the key at hand, the - key must not have sub-keys - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException - */ - virtual void DeleteSubKey(const std::wstring& Name) = 0; - - /** Deletes a sub-key below the key at hand with all - its sub-keys - - @precond IsOpen = true - IsWriteable = true; - - @throws RegistryIOException - RegistryWriteAccessDenyException - */ - virtual void DeleteSubKeyTree(const std::wstring& Name) = 0; - - /** Delete the specified value - - @precond IsOpen = true - IsWriteable = true - HasValue(Name) = true - - @throws RegistryIOException - RegistryWriteAccessDeniedException - RegistryValueNotFoundException - */ - virtual void DeleteValue(const std::wstring& Name) = 0; - - /** Set the specified registry value - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException - */ - virtual void SetValue(const RegistryValue& Value) = 0; - - - /** Copies the specified value from RegistryKey to - the registry key at hand, if a value with this - name already exist under the registry key at hand - it will be overwritten - - @precond IsOpen = true - IsWriteable = true - RegistryKey.HasSubValue(Name) = true - - @throws RegistryIOException - RegistryWriteAccessDeniedException - RegistryValueNotFoundException - */ - virtual void CopyValue(const RegistryKey& RegistryKey, const std::wstring& Name); - - /** Copies the specified value from RegistryKey to - the registry key at hand under a new name, - if a value with this name already exist there - it will be overwritten - - @precond IsOpen = true - IsWriteable = true - RegistryKey.HasSubValue(Name) = true - - @throws RegistryIOException - RegistryWriteAccessDeniedException - RegistryValueNotFoundException - */ - virtual void CopyValue(const RegistryKey& RegistryKey, const std::wstring& Name, const std::wstring& NewName); - - //############################################ - // Creation - // only possible through WindowsRegistry class - //############################################ - - -protected: - /** Create instance of the specified Registry key - - @throws RegistryWriteAccessDenyException - RegistryAccessDenyException - RegistryKeyNotFoundException - */ - RegistryKeyImpl(HKEY RootKey, const std::wstring& KeyName); - - /** Create instance of the specified Registry key. - RootKey should only one of the predefined - keys HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, - HKEY_LOCAL_MACHINE, HKEY_USERS - - @throws RegistryWriteAccessDenyException - RegistryAccessDenyException - RegistryKeyNotFoundException - */ - RegistryKeyImpl(HKEY RootKey); - - /** Create an instances of the specified Registry key, - the key is assumed to be already opened. - */ - RegistryKeyImpl(HKEY RootKey, HKEY SubKey, const std::wstring& KeyName, bool Writeable = true); - - /** Is this one of the root keys - HKEY_CLASSES_ROOT - HKEY_CURRENT_USER - etc. - */ - bool IsRootKey() const; - -protected: - HKEY m_hRootKey; - HKEY m_hSubKey; - std::wstring m_KeyName; - bool m_IsWriteable; - -// prevent copy and assignment -private: - RegistryKeyImpl(const RegistryKeyImpl&); - RegistryKeyImpl& operator=(const RegistryKeyImpl&); - -//###################################### -// Friend declarations -//###################################### - -friend class WindowsRegistry; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/registryexception.cxx b/setup_native/source/win32/customactions/reg4msdoc/registryexception.cxx deleted file mode 100644 index d4fc34d0d..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/registryexception.cxx +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -// RegistryException.cpp: Implementierung der Klasse RegistryException. -// -////////////////////////////////////////////////////////////////////// - -#include "registryexception.hxx" - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#include <windows.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -////////////////////////////////////////////////////////////////////// -// Konstruktion/Destruktion -////////////////////////////////////////////////////////////////////// - -RegistryException::RegistryException(long ErrorCode) : - m_ErrorCode(ErrorCode), - m_ErrorMsg(0) -{ -} - -RegistryException::~RegistryException() throw() -{ - if (m_ErrorMsg) - LocalFree(m_ErrorMsg); -} - -const char* RegistryException::what() const throw() -{ - FormatMessage( - FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, - m_ErrorCode, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language - (LPTSTR) &m_ErrorMsg, - 0, - NULL); - - return reinterpret_cast<char*>(m_ErrorMsg); -} - -long RegistryException::GetErrorCode() const -{ - return m_ErrorCode; -} - -//####################################### -// Thrown when a Registry key is accessed -// that is closed -//####################################### - -RegistryIOException::RegistryIOException(long ErrorCode) : - RegistryException(ErrorCode) -{ -}; - -RegistryNoWriteAccessException::RegistryNoWriteAccessException(long ErrorCode) : - RegistryException(ErrorCode) -{ -}; - -RegistryAccessDeniedException::RegistryAccessDeniedException(long ErrorCode) : - RegistryException(ErrorCode) -{ -}; - -RegistryValueNotFoundException::RegistryValueNotFoundException(long ErrorCode) : - RegistryException(ErrorCode) -{ -}; - -RegistryKeyNotFoundException::RegistryKeyNotFoundException(long ErrorCode) : - RegistryException(ErrorCode) -{ -}; - -RegistryInvalidOperationException::RegistryInvalidOperationException(long ErrorCode) : - RegistryException(ErrorCode) -{ -}; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/registryexception.hxx b/setup_native/source/win32/customactions/reg4msdoc/registryexception.hxx deleted file mode 100644 index 96ce60367..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/registryexception.hxx +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -// RegistryException.h: Schnittstelle für die Klasse RegistryException. -// -////////////////////////////////////////////////////////////////////// - -#ifndef _REGISTRYEXCEPTION_HXX_ -#define _REGISTRYEXCEPTION_HXX_ - -#include <exception> - -//####################################### -// Base class for all Registry exceptions -//####################################### - -class RegistryException : public std::exception -{ -public: - - RegistryException(long ErrorCode); - - virtual ~RegistryException() throw(); - - /** - @descr Returns a string that describes the error if - available, else NULL will be returned. The - returned string is only temporary so the caller - has to copy it if he needs the string further. - */ - virtual const char* what() const throw(); - - /** - @descr Returns the error code. - */ - - long GetErrorCode() const; - -private: - long m_ErrorCode; - void* m_ErrorMsg; -}; - -//####################################### -// Thrown when a Registry key is accessed -// that is closed -//####################################### - -class RegistryIOException : public RegistryException -{ -public: - RegistryIOException(long ErrorCode); -}; - -//####################################### -// Thrown when trying to write to a readonly registry key -//####################################### - -class RegistryNoWriteAccessException : public RegistryException -{ -public: - RegistryNoWriteAccessException(long ErrorCode); -}; - -//####################################### -// Thrown when trying to access an registry key, with improper -// access rights -//####################################### - -class RegistryAccessDeniedException : public RegistryException -{ -public: - RegistryAccessDeniedException(long ErrorCode); -}; - -//####################################### -// A specified registry value could not be read because it is not -// available -//####################################### - -class RegistryValueNotFoundException : public RegistryException -{ -public: - RegistryValueNotFoundException(long ErrorCode); -}; - -//####################################### -// A specified registry key was not found -//####################################### - -class RegistryKeyNotFoundException : public RegistryException -{ -public: - RegistryKeyNotFoundException(long ErrorCode); -}; - -//####################################### -// A specified registry operation is invalid -//####################################### - -class RegistryInvalidOperationException : public RegistryException -{ -public: - RegistryInvalidOperationException(long ErrorCode); -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/registryvalueimpl.cxx b/setup_native/source/win32/customactions/reg4msdoc/registryvalueimpl.cxx deleted file mode 100644 index 71501a8a6..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/registryvalueimpl.cxx +++ /dev/null @@ -1,192 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -// RegistryValueImpl.cpp: Implementierung der Klasse RegistryValueImpl. -// -////////////////////////////////////////////////////////////////////// - -#include "registryvalueimpl.hxx" - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#include <windows.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <assert.h> - -#include "stringconverter.hxx" - -//################################# -// Creation/Destruction -//################################# - -//-------------------------------------------- -/** -*/ -RegistryValueImpl::RegistryValueImpl(const std::wstring& Name, int Value) : - m_Name(Name), - m_Type(REG_DWORD), - m_IntData(Value) -{ -} - -//-------------------------------------------- -/** -*/ -RegistryValueImpl::RegistryValueImpl(const std::wstring& Name, const std::wstring& Value) : - m_Name(Name), - m_Type(REG_SZ), - m_StringData(Value), - m_IntData(0) -{ -} - -//-------------------------------------------- -/** -*/ -RegistryValueImpl::RegistryValueImpl(const std::wstring& Name, const std::string& Value) : - m_Name(Name), - m_Type(REG_SZ), - m_IntData(0) -{ - m_StringData = AnsiToUnicodeString(Value); -} - -#if (_MSC_VER >= 1300) -RegistryValueImpl::RegistryValueImpl(const RegistryValueImpl& s) : - m_Name(s.m_Name), - m_Type(s.m_Type), - m_StringData(s.m_StringData), - m_IntData(s.m_IntData) - { -} -#endif -//-------------------------------------------- -/** -*/ -RegistryValueImpl::~RegistryValueImpl() -{ -} - -//################################# -// Query -//################################# - -//-------------------------------------------- -/** Returns the name of the value -*/ -std::wstring RegistryValueImpl::GetName() const -{ - return m_Name; -} - -//-------------------------------------------- -/** Return the size of data held -*/ -size_t RegistryValueImpl::GetDataSize() const -{ - size_t size = 0; - - if (REG_DWORD == m_Type) - size = sizeof(m_IntData); - else if (REG_SZ == m_Type) - size = m_StringData.length() ? ((m_StringData.length() + 1) * sizeof(wchar_t)) : 0; - - return size; -} - -//-------------------------------------------- -/** Get a pointer to the data buffer - in order to copy the data -*/ -const void* RegistryValueImpl::GetDataBuffer() const -{ - const void* pData = 0; - - if (REG_DWORD == m_Type) - pData = reinterpret_cast<const void*>(&m_IntData); - else if (REG_SZ == m_Type) - pData = reinterpret_cast<const void*>(m_StringData.c_str()); - - return pData; -} - -//-------------------------------------------- -/** Returns the data as string -*/ -std::wstring RegistryValueImpl::GetDataAsUniString() const -{ - assert(REG_SZ == m_Type); - return m_StringData; -} - -//-------------------------------------------- -/** Returns the data as string -*/ -std::string RegistryValueImpl::GetDataAsAnsiString() const -{ - assert(REG_SZ == m_Type); - return UnicodeToAnsiString(m_StringData); -} - -//-------------------------------------------- -/** Returns the data as number -*/ -int RegistryValueImpl::GetDataAsInt() const -{ - assert(REG_DWORD == m_Type); - return m_IntData; -} - -//-------------------------------------------- -/** Returns the type of the data -*/ -int RegistryValueImpl::GetType() const -{ - return m_Type; -} - - -//################################# -// Command -//################################# - - -//-------------------------------------------- -/** Set a new name -*/ -void RegistryValueImpl::SetName(const std::wstring& NewName) -{ - m_Name = NewName; -} - -//-------------------------------------------- -/** -*/ -void RegistryValueImpl::SetValue(const std::wstring& NewValue) -{ - m_Type = REG_SZ; - m_StringData = NewValue; -} - -//-------------------------------------------- -/** -*/ -void RegistryValueImpl::SetValue(const std::string& NewValue) -{ - m_Type = REG_SZ; - m_StringData = AnsiToUnicodeString(NewValue); -} - -//-------------------------------------------- -/** -*/ -void RegistryValueImpl::SetValue(int NewValue) -{ - m_Type = REG_DWORD; - m_IntData = NewValue; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/registryvalueimpl.hxx b/setup_native/source/win32/customactions/reg4msdoc/registryvalueimpl.hxx deleted file mode 100644 index 48bfcea9b..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/registryvalueimpl.hxx +++ /dev/null @@ -1,111 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -// RegistryValueImpl.h: Schnittstelle für die Klasse RegistryValueImpl. -// -////////////////////////////////////////////////////////////////////// - -#ifndef _REGISTRYVALUEIMPL_HXX_ -#define _REGISTRYVALUEIMPL_HXX_ - -#include <memory> -#include <string> - -class RegistryValueImpl -{ -public: - - //################################# - // Creation/Destruction - //################################# - - RegistryValueImpl(const std::wstring& Name, int Value); - - RegistryValueImpl(const std::wstring& Name, const std::wstring& Value); - - RegistryValueImpl(const std::wstring& Name, const std::string& Value); - - #if (_MSC_VER >= 1300) - RegistryValueImpl::RegistryValueImpl(const RegistryValueImpl& s); - #endif - - virtual ~RegistryValueImpl(); - - - //################################# - // Query - //################################# - - - /** Returns the name of the value - */ - std::wstring GetName() const; - - /** Return the size of data held - */ - size_t GetDataSize() const; - - /** Get a pointer to the data buffer - in order to copy the data - */ - const void* GetDataBuffer() const; - - /** Returns the data as unicode string - - @precond GetType = STRING - */ - std::wstring GetDataAsUniString() const; - - /** Returns the data as ansi string - - @precond GetType = STRING - */ - std::string GetDataAsAnsiString() const; - - /** Returns the data as number - - @precond GetType = NUMBER - */ - int GetDataAsInt() const; - - /** Returns the type of the data - */ - int GetType() const; - - //################################# - // Command - //################################# - - - /** Set a new name - */ - void SetName(const std::wstring& NewName); - - /** - */ - void SetValue(const std::wstring& NewValue); - - /** - */ - void SetValue(const std::string& NewValue); - - /** - */ - void SetValue(int NewValue); - - //################################# - // Private data - //################################# - -private: - std::wstring m_Name; - int m_Type; - std::wstring m_StringData; - int m_IntData; -}; - - -typedef std::auto_ptr<RegistryValueImpl> RegistryValue; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/registryw9x.cxx b/setup_native/source/win32/customactions/reg4msdoc/registryw9x.cxx deleted file mode 100644 index fa860ee62..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/registryw9x.cxx +++ /dev/null @@ -1,538 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "registryw9x.hxx" - -#include <windows.h> -#include <malloc.h> -#include "registryvalueimpl.hxx" -#include "registryexception.hxx" -#include "stringconverter.hxx" - -#include <assert.h> - -#ifdef _MSC_VER -#pragma warning(disable : 4786 4350) -#endif - -const size_t MAX_TMP_BUFF_SIZE = 1024 * sizeof(wchar_t); - - -//############################################ -// Creation -// only possible through WindowsRegistry class -//############################################ - - -//----------------------------------------------------- -/** Create instance and open the specified Registry key -*/ -RegistryKeyImplWin9x::RegistryKeyImplWin9x(HKEY RootKey, const std::wstring& KeyName) : - RegistryKeyImpl(RootKey, KeyName) -{ -} - -//----------------------------------------------------- -/** Create instance and open the specified Registry key -*/ -RegistryKeyImplWin9x::RegistryKeyImplWin9x(HKEY RootKey) : - RegistryKeyImpl(RootKey) -{ -} - -//----------------------------------------------------- -/** Create an instances of the specified Registry key, - the key is assumed to be already opened. -*/ -RegistryKeyImplWin9x::RegistryKeyImplWin9x(HKEY RootKey, HKEY SubKey, const std::wstring& KeyName, bool Writeable) : - RegistryKeyImpl(RootKey, SubKey, KeyName, Writeable) -{ -} - - -//############################################ -// Queries -//############################################ - - -//----------------------------------------------------- -/** The number of sub values of the key at hand - - @precond IsOpen = true - - @throws -*/ -size_t RegistryKeyImplWin9x::GetSubValueCount() const -{ - assert(IsOpen()); - - DWORD nSubValues = 0; - - LONG rc = RegQueryInfoKeyA( - m_hSubKey, - 0, 0, 0, 0, 0, 0, &nSubValues, 0, 0, 0, 0); - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); - - return nSubValues; -} - -//----------------------------------------------------- -/** The number of sub-keys of the key at hand - - @precond IsOpen = true - - @throws -*/ -size_t RegistryKeyImplWin9x::GetSubKeyCount() const -{ - assert(IsOpen()); - - DWORD nSubKeys = 0; - - LONG rc = RegQueryInfoKeyA( - m_hSubKey, - 0, 0, 0, &nSubKeys, 0, 0, 0, 0, 0, 0, 0); - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); - - return nSubKeys; -} - -StringListPtr RegistryKeyImplWin9x::GetSubKeyNames() const -{ - assert(IsOpen()); - - char buff[1024]; - DWORD buff_size = sizeof(buff); - FILETIME ftime; - - StringList* key_names = new StringList(); - - LONG rc = ERROR_SUCCESS; - - for (DWORD i = 0; /* left empty */; i++) - { - rc = RegEnumKeyExA( - m_hSubKey, i, buff, &buff_size, - 0, 0, 0, &ftime); - - if (ERROR_SUCCESS != rc && - ERROR_MORE_DATA != rc) - break; - - buff_size = sizeof(buff); - - key_names->push_back(AnsiToUnicodeString(buff)); - } - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_NO_MORE_ITEMS != rc && ERROR_SUCCESS != rc) - throw RegistryException(rc); - - return (StringListPtr) key_names; -} - -StringListPtr RegistryKeyImplWin9x::GetSubValueNames() const -{ - assert(IsOpen()); - - char buff[1024]; - DWORD buff_size = sizeof(buff); - - StringList* value_names = new StringList(); - - LONG rc = ERROR_SUCCESS; - - for (DWORD i = 0; /* left empty */; i++) - { - rc = RegEnumValueA( - m_hSubKey, i, buff, &buff_size, - 0, 0, 0, 0); - - if (ERROR_SUCCESS != rc && - ERROR_MORE_DATA != rc) - break; - - buff_size = sizeof(buff); - - value_names->push_back(AnsiToUnicodeString(buff)); - } - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_NO_MORE_ITEMS != rc && ERROR_SUCCESS != rc) - throw RegistryException(rc); - - return (StringListPtr) value_names; -} - -//----------------------------------------------------- -/** Get the specified registry value - - @precond IsOpen = true -*/ -RegistryValue RegistryKeyImplWin9x::GetValue(const std::wstring& Name) const -{ - assert(IsOpen()); - - DWORD Type; - char buff[MAX_TMP_BUFF_SIZE]; - DWORD size = sizeof(buff); - - LONG rc = RegQueryValueExA( - m_hSubKey, - UnicodeToAnsiString(Name).c_str(), - 0, - &Type, - reinterpret_cast<LPBYTE>(buff), - &size); - - if (ERROR_FILE_NOT_FOUND == rc) - throw RegistryValueNotFoundException(rc); - else if (ERROR_ACCESS_DENIED == rc) - throw RegistryAccessDeniedException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); - - RegistryValue regval; - - if (REG_DWORD == Type) - { - regval = RegistryValue(new RegistryValueImpl(Name, *(reinterpret_cast<int*>(buff)))); - } - else if (REG_SZ == Type || REG_EXPAND_SZ == Type || REG_MULTI_SZ == Type) - { - if (size > 0) - regval = RegistryValue(new RegistryValueImpl(Name, std::string(reinterpret_cast<char*>(buff)))); - else - regval = RegistryValue(new RegistryValueImpl(Name, std::string())); - } - else - { - assert(false); - } - - return regval; -} - -//----------------------------------------------------- -/** Get the specified registry value, return the given - default value if value not found - - @precond IsOpen = true -*/ -RegistryValue RegistryKeyImplWin9x::GetValue(const std::wstring& Name, const RegistryValue& Default) const -{ - assert(IsOpen()); - - DWORD Type; - char buff[MAX_TMP_BUFF_SIZE]; - DWORD size = sizeof(buff); - - LONG rc = RegQueryValueExA( - m_hSubKey, - UnicodeToAnsiString(Name).c_str(), - 0, - &Type, - reinterpret_cast<LPBYTE>(buff), - &size); - - if (ERROR_FILE_NOT_FOUND == rc) - { - #if !defined(__MINGW32__) && (_MSC_VER < 1300) - return Default; - #else - RegistryValue regval_ptr; - regval_ptr = RegistryValue(new RegistryValueImpl(*Default)); - return regval_ptr; - #endif - } - - if (ERROR_ACCESS_DENIED == rc) - throw RegistryAccessDeniedException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); - - RegistryValue regval; - - if (REG_DWORD == Type) - regval = RegistryValue(new RegistryValueImpl(Name, *reinterpret_cast<int*>(buff))); - else if (REG_SZ == Type || REG_EXPAND_SZ == Type || REG_MULTI_SZ == Type) - regval = RegistryValue(new RegistryValueImpl(Name, std::string(reinterpret_cast<char*>(buff)))); - else - assert(false); - - return regval; -} - - -//############################################ -// Commands -//############################################ - - -//----------------------------------------------------- -/** Open the registry key, has no effect if - the key is already open - - @precond IsOpen = false - - @throws RegistryKeyNotFoundException - RegistryWriteAccessDenyException - RegistryAccessDenyException -*/ -void RegistryKeyImplWin9x::Open(bool Writeable) -{ - assert(!IsOpen()); - - REGSAM regsam = KEY_READ; - - if (Writeable) - regsam |= KEY_WRITE; - - LONG rc = RegOpenKeyExA( - m_hRootKey, - UnicodeToAnsiString(m_KeyName).c_str(), - 0, - regsam, - &m_hSubKey); - - if (ERROR_FILE_NOT_FOUND == rc) - throw RegistryKeyNotFoundException(rc); - else if (ERROR_ACCESS_DENIED == rc) - throw RegistryAccessDeniedException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); - - m_IsWriteable = Writeable; - - assert(IsOpen()); -} - -//----------------------------------------------------- -/** Open the specified sub-key of the registry key - at hand - - @precond IsOpen = true - HasSubKey(Name) = true - - @throws RegistryIOException - RegistryKeyNotFoundException - RegistryAccessDeniedException -*/ -RegistryKey RegistryKeyImplWin9x::OpenSubKey(const std::wstring& Name, bool Writeable) -{ - RegistryKey regkey(new RegistryKeyImplWin9x(m_hSubKey, Name)); - regkey->Open(Writeable); - return regkey; -} - -//----------------------------------------------------- -/** Creates a new sub-key below the key at hand - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException -*/ - -RegistryKey RegistryKeyImplWin9x::CreateSubKey(const std::wstring& Name) -{ - assert(IsOpen()); - assert(IsWriteable()); - - HKEY hRoot = IsRootKey() ? m_hRootKey : m_hSubKey; - - HKEY hKey; - - LONG rc = RegCreateKeyExA( - hRoot, - UnicodeToAnsiString(Name).c_str(), - 0, - 0, - REG_OPTION_NON_VOLATILE, - KEY_READ | KEY_WRITE, - 0, - &hKey, - 0); - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_ACCESS_DENIED == rc) - throw RegistryAccessDeniedException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); - - return RegistryKey(new RegistryKeyImplWin9x(hRoot, hKey, Name)); -} - -//----------------------------------------------------- -/** Deletes a sub-key below the key at hand, the - key must not have sub-keys - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException -*/ -void RegistryKeyImplWin9x::DeleteSubKey(const std::wstring& Name) -{ - assert(IsOpen()); - assert(IsWriteable()); - assert(HasSubKey(Name)); - - RegistryKey SubKey = OpenSubKey(Name); - - size_t nSubKeyCount = SubKey->GetSubKeyCount(); - - assert(0 == nSubKeyCount); - - if (nSubKeyCount) - throw RegistryInvalidOperationException(ERROR_NOT_SUPPORTED); - - LONG rc = RegDeleteKeyA(m_hSubKey, UnicodeToAnsiString(Name).c_str()); - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_ACCESS_DENIED == rc) - throw RegistryAccessDeniedException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); -} - -//----------------------------------------------------- -/** Deletes a sub-key below the key at hand with all - its sub-keys - - @precond IsOpen = true - IsWriteable = true; - - @throws RegistryIOException - RegistryWriteAccessDenyException -*/ -void RegistryKeyImplWin9x::DeleteSubKeyTree(const std::wstring& Name) -{ - LONG rc = RegDeleteKeyA(m_hSubKey, UnicodeToAnsiString(Name).c_str()); - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_ACCESS_DENIED == rc) - throw RegistryAccessDeniedException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); -} - -//----------------------------------------------------- -/** Delete the specified value - - @precond IsOpen = true - IsWriteable = true - HasValue(Name) = true - - @throws RegistryIOException - RegistryWriteAccessDeniedException - RegistryValueNotFoundException -*/ -void RegistryKeyImplWin9x::DeleteValue(const std::wstring& Name) -{ - assert(IsOpen()); - assert(HasValue(Name)); - assert(IsWriteable()); - - LONG rc = RegDeleteValueA( - m_hSubKey, - UnicodeToAnsiString(Name).c_str()); - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_ACCESS_DENIED == rc) - throw RegistryNoWriteAccessException(rc); - else if (ERROR_FILE_NOT_FOUND == rc) - throw RegistryValueNotFoundException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); -} - -//----------------------------------------------------- -/** Set the specified registry value - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException -*/ -void RegistryKeyImplWin9x::SetValue(const RegistryValue& Value) -{ - assert(IsOpen()); - assert(IsWriteable()); - - LONG rc = ERROR_SUCCESS; - - if (REG_SZ == Value->GetType()) - { - std::string AnsiStr = Value->GetDataAsAnsiString(); - - rc = RegSetValueExA( - m_hSubKey, - UnicodeToAnsiString(Value->GetName()).c_str(), - 0, - Value->GetType(), - reinterpret_cast<const unsigned char*>(AnsiStr.c_str()), - static_cast<DWORD>((AnsiStr.length() + 1))); - } - else - { - rc = RegSetValueExA( - m_hSubKey, - UnicodeToAnsiString(Value->GetName()).c_str(), - 0, - Value->GetType(), - reinterpret_cast<const unsigned char*>(Value->GetDataBuffer()), - static_cast<DWORD>(Value->GetDataSize())); - } - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_ACCESS_DENIED == rc) - throw RegistryAccessDeniedException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/registryw9x.hxx b/setup_native/source/win32/customactions/reg4msdoc/registryw9x.hxx deleted file mode 100644 index aa3d58fa8..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/registryw9x.hxx +++ /dev/null @@ -1,201 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _REGISTRYW9X_HXX_ -#define _REGISTRYW9X_HXX_ - -#include "registry.hxx" - -//--------------------------------------- -// constants -//--------------------------------------- - -class RegistryKeyImplWin9x : public RegistryKeyImpl -{ -public: - - //############################################ - // Queries - //############################################ - - /** The number of sub values of the key at hand - - @precond IsOpen = true - - @throws - */ - virtual size_t GetSubValueCount() const; - - /** The number of sub-keys of the key at hand - - @precond IsOpen = true - - @throws - */ - virtual size_t GetSubKeyCount() const; - - virtual StringListPtr GetSubKeyNames() const; - - virtual StringListPtr GetSubValueNames() const; - - /** Get the specified registry value - - @precond IsOpen = true - */ - virtual RegistryValue GetValue(const std::wstring& Name) const; - - /** Get the specified registry value, return the given - default value if value not found - - @precond IsOpen = true - */ - virtual RegistryValue GetValue(const std::wstring& Name, const RegistryValue& Default) const; - - //############################################ - // Commands - //############################################ - - /** Open the registry key, has no effect if - the key is already open - - @precond IsOpen = false - - @throws RegistryWriteAccessDenyException - RegistryAccessDenyException - */ - virtual void Open(bool Writeable = true); - - /** Open the specified sub-key of the registry key - at hand - - @precond IsOpen = true - HasSubKey(Name) = true - - @throws RegistryIOException - RegistryKeyNotFoundException - RegistryAccessDeniedException - */ - virtual RegistryKey OpenSubKey(const std::wstring& Name, bool Writeable = true); - - /** Creates a new sub-key below the key at hand - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException - */ - virtual RegistryKey CreateSubKey(const std::wstring& Name); - - /** Deletes a sub-key below the key at hand, the - key must not have sub-keys - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException - */ - virtual void DeleteSubKey(const std::wstring& Name); - - /** Deletes a sub-key below the key at hand with all - its sub-keys - - @precond IsOpen = true - IsWriteable = true; - - @throws RegistryIOException - RegistryWriteAccessDenyException - */ - virtual void DeleteSubKeyTree(const std::wstring& Name); - - /** Delete the specified value - - @precond IsOpen = true - IsWriteable = true - HasValue(Name) = true - - @throws RegistryIOException - RegistryWriteAccessDeniedException - RegistryValueNotFoundException - */ - virtual void DeleteValue(const std::wstring& Name); - - /** Set the specified registry value - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException - */ - virtual void SetValue(const RegistryValue& Value); - - //############################################ - // Creation - // - // only possible through WindowsRegistry class - //############################################ - -protected: - /** Create instance and open the specified Registry key - - @throws RegistryWriteAccessDenyException - RegistryAccessDenyException - RegistryKeyNotFoundException - */ - RegistryKeyImplWin9x(HKEY RootKey, const std::wstring& KeyName); - - /** Create instance and open the specified Registry key - - @throws RegistryWriteAccessDenyException - RegistryAccessDenyException - RegistryKeyNotFoundException - */ - RegistryKeyImplWin9x(HKEY RootKey); - - /** Create an instances of the specified Registry key, - the key is assumed to be already opened. - */ - RegistryKeyImplWin9x(HKEY RootKey, HKEY SubKey, const std::wstring& KeyName, bool Writeable = true); - -// prevent copy/assignment -private: - RegistryKeyImplWin9x(const RegistryKeyImplWin9x&); - RegistryKeyImplWin9x& operator=(const RegistryKeyImplWin9x&); - -//###################################### -// Friend declarations -//###################################### - -friend class WindowsRegistry; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/registrywnt.cxx b/setup_native/source/win32/customactions/reg4msdoc/registrywnt.cxx deleted file mode 100644 index 1b7b8dfe7..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/registrywnt.cxx +++ /dev/null @@ -1,607 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#include <windows.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include "registrywnt.hxx" -#include "registryvalueimpl.hxx" -#include "registryexception.hxx" - -#include <assert.h> - -#ifdef _MSC_VER -#pragma warning(disable : 4786 4350) -#endif - -const size_t MAX_TMP_BUFF_SIZE = 1024 * sizeof(wchar_t); - - -//############################################ -// Creation -// only possible through WindowsRegistry class -//############################################ - - -//----------------------------------------------------- -/** Create instance and open the specified Registry key -*/ -RegistryKeyImplWinNT::RegistryKeyImplWinNT(HKEY RootKey, const std::wstring& KeyName) : - RegistryKeyImpl(RootKey, KeyName) -{ -} - -//----------------------------------------------------- -/** Create instance and open the specified Registry key -*/ -RegistryKeyImplWinNT::RegistryKeyImplWinNT(HKEY RootKey) : - RegistryKeyImpl(RootKey) -{ -} - -//----------------------------------------------------- -/** Create an instances of the specified Registry key, - the key is assumed to be already opened. -*/ -RegistryKeyImplWinNT::RegistryKeyImplWinNT(HKEY RootKey, HKEY SubKey, const std::wstring& KeyName, bool Writeable) : - RegistryKeyImpl(RootKey, SubKey, KeyName, Writeable) -{ -} - - -//############################################ -// Queries -//############################################ - - -//----------------------------------------------------- -/** The number of sub values of the key at hand - - @precond IsOpen = true - - @throws -*/ -size_t RegistryKeyImplWinNT::GetSubValueCount() const -{ - assert(IsOpen()); - - DWORD nSubValues = 0; - - LONG rc = RegQueryInfoKeyW( - m_hSubKey, - 0, 0, 0, 0, 0, 0, &nSubValues, 0, 0, 0, 0); - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); - - return nSubValues; -} - -//----------------------------------------------------- -/** The number of sub-keys of the key at hand - - @precond IsOpen = true - - @throws -*/ -size_t RegistryKeyImplWinNT::GetSubKeyCount() const -{ - assert(IsOpen()); - - DWORD nSubKeys = 0; - - LONG rc = RegQueryInfoKeyA( - m_hSubKey, - 0, 0, 0, &nSubKeys, 0, 0, 0, 0, 0, 0, 0); - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); - - return nSubKeys; -} - -StringListPtr RegistryKeyImplWinNT::GetSubKeyNames() const -{ - assert(IsOpen()); - - wchar_t buff[1024]; - DWORD buff_size = sizeof(buff); - FILETIME ftime; - - StringList* key_names = new StringList(); - - LONG rc = ERROR_SUCCESS; - - for (DWORD i = 0; /* left empty */; i++) - { - rc = RegEnumKeyExW( - m_hSubKey, i, buff, &buff_size, - 0, 0, 0, &ftime); - - if (ERROR_SUCCESS != rc && - ERROR_MORE_DATA != rc) - break; - - buff_size = sizeof(buff); - - key_names->push_back(buff); - } - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_NO_MORE_ITEMS != rc && ERROR_SUCCESS != rc) - throw RegistryException(rc); - -#if (_MSC_VER < 1300) && !defined(__MINGW32__) - return key_names; -#else - return (StringListPtr) key_names; -#endif -} - -StringListPtr RegistryKeyImplWinNT::GetSubValueNames() const -{ - assert(IsOpen()); - - wchar_t buff[1024]; - DWORD buff_size = sizeof(buff); - - StringList* value_names = new StringList(); - - LONG rc = ERROR_SUCCESS; - - for (DWORD i = 0; /* left empty */; i++) - { - rc = RegEnumValueW( - m_hSubKey, i, buff, &buff_size, - 0, 0, 0, 0); - - if (ERROR_SUCCESS != rc && - ERROR_MORE_DATA != rc) - break; - - buff_size = sizeof(buff); - - value_names->push_back(buff); - } - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_NO_MORE_ITEMS != rc && ERROR_SUCCESS != rc) - throw RegistryException(rc); - -#if (_MSC_VER < 1300) && !defined(__MINGW32__) - return value_names; -#else - return (StringListPtr) value_names; -#endif -} - -//----------------------------------------------------- -/** Get the specified registry value - - @precond IsOpen = true -*/ -RegistryValue RegistryKeyImplWinNT::GetValue(const std::wstring& Name) const -{ - assert(IsOpen()); - - DWORD Type; - wchar_t buff[MAX_TMP_BUFF_SIZE]; - DWORD size = sizeof(buff); - - LONG rc = RegQueryValueExW( - m_hSubKey, - Name.c_str(), - 0, - &Type, - reinterpret_cast<LPBYTE>(buff), - &size); - - if (ERROR_FILE_NOT_FOUND == rc) - throw RegistryValueNotFoundException(rc); - else if (ERROR_ACCESS_DENIED == rc) - throw RegistryAccessDeniedException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); - - RegistryValue regval; - - if (REG_DWORD == Type) - { - regval = RegistryValue(new RegistryValueImpl(Name, *(reinterpret_cast<int*>(buff)))); - } - else if (REG_SZ == Type || REG_EXPAND_SZ == Type || REG_MULTI_SZ == Type) - { - if (size > 0) - regval = RegistryValue(new RegistryValueImpl(Name, std::wstring(reinterpret_cast<wchar_t*>(buff)))); - else - regval = RegistryValue(new RegistryValueImpl(Name, std::wstring())); - } - else - { - assert(false); - } - - return regval; -} - -//----------------------------------------------------- -/** Get the specified registry value, return the given - default value if value not found - - @precond IsOpen = true -*/ -RegistryValue RegistryKeyImplWinNT::GetValue(const std::wstring& Name, const RegistryValue& Default) const -{ - assert(IsOpen()); - - DWORD Type; - wchar_t buff[MAX_TMP_BUFF_SIZE]; - DWORD size = sizeof(buff); - - LONG rc = RegQueryValueExW( - m_hSubKey, - Name.c_str(), - 0, - &Type, - reinterpret_cast<LPBYTE>(buff), - &size); - - if (ERROR_FILE_NOT_FOUND == rc) - { - #if (_MSC_VER < 1300) && !defined(__MINGW32__) - return Default; - #else - RegistryValue regval_ptr; - regval_ptr = RegistryValue(new RegistryValueImpl(*Default)); - return regval_ptr; - #endif - } - - if (ERROR_ACCESS_DENIED == rc) - throw RegistryAccessDeniedException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); - - RegistryValue regval; - - if (REG_DWORD == Type) - regval = RegistryValue(new RegistryValueImpl(Name, *reinterpret_cast<int*>(buff))); - else if (REG_SZ == Type || REG_EXPAND_SZ == Type || REG_MULTI_SZ == Type) - regval = RegistryValue(new RegistryValueImpl(Name, std::wstring(reinterpret_cast<wchar_t*>(buff)))); - else - assert(false); - - return regval; -} - - -//############################################ -// Commands -//############################################ - - -//----------------------------------------------------- -/** Open the registry key, has no effect if - the key is already open - - @precond IsOpen = false - - @throws RegistryKeyNotFoundException - RegistryWriteAccessDenyException - RegistryAccessDenyException -*/ -void RegistryKeyImplWinNT::Open(bool Writeable) -{ - assert(!IsOpen()); - - REGSAM regsam = KEY_READ; - - if (Writeable) - regsam |= KEY_WRITE; - - LONG rc = RegOpenKeyExW( - m_hRootKey, - m_KeyName.c_str(), - 0, - regsam, - &m_hSubKey); - - if (ERROR_FILE_NOT_FOUND == rc) - throw RegistryKeyNotFoundException(rc); - else if (ERROR_ACCESS_DENIED == rc) - throw RegistryAccessDeniedException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); - - m_IsWriteable = Writeable; - - assert(IsOpen()); -} - -//----------------------------------------------------- -/** Open the specified sub-key of the registry key - at hand - - @precond IsOpen = true - HasSubKey(Name) = true - - @throws RegistryIOException - RegistryKeyNotFoundException - RegistryAccessDeniedException -*/ -RegistryKey RegistryKeyImplWinNT::OpenSubKey(const std::wstring& Name, bool Writeable) -{ - RegistryKey regkey(new RegistryKeyImplWinNT(m_hSubKey, Name)); - regkey->Open(Writeable); - return regkey; -} - -//----------------------------------------------------- -/** Creates a new sub-key below the key at hand - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException -*/ - -RegistryKey RegistryKeyImplWinNT::CreateSubKey(const std::wstring& Name) -{ - assert(IsOpen()); - assert(IsWriteable()); - - HKEY hRoot = IsRootKey() ? m_hRootKey : m_hSubKey; - - HKEY hKey; - - LONG rc = RegCreateKeyExW( - hRoot, - Name.c_str(), - 0, - 0, - REG_OPTION_NON_VOLATILE, - KEY_READ | KEY_WRITE, - 0, - &hKey, - 0); - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_ACCESS_DENIED == rc) - throw RegistryAccessDeniedException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); - - return RegistryKey(new RegistryKeyImplWinNT(hRoot, hKey, Name)); -} - -//----------------------------------------------------- -/** Deletes a sub-key below the key at hand, the - key must not have sub-keys - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException -*/ -void RegistryKeyImplWinNT::DeleteSubKey(const std::wstring& Name) -{ - assert(IsOpen()); - assert(IsWriteable()); - assert(HasSubKey(Name)); - - RegistryKey SubKey = OpenSubKey(Name); - - size_t nSubKeyCount = SubKey->GetSubKeyCount(); - - assert(0 == nSubKeyCount); - - if (nSubKeyCount) - throw RegistryInvalidOperationException(ERROR_NOT_SUPPORTED); - - LONG rc = RegDeleteKeyW(m_hSubKey, Name.c_str()); - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_ACCESS_DENIED == rc) - throw RegistryAccessDeniedException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); -} - -//----------------------------------------------------- -/** Deletes a sub-key below the key at hand with all - its sub-keys - - @precond IsOpen = true - IsWriteable = true; - - @throws RegistryIOException - RegistryWriteAccessDenyException -*/ -void RegistryKeyImplWinNT::DeleteSubKeyTree(const std::wstring& Name) -{ - ImplDeleteSubKeyTree(m_hSubKey, Name); -} - -//----------------------------------------------------- -/** Deletes a sub-key below the key at hand with all - its sub-keys - - @precond IsOpen = true - IsWriteable = true; - - @throws RegistryIOException - RegistryWriteAccessDenyException -*/ -LONG RegistryKeyImplWinNT::ImplDeleteSubKeyTree(HKEY RootKey, const std::wstring& Name) -{ - assert(IsOpen()); - - HKEY hKey; - - LONG rc = RegOpenKeyExW( - RootKey, - Name.c_str(), - 0, - KEY_READ | DELETE, - &hKey); - - if (ERROR_SUCCESS == rc) - { - wchar_t* lpSubKey; - DWORD nMaxSubKeyLen; - - rc = RegQueryInfoKeyW( - hKey, 0, 0, 0, 0, - &nMaxSubKeyLen, - 0, 0, 0, 0, 0, 0); - - nMaxSubKeyLen++; // space for trailing '\0' - - lpSubKey = reinterpret_cast<wchar_t*>( - _alloca(nMaxSubKeyLen*sizeof(wchar_t))); - - while (ERROR_SUCCESS == rc) - { - DWORD nLen = nMaxSubKeyLen; - - rc = RegEnumKeyExW( - hKey, - 0, // always index zero - lpSubKey, - &nLen, - 0, 0, 0, 0); - - if (ERROR_NO_MORE_ITEMS == rc) - { - rc = RegDeleteKeyW(RootKey, Name.c_str()); - break; - } - else if (rc == ERROR_SUCCESS) - { - rc = ImplDeleteSubKeyTree(hKey, lpSubKey); - } - - } // while - - RegCloseKey(hKey); - - } // if - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_ACCESS_DENIED == rc) - throw RegistryAccessDeniedException(rc); - else if (ERROR_FILE_NOT_FOUND == rc) - throw RegistryKeyNotFoundException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); - - return rc; -} - -//----------------------------------------------------- -/** Delete the specified value - - @precond IsOpen = true - IsWriteable = true - HasValue(Name) = true - - @throws RegistryIOException - RegistryWriteAccessDeniedException - RegistryValueNotFoundException -*/ -void RegistryKeyImplWinNT::DeleteValue(const std::wstring& Name) -{ - assert(IsOpen()); - assert(HasValue(Name)); - assert(IsWriteable()); - - LONG rc = RegDeleteValueW( - m_hSubKey, - Name.c_str()); - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_ACCESS_DENIED == rc) - throw RegistryNoWriteAccessException(rc); - else if (ERROR_FILE_NOT_FOUND == rc) - throw RegistryValueNotFoundException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); -} - -//----------------------------------------------------- -/** Set the specified registry value - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException -*/ -void RegistryKeyImplWinNT::SetValue(const RegistryValue& Value) -{ - assert(IsOpen()); - assert(IsWriteable()); - - LONG rc = RegSetValueExW( - m_hSubKey, - Value->GetName().c_str(), - 0, - Value->GetType(), - reinterpret_cast<const unsigned char*>(Value->GetDataBuffer()), - static_cast<DWORD>(Value->GetDataSize())); - - if (ERROR_INVALID_HANDLE == rc) - throw RegistryIOException(rc); - else if (ERROR_ACCESS_DENIED == rc) - throw RegistryAccessDeniedException(rc); - else if (ERROR_SUCCESS != rc) - throw RegistryException(rc); -} - - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/registrywnt.hxx b/setup_native/source/win32/customactions/reg4msdoc/registrywnt.hxx deleted file mode 100644 index ac93df4f0..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/registrywnt.hxx +++ /dev/null @@ -1,205 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _REGISTRYWNT_HXX_ -#define _REGISTRYWNT_HXX_ - -#include "registry.hxx" - -//--------------------------------------- -// constants -//--------------------------------------- - -class RegistryKeyImplWinNT : public RegistryKeyImpl -{ -public: - - //############################################ - // Queries - //############################################ - - /** The number of sub values of the key at hand - - @precond IsOpen = true - - @throws - */ - virtual size_t GetSubValueCount() const; - - /** The number of sub-keys of the key at hand - - @precond IsOpen = true - - @throws - */ - virtual size_t GetSubKeyCount() const; - - virtual StringListPtr GetSubKeyNames() const; - - virtual StringListPtr GetSubValueNames() const; - - /** Get the specified registry value - - @precond IsOpen = true - */ - virtual RegistryValue GetValue(const std::wstring& Name) const; - - /** Get the specified registry value, return the given - default value if value not found - - @precond IsOpen = true - */ - virtual RegistryValue GetValue(const std::wstring& Name, const RegistryValue& Default) const; - - //############################################ - // Commands - //############################################ - - /** Open the registry key, has no effect if - the key is already open - - @precond IsOpen = false - - @throws RegistryWriteAccessDenyException - RegistryAccessDenyException - */ - virtual void Open(bool Writeable = true); - - /** Open the specified sub-key of the registry key - at hand - - @precond IsOpen = true - HasSubKey(Name) = true - - @throws RegistryIOException - RegistryKeyNotFoundException - RegistryAccessDeniedException - */ - virtual RegistryKey OpenSubKey(const std::wstring& Name, bool Writeable = true); - - /** Creates a new sub-key below the key at hand - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException - */ - virtual RegistryKey CreateSubKey(const std::wstring& Name); - - /** Deletes a sub-key below the key at hand, the - key must not have sub-keys - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException - */ - virtual void DeleteSubKey(const std::wstring& Name); - - /** Deletes a sub-key below the key at hand with all - its sub-keys - - @precond IsOpen = true - IsWriteable = true; - - @throws RegistryIOException - RegistryWriteAccessDenyException - */ - virtual void DeleteSubKeyTree(const std::wstring& Name); - - /** Delete the specified value - - @precond IsOpen = true - IsWriteable = true - HasValue(Name) = true - - @throws RegistryIOException - RegistryWriteAccessDeniedException - RegistryValueNotFoundException - */ - virtual void DeleteValue(const std::wstring& Name); - - /** Set the specified registry value - - @precond IsOpen = true - IsWriteable = true - - @throws RegistryIOException - RegistryWriteAccessDenyException - */ - virtual void SetValue(const RegistryValue& Value); - - //############################################ - // Creation - // - // only possible through WindowsRegistry class - //############################################ - -protected: - /** Create instance and open the specified Registry key - - @throws RegistryWriteAccessDenyException - RegistryAccessDenyException - RegistryKeyNotFoundException - */ - RegistryKeyImplWinNT(HKEY RootKey, const std::wstring& KeyName); - - /** Create instance and open the specified Registry key - - @throws RegistryWriteAccessDenyException - RegistryAccessDenyException - RegistryKeyNotFoundException - */ - RegistryKeyImplWinNT(HKEY RootKey); - - /** Create an instances of the specified Registry key, - the key is assumed to be already opened. - */ - RegistryKeyImplWinNT(HKEY RootKey, HKEY SubKey, const std::wstring& KeyName, bool Writeable = true); - -private: - - LONG ImplDeleteSubKeyTree(HKEY RootKey, const std::wstring& Name); - -//prevent copy and assignment -private: - RegistryKeyImplWinNT(const RegistryKeyImplWinNT&); - RegistryKeyImplWinNT& operator=(const RegistryKeyImplWinNT&); - -//###################################### -// Friend declarations -//###################################### - -friend class WindowsRegistry; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/stringconverter.cxx b/setup_native/source/win32/customactions/reg4msdoc/stringconverter.cxx deleted file mode 100644 index 84d45532d..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/stringconverter.cxx +++ /dev/null @@ -1,72 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "stringconverter.hxx" - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#include <windows.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> - -/** Convert a Unicode string to an ANSI string based on CP_ACP -*/ -std::string UnicodeToAnsiString(const std::wstring& UniString) -{ - int len = WideCharToMultiByte( - CP_ACP, 0, UniString.c_str(), -1, 0, 0, 0, 0); - - char* buff = reinterpret_cast<char*>(_alloca(len)); - - WideCharToMultiByte( - CP_ACP, 0, UniString.c_str(), -1, buff, len, 0, 0); - - return std::string(buff); -} - -/** Convert an ANSI string to unicode based on CP_ACP -*/ -std::wstring AnsiToUnicodeString(const std::string& AnsiString) -{ - int len = MultiByteToWideChar( - CP_ACP, 0, AnsiString.c_str(), -1, 0, 0); - - wchar_t* buff = reinterpret_cast<wchar_t*>(_alloca(len * sizeof(wchar_t))); - - MultiByteToWideChar( - CP_ACP, 0, AnsiString.c_str(), -1, buff, len); - - return std::wstring(buff); -} - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/stringconverter.hxx b/setup_native/source/win32/customactions/reg4msdoc/stringconverter.hxx deleted file mode 100644 index 6a23c0e9b..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/stringconverter.hxx +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _STRINGCONVERTER_HXX_ -#define _STRINGCONVERTER_HXX_ - -#include <string> - -/** Convert a Unicode string to an ANSI string based on CP_ACP -*/ -std::string UnicodeToAnsiString(const std::wstring& UniString); - -/** Convert an ANSI string to unicode based on CP_ACP -*/ -std::wstring AnsiToUnicodeString(const std::string& AnsiString); - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/userregistrar.cxx b/setup_native/source/win32/customactions/reg4msdoc/userregistrar.cxx deleted file mode 100644 index 03a19523d..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/userregistrar.cxx +++ /dev/null @@ -1,139 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -// UserRegistrar.cpp: Implementierung der Klasse UserRegistrar. -// -////////////////////////////////////////////////////////////////////// - -#include "userregistrar.hxx" -#include "registryvalueimpl.hxx" -#include "windowsregistry.hxx" -#include "registryexception.hxx" - -#ifdef _MSC_VER -#pragma warning(disable : 4350) -#endif - -//-------------------------------------- -/** -*/ -UserRegistrar::UserRegistrar(const RegistrationContextInformation& RegContext) : - Registrar(RegContext) -{ - RegistryKey RegKey = WindowsRegistry().GetCurrentUserKey(); - m_RootKey = RegKey->OpenSubKey(L"Software\\Classes"); -} - -//################################### -// Command -//################################### - -//-------------------------------------- -/** -*/ -void UserRegistrar::UnregisterAsHtmlEditorForInternetExplorer() const -{ - Registrar::UnregisterAsHtmlEditorForInternetExplorer(); - - DeleteHtmFileAssociationKeys(); - - try - { - RegistryKey RegKey = m_RootKey->OpenSubKey(L"Applications"); - if ((0 == RegKey->GetSubValueCount()) && (0 == RegKey->GetSubKeyCount())) - { - RegKey->Close(); - m_RootKey->DeleteSubKey(L"Applications"); - } - } - catch(RegistryKeyNotFoundException&) - { - } -} - -//-------------------------------------- -/** -*/ -void UserRegistrar::RegisterAsDefaultShellHtmlEditor() const -{ - RegistryKey LocalHtmKey = m_RootKey->CreateSubKey(L".htm"); - - if (!LocalHtmKey->HasValue(DEFAULT_VALUE_NAME)) - { - RegistryKey HKCRKey = WindowsRegistry().GetClassesRootKey(); - - if (HKCRKey->HasSubKey(L".htm")) - { - RegistryKey RootHtmKey = HKCRKey->OpenSubKey(L".htm", false); - - if (RootHtmKey->HasValue(DEFAULT_VALUE_NAME)) - { - RegistryValue RegVal = RootHtmKey->GetValue(DEFAULT_VALUE_NAME); - - std::wstring RootHtmFwdKey = RegVal->GetDataAsUniString(); - - if (HKCRKey->HasSubKey(RootHtmFwdKey)) - { - m_RootKey->CreateSubKey(RootHtmFwdKey); - LocalHtmKey->CopyValue(RootHtmKey, DEFAULT_VALUE_NAME); - } - } - } - } - - // calling base class method - Registrar::RegisterAsDefaultShellHtmlEditor(); -} - -//-------------------------------------- -/** -*/ -void UserRegistrar::UnregisterAsDefaultShellHtmlEditor() const -{ - // calling base class method - Registrar::UnregisterAsDefaultShellHtmlEditor(); - DeleteHtmFileAssociationKeys(); -} - -//-------------------------------------- -/** -*/ -void UserRegistrar::UnregisterForMsOfficeApplication( - const std::wstring& FileExtension) const -{ - /// calling base class method - Registrar::UnregisterForMsOfficeApplication(FileExtension); - - if (m_RootKey->HasSubKey(FileExtension)) - { - RegistryKey RegKey = m_RootKey->OpenSubKey(FileExtension); - - if ((0 == RegKey->GetSubKeyCount()) && (0 == RegKey->GetSubValueCount())) - { - RegKey->Close(); - m_RootKey->DeleteSubKey(FileExtension); - } - } -} - -//-------------------------------------- -/** -*/ -RegistryKey UserRegistrar::GetRootKeyForDefHtmlEditorForIERegistration() const -{ - return WindowsRegistry().GetCurrentUserKey(); -} - -//-------------------------------------- -/** -*/ -void UserRegistrar::DeleteHtmFileAssociationKeys() const -{ - // Later delete the created keys if they are empty and have not changed meanwhile. - // Remeber: if we create a new registry key in the user part of the - // registry, changes to that key via the merged key HKEY_CLASSES_ROOT - // go into the user branch HKEY_CURRENT_USER and are not visible for other users. - // so we must carefully detect if the keys have not changed in order to prevent accidentally - // deleting a key and so destroying existing associations - // See MSDN: "Merged View of HKEY_CLASSES_ROOT" -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/userregistrar.hxx b/setup_native/source/win32/customactions/reg4msdoc/userregistrar.hxx deleted file mode 100644 index 653a4790e..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/userregistrar.hxx +++ /dev/null @@ -1,46 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -// UserRegistrar.h: Schnittstelle für die Klasse UserRegistrar. -// -////////////////////////////////////////////////////////////////////// - -#ifndef _USERREGISTRAR_HXX_ -#define _USERREGISTRAR_HXX_ - -#include "registrar.hxx" - -class UserRegistrar : public Registrar -{ -public: - - //################################### - // Creation - //################################### - - UserRegistrar(const RegistrationContextInformation& RegContext); - - //################################### - // Command - //################################### - - virtual void UnregisterAsHtmlEditorForInternetExplorer() const; - - virtual void RegisterAsDefaultShellHtmlEditor() const; - virtual void UnregisterAsDefaultShellHtmlEditor() const; - -protected: - virtual void UnregisterForMsOfficeApplication( - const std::wstring& FileExtension) const; - - virtual RegistryKey GetRootKeyForDefHtmlEditorForIERegistration() const; - -private: - - /** Delete the privately created file associations - for htm files if the keys are empty - */ - void DeleteHtmFileAssociationKeys() const; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/windowsregistry.cxx b/setup_native/source/win32/customactions/reg4msdoc/windowsregistry.cxx deleted file mode 100644 index 49c32eb50..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/windowsregistry.cxx +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -// WindowsRegistry.cpp: Implementierung der Klasse WindowsRegistry. -// -////////////////////////////////////////////////////////////////////// - -#include "windowsregistry.hxx" -#include "registrywnt.hxx" -#include "registryw9x.hxx" - -#ifdef _MSC_VER -#pragma warning(disable : 4350) -#endif - -WindowsRegistry::WindowsRegistry() -{ - OSVERSIONINFOA osverinfo; - ZeroMemory(&osverinfo, sizeof(osverinfo)); - osverinfo.dwOSVersionInfoSize = sizeof(osverinfo); - GetVersionExA(&osverinfo); - - m_IsWinNT = (osverinfo.dwPlatformId == VER_PLATFORM_WIN32_NT); -} - -RegistryKey WindowsRegistry::GetClassesRootKey(bool Writeable) const -{ - return GetRegistryKey(HKEY_CLASSES_ROOT, Writeable); -} - -RegistryKey WindowsRegistry::GetCurrentUserKey(bool Writeable) const -{ - return GetRegistryKey(HKEY_CURRENT_USER, Writeable); -} - -RegistryKey WindowsRegistry::GetLocalMachineKey(bool Writeable) const -{ - return GetRegistryKey(HKEY_LOCAL_MACHINE, Writeable); -} - -RegistryKey WindowsRegistry::GetUserKey(bool Writeable) const -{ - return GetRegistryKey(HKEY_USERS, Writeable); -} - -RegistryKey WindowsRegistry::GetRegistryKey(HKEY RootKey, bool Writeable) const -{ - RegistryKey regkey; - - if (m_IsWinNT) - regkey = RegistryKey(new RegistryKeyImplWinNT(RootKey)); - else - regkey = RegistryKey(new RegistryKeyImplWin9x(RootKey)); - - regkey->Open(Writeable); - - return regkey; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg4msdoc/windowsregistry.hxx b/setup_native/source/win32/customactions/reg4msdoc/windowsregistry.hxx deleted file mode 100644 index 5b2f94047..000000000 --- a/setup_native/source/win32/customactions/reg4msdoc/windowsregistry.hxx +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -// WindowsRegistry.h: Schnittstelle für die Klasse WindowsRegistry. -// -////////////////////////////////////////////////////////////////////// - -#ifndef _WINDOWSREGISTRY_HXX_ -#define _WINDOWSREGISTRY_HXX_ - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#include <windows.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include "Registry.hxx" - -/** Basically a factory class -*/ -class WindowsRegistry -{ -public: - WindowsRegistry(); - - RegistryKey GetClassesRootKey(bool Writeable = true) const; - - RegistryKey GetCurrentUserKey(bool Writeable = true) const; - - RegistryKey GetLocalMachineKey(bool Writeable = true) const; - - RegistryKey GetUserKey(bool Writeable = true) const; - -private: - RegistryKey GetRegistryKey(HKEY RootKey, bool Writeable) const; - -private: - bool m_IsWinNT; -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/reg64/exports.dxp b/setup_native/source/win32/customactions/reg64/exports.dxp deleted file mode 100755 index 3282da1ee..000000000 --- a/setup_native/source/win32/customactions/reg64/exports.dxp +++ /dev/null @@ -1,2 +0,0 @@ -InstallReg64 -DeinstallReg64 diff --git a/setup_native/source/win32/customactions/reg64/makefile.mk b/setup_native/source/win32/customactions/reg64/makefile.mk deleted file mode 100644 index a0d7fbaef..000000000 --- a/setup_native/source/win32/customactions/reg64/makefile.mk +++ /dev/null @@ -1,76 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=reg64msi - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=TRUE -NO_DEFAULT_STL=TRUE -DYNAMIC_CRT= -USE_DEFFILE=TRUE -EXTERNAL_WARNINGS_NOT_ERRORS := TRUE - -.INCLUDE : settings.mk - -#Disable precompiled header -CDEFS+=-Dnot_used_define_to_disable_pch - -# --- Files -------------------------------------------------------- - -.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!="" - -UWINAPILIB= - -SLOFILES = \ - $(SLO)$/reg64.obj - -STDSHL += \ - $(KERNEL32LIB)\ - $(USER32LIB)\ - $(ADVAPI32LIB)\ - $(SHELL32LIB)\ - $(MSILIB)\ - $(SHLWAPILIB)\ - -SHL1TARGET = $(TARGET) -SHL1IMPLIB = i$(TARGET) - -SHL1OBJS=$(SLOFILES) -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1DEPN = $(SLB)$/$(TARGET).lib -DEF1NAME=$(SHL1TARGET) -DEF1EXPORTFILE=exports.dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk -INCLUDE!:=$(subst,/stl, $(INCLUDE)) diff --git a/setup_native/source/win32/customactions/reg64/reg64.cxx b/setup_native/source/win32/customactions/reg64/reg64.cxx deleted file mode 100644 index 447248d7e..000000000 --- a/setup_native/source/win32/customactions/reg64/reg64.cxx +++ /dev/null @@ -1,465 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* -* - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * -************************************************************************/ - -#define UNICODE - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <strsafe.h> - -// MinGW doesn't know anything about RegDeleteKeyExW if WINVER < 0x0502. -extern "C" { -WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY,LPCWSTR,REGSAM,DWORD); -} - -// to provide windows xp as build systems for mingw we need to define KEY_WOW64_64KEY -// in mingw 3.13 KEY_WOW64_64KEY isn't available < Win2003 systems. -// Also defined in setup_native\source\win32\customactions\reg64\reg64.cxx,source\win32\customactions\shellextensions\shellextensions.cxx and -// extensions\source\activex\main\so_activex.cpp - -#ifndef KEY_WOW64_64KEY - #define KEY_WOW64_64KEY (0x0100) -#endif - - -#define TABLE_NAME L"Reg64" -#define INSTALLLOCATION L"[INSTALLLOCATION]" - -bool isInstall4AllUsers; -wchar_t * sBasisInstallLocation; - - -enum OPERATION { - SET, - REMOVE -}; - -#ifdef DEBUG -inline void OutputDebugStringFormat( const wchar_t* pFormat, ... ) -{ - wchar_t buffer[1024]; - va_list args; - - va_start( args, pFormat ); - StringCchVPrintf( buffer, sizeof(buffer), pFormat, args ); - OutputDebugString( buffer ); -} -#else -static inline void OutputDebugStringFormat( const wchar_t*, ... ) -{ -} -#endif - -bool WriteRegistry( MSIHANDLE & hMSI, OPERATION op, const wchar_t* componentName) -{ - INSTALLSTATE current_state; - INSTALLSTATE comp_state; - UINT ret = MsiGetComponentState( hMSI, componentName, ¤t_state, &comp_state ); - if ( ERROR_SUCCESS == ret ) - { - if (current_state == INSTALLSTATE_ABSENT) - OutputDebugStringFormat(L"WriteRegistry - current_state: INSTALLSTATE_ABSENT"); - else if (current_state == INSTALLSTATE_DEFAULT) - OutputDebugStringFormat(L"WriteRegistry - current_state: INSTALLSTATE_DEFAULT"); - else if (current_state == INSTALLSTATE_LOCAL) - OutputDebugStringFormat(L"WriteRegistry - current_state: INSTALLSTATE_LOCAL"); - else if (current_state == INSTALLSTATE_REMOVED) - OutputDebugStringFormat(L"WriteRegistry - current_state: INSTALLSTATE_REMOVED"); - else if (current_state == INSTALLSTATE_SOURCE) - OutputDebugStringFormat(L"WriteRegistry - current_state: INSTALLSTATE_SOURCE"); - else if (current_state == INSTALLSTATE_UNKNOWN) - OutputDebugStringFormat(L"WriteRegistry - current_state: INSTALLSTATE_UNKNOWN"); - - if (comp_state == INSTALLSTATE_ABSENT) - OutputDebugStringFormat(L"WriteRegistry - comp_state: INSTALLSTATE_ABSENT"); - else if (comp_state == INSTALLSTATE_DEFAULT) - OutputDebugStringFormat(L"WriteRegistry - comp_state: INSTALLSTATE_DEFAULT"); - else if (comp_state == INSTALLSTATE_LOCAL) - OutputDebugStringFormat(L"WriteRegistry - comp_state: INSTALLSTATE_LOCAL"); - else if (comp_state == INSTALLSTATE_REMOVED) - OutputDebugStringFormat(L"WriteRegistry - comp_state: INSTALLSTATE_REMOVED"); - else if (comp_state == INSTALLSTATE_SOURCE) - OutputDebugStringFormat(L"WriteRegistry - comp_state: INSTALLSTATE_SOURCE"); - else if (comp_state == INSTALLSTATE_UNKNOWN) - OutputDebugStringFormat(L"WriteRegistry - comp_state: INSTALLSTATE_UNKNOWN"); - - switch (op) - { - case SET : - if ( comp_state == INSTALLSTATE_LOCAL || ( current_state == INSTALLSTATE_LOCAL && comp_state == INSTALLSTATE_UNKNOWN ) ) - { - return true; - } - break; - case REMOVE: - OutputDebugStringFormat(L"WriteRegistry - Remove\n" ); - if ( current_state == INSTALLSTATE_LOCAL && (comp_state == INSTALLSTATE_ABSENT || comp_state == INSTALLSTATE_REMOVED) ) - { - OutputDebugStringFormat(L"WriteRegistry - To be removed\n" ); - return true; - } - } - } else - { - if (ERROR_INVALID_HANDLE == ret) OutputDebugStringFormat(L"WriteRegistry - Invalid handle"); - if (ERROR_UNKNOWN_FEATURE == ret) OutputDebugStringFormat(L"WriteRegistry - Unknown feature"); - } - - return false; -} - -BOOL UnicodeEquals( wchar_t* pStr1, wchar_t* pStr2 ) -{ - if ( pStr1 == NULL && pStr2 == NULL ) - return TRUE; - else if ( pStr1 == NULL || pStr2 == NULL ) - return FALSE; - - while( *pStr1 == *pStr2 && *pStr1 && *pStr2 ) - pStr1++, pStr2++; - - return ( *pStr1 == 0 && *pStr2 == 0 ); -} - -BOOL GetMsiProp( MSIHANDLE hMSI, const wchar_t* pPropName, wchar_t** ppValue ) -{ - OutputDebugStringFormat(L"GetMsiProp - START\n" ); - DWORD sz = 0; - UINT ret = MsiGetProperty( hMSI, pPropName, L"", &sz ); - if ( ret == ERROR_MORE_DATA ) - { - sz++; - DWORD nbytes = sz * sizeof( wchar_t ); - wchar_t* buff = reinterpret_cast<wchar_t*>( malloc( nbytes ) ); - ZeroMemory( buff, nbytes ); - MsiGetProperty( hMSI, pPropName, buff, &sz ); - - OutputDebugStringFormat(L"GetMsiProp - Value" ); - OutputDebugStringFormat( buff ); - *ppValue = buff; - - return TRUE; - } else if (ret == ERROR_INVALID_HANDLE) - { - OutputDebugStringFormat(L"GetMsiProp - ERROR_INVALID_HANDLE" ); - } else if (ret == ERROR_INVALID_PARAMETER) - { - OutputDebugStringFormat(L"GetMsiProp - ERROR_INVALID_PARAMETER" ); - } else if (ret == ERROR_SUCCESS) - { - OutputDebugStringFormat(L"GetMsiProp - ERROR_SUCCESS" ); - } - - - OutputDebugStringFormat(L"GetMsiProp - ENDE\n" ); - return FALSE; -} - -bool IsInstallForAllUsers( MSIHANDLE hMSI ) -{ - OutputDebugStringFormat(L"IsInstallForAllUsers - START\n" ); - bool bResult = FALSE; - wchar_t* pVal = NULL; - if ( GetMsiProp( hMSI, L"ALLUSERS", &pVal ) && pVal ) - { - bResult = UnicodeEquals( pVal , L"1" ); - free( pVal ); - } - - OutputDebugStringFormat(L"IsInstallForAllUsers - ENDE\n" ); - return bResult; -} - -wchar_t* GetBasisInstallLocation( MSIHANDLE hMSI ) -{ - OutputDebugStringFormat(L"GetBasisInstallLocation - START\n" ); - wchar_t* pVal = NULL; - GetMsiProp( hMSI, L"INSTALLLOCATION", &pVal); - - OutputDebugStringFormat(L"GetBasisInstallLocation - ENDE\n" ); - - return pVal; -} - - -bool QueryReg64Table(MSIHANDLE& rhDatabase, MSIHANDLE& rhView) -{ - OutputDebugStringFormat(L"QueryReg64Table - START\n" ); - int const arraysize = 400; - wchar_t szSelect[arraysize]; - StringCbPrintfW(szSelect, arraysize * sizeof(wchar_t), L"SELECT * FROM %s",TABLE_NAME); - OutputDebugStringFormat( szSelect ); - - UINT ret = MsiDatabaseOpenView(rhDatabase,szSelect,&rhView); - if (ret != ERROR_SUCCESS) - { - if ( ret == ERROR_BAD_QUERY_SYNTAX) - OutputDebugStringFormat(L"QueryReg64Table - MsiDatabaseOpenView - FAILED - ERROR_BAD_QUERY_SYNTAX\n" ); - if ( ret == ERROR_INVALID_HANDLE) - OutputDebugStringFormat(L"QueryReg64Table - MsiDatabaseOpenView - FAILED - ERROR_INVALID_HANDLE\n" ); - return false; - } - // execute query - not a parameter query so second parameter is NULL. - if (MsiViewExecute(rhView,NULL) != ERROR_SUCCESS) - { - OutputDebugStringFormat(L"QueryReg64Table - MsiViewExecute - FAILED\n" ); - return false; - } - - OutputDebugStringFormat(L"QueryReg64Table - ENDE\n" ); - return true; -} - -//--------------------------------------- -bool DeleteRegistryKey(HKEY RootKey, const wchar_t* KeyName) -{ - int rc = RegDeleteKeyExW( - RootKey, KeyName, KEY_WOW64_64KEY, 0); - - return (ERROR_SUCCESS == rc); -} - -bool SetRegistryKey(HKEY RootKey, const wchar_t* KeyName, const wchar_t* ValueName, const wchar_t* Value) -{ - HKEY hSubKey; - - // open or create the desired key - int rc = RegCreateKeyEx( - RootKey, KeyName, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE | KEY_WOW64_64KEY, 0, &hSubKey, 0); - - if (ERROR_SUCCESS == rc) - { - OutputDebugStringFormat(L"SetRegistryKey - Created\n" ); - rc = RegSetValueEx( - hSubKey, ValueName, 0, REG_SZ, reinterpret_cast<const BYTE*>(Value), (wcslen(Value) + 1) * sizeof(wchar_t)); - - RegCloseKey(hSubKey); - } else { - OutputDebugStringFormat(L"SetRegistryKey - FAILED\n" ); - } - - - return (ERROR_SUCCESS == rc); -} - -bool DoRegEntries( MSIHANDLE& rhMSI, OPERATION op, MSIHANDLE& rhView) -{ - OutputDebugStringFormat(L"DoRegEntries - START\n" ); - - MSIHANDLE hRecord; - - long lRoot; - wchar_t szKey[255]; - wchar_t szName[255]; - wchar_t szValue[1024]; - wchar_t szComponent[255]; - - /// read records until there are no more records - while (MsiViewFetch(rhView,&hRecord) == ERROR_SUCCESS) - { - DWORD dwKey = 255; - DWORD dwName = 255; - DWORD dwValue = 1024; - DWORD dwComponent = 255; - - szKey[0] = '\0'; - szName[0] = '\0'; - szValue[0] = '\0'; - szComponent[0] = '\0'; - - lRoot = MsiRecordGetInteger(hRecord,2); - MsiRecordGetString(hRecord,3,szKey,&dwKey); - - if (!MsiRecordIsNull(hRecord, 4)) - MsiRecordGetString(hRecord,4,szName,&dwName); - - if (!MsiRecordIsNull(hRecord, 5)) - { - MsiRecordGetString(hRecord,5,szValue,&dwValue); - - - - wchar_t* nPos = wcsstr(szValue , INSTALLLOCATION); - if ( NULL != nPos) - { - - DWORD nPrefixSize = nPos - szValue; - - DWORD nPropSize = wcslen(sBasisInstallLocation); - DWORD nPostfixSize = dwValue - wcslen( INSTALLLOCATION ); - - DWORD nNewValueBytes = (nPropSize + nPostfixSize + 1) * sizeof( wchar_t ); - wchar_t* newValue = reinterpret_cast<wchar_t*>( malloc( nNewValueBytes ) ); - ZeroMemory( newValue, nNewValueBytes ); - - // prefix - wcsncpy(newValue, szValue, nPrefixSize); - - // basis location - wcsncat(newValue, sBasisInstallLocation, nPropSize * sizeof( wchar_t )); - - // postfix - wcsncat(newValue, nPos + ( wcslen( INSTALLLOCATION ) ), nPropSize * sizeof( wchar_t )); - - wcsncpy(szValue, newValue, nNewValueBytes <=1024? nNewValueBytes: 1024); - - free(newValue); - } - - } - - - MsiRecordGetString(hRecord,6,szComponent,&dwComponent); - - OutputDebugStringFormat(L"****** DoRegEntries *******" ); - OutputDebugStringFormat(L"Root:" ); - HKEY key = HKEY_CURRENT_USER; - switch (lRoot) - { - case(-1): - if (isInstall4AllUsers) - { - key = HKEY_LOCAL_MACHINE; - OutputDebugStringFormat(L"HKEY_LOCAL_MACHINE" ); - } - else - { - key = HKEY_CURRENT_USER; - OutputDebugStringFormat(L"HKEY_CURRENT_USER" ); - } - break; - case(0): - key = HKEY_CLASSES_ROOT; - OutputDebugStringFormat(L"HKEY_CLASSES_ROOT" ); - break; - case(1): - key = HKEY_CURRENT_USER; - OutputDebugStringFormat(L"HKEY_CURRENT_USER" ); - break; - case(2): - key = HKEY_LOCAL_MACHINE; - OutputDebugStringFormat(L"HKEY_LOCAL_MACHINE" ); - break; - case(3): - key = HKEY_USERS; - OutputDebugStringFormat(L"HKEY_USERS" ); - break; - default: - OutputDebugStringFormat(L"Unknown Root!" ); - break; - } - - OutputDebugStringFormat(L"Key:"); - OutputDebugStringFormat( szKey ); - OutputDebugStringFormat(L"Name:"); - OutputDebugStringFormat( szName ); - OutputDebugStringFormat(L"Value:"); - OutputDebugStringFormat( szValue); - OutputDebugStringFormat(L"Component:"); - OutputDebugStringFormat( szComponent ); - OutputDebugStringFormat(L"*******************" ); - switch (op) - { - case SET: - - if (WriteRegistry(rhMSI, SET, szComponent)) - { - OutputDebugStringFormat(L"DoRegEntries - Write\n" ); - SetRegistryKey(key, szKey, szName, szValue); - } - break; - case REMOVE: - OutputDebugStringFormat(L"DoRegEntries - PreRemove\n" ); - if (WriteRegistry(rhMSI, REMOVE, szComponent)) - { - OutputDebugStringFormat(L"DoRegEntries - Remove\n" ); - DeleteRegistryKey(key, szKey); - } - break; - } - } - - MsiCloseHandle(rhView); - - - OutputDebugStringFormat(L"DoRegEntries - ENDE\n" ); - - return true; -} - - -bool Reg64(MSIHANDLE& rhMSI, OPERATION op) -{ - isInstall4AllUsers = IsInstallForAllUsers(rhMSI); - sBasisInstallLocation = GetBasisInstallLocation(rhMSI); - - if (NULL == sBasisInstallLocation) - { - OutputDebugStringFormat(L"BASISINSTALLLOCATION is NULL\n" ); - return false; - } - - MSIHANDLE hView; - MSIHANDLE hDatabase = MsiGetActiveDatabase(rhMSI); - - QueryReg64Table(hDatabase, hView); - OutputDebugStringFormat(L"Do something\n" ); - DoRegEntries( rhMSI, op, hView); - OutputDebugStringFormat(L"Something done\n" ); - - MsiCloseHandle(hView); - MsiCloseHandle(hDatabase); - free(sBasisInstallLocation); - - return true; -} - -extern "C" UINT __stdcall InstallReg64(MSIHANDLE hMSI) -{ - OutputDebugStringFormat(L"InstallReg64\n" ); - Reg64(hMSI, SET); - return ERROR_SUCCESS; -} - -extern "C" UINT __stdcall DeinstallReg64(MSIHANDLE hMSI) -{ - OutputDebugStringFormat(L"DeinstallReg64\n" ); - Reg64(hMSI, REMOVE); - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/regactivex/exports.dxp b/setup_native/source/win32/customactions/regactivex/exports.dxp deleted file mode 100644 index 0ad8ce403..000000000 --- a/setup_native/source/win32/customactions/regactivex/exports.dxp +++ /dev/null @@ -1,2 +0,0 @@ -InstallActiveXControl -DeinstallActiveXControl diff --git a/setup_native/source/win32/customactions/regactivex/makefile.mk b/setup_native/source/win32/customactions/regactivex/makefile.mk deleted file mode 100644 index 22eb1c89f..000000000 --- a/setup_native/source/win32/customactions/regactivex/makefile.mk +++ /dev/null @@ -1,69 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=regactivex - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=TRUE -NO_DEFAULT_STL=TRUE -DYNAMIC_CRT= -USE_DEFFILE=TRUE - -.INCLUDE : settings.mk - -# --- Files -------------------------------------------------------- - -.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!="" - -UWINAPILIB= - -SLOFILES = $(SLO)$/regactivex.obj - -STDSHL += \ - $(MSILIB) - -SHL1LIBS = $(SLB)$/$(TARGET).lib - -SHL1TARGET = $(TARGET) -SHL1IMPLIB = i$(TARGET) - -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1DEPN = $(SLB)$/$(TARGET).lib -SHL1BASE = 0x1c000000 -DEF1NAME=$(SHL1TARGET) -DEF1EXPORTFILE=exports.dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk - -# ------------------------------------------------------------------------- diff --git a/setup_native/source/win32/customactions/regactivex/regactivex.cxx b/setup_native/source/win32/customactions/regactivex/regactivex.cxx deleted file mode 100644 index e3a14e89b..000000000 --- a/setup_native/source/win32/customactions/regactivex/regactivex.cxx +++ /dev/null @@ -1,386 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define UNICODE - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <string.h> -#include <malloc.h> - -#define CHART_COMPONENT 1 -#define DRAW_COMPONENT 2 -#define IMPRESS_COMPONENT 4 -#define CALC_COMPONENT 8 -#define WRITER_COMPONENT 16 -#define MATH_COMPONENT 32 - -typedef int ( __stdcall * DllNativeRegProc ) ( int, BOOL, BOOL, const char* ); -typedef int ( __stdcall * DllNativeUnregProc ) ( int, BOOL, BOOL ); - -BOOL UnicodeEquals( wchar_t* pStr1, wchar_t* pStr2 ) -{ - if ( pStr1 == NULL && pStr2 == NULL ) - return TRUE; - else if ( pStr1 == NULL || pStr2 == NULL ) - return FALSE; - - while( *pStr1 == *pStr2 && *pStr1 && *pStr2 ) - pStr1++, pStr2++; - - return ( *pStr1 == 0 && *pStr2 == 0 ); -} - -//---------------------------------------------------------- -char* UnicodeToAnsiString( wchar_t* pUniString ) -{ - int len = WideCharToMultiByte( - CP_ACP, 0, pUniString, -1, 0, 0, 0, 0 ); - - char* buff = reinterpret_cast<char*>( malloc( len ) ); - - WideCharToMultiByte( - CP_ACP, 0, pUniString, -1, buff, len, 0, 0 ); - - return buff; -} - -//---------------------------------------------------------- -void RegisterActiveXNative( const char* pActiveXPath, int nMode, BOOL InstallForAllUser, BOOL InstallFor64Bit ) -{ - // For Win98/WinME the values should be written to the local machine - OSVERSIONINFO aVerInfo; - aVerInfo.dwOSVersionInfoSize = sizeof( aVerInfo ); - if ( GetVersionEx( &aVerInfo ) && aVerInfo.dwPlatformId != VER_PLATFORM_WIN32_NT ) - InstallForAllUser = TRUE; - - HINSTANCE hModule = LoadLibraryExA( pActiveXPath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH ); - if( !( hModule <= ( HINSTANCE )HINSTANCE_ERROR ) ) - { - DllNativeRegProc pNativeProc = ( DllNativeRegProc )GetProcAddress( hModule, "DllRegisterServerNative" ); - if( pNativeProc!=NULL ) - { - int nLen = strlen( pActiveXPath ); - int nRemoveLen = strlen( "\\so_activex.dll" ); - if ( nLen > nRemoveLen ) - { - char* pProgramPath = reinterpret_cast<char*>( malloc( nLen - nRemoveLen + 1 ) ); - strncpy( pProgramPath, pActiveXPath, nLen - nRemoveLen ); - pProgramPath[ nLen - nRemoveLen ] = 0; - - ( *pNativeProc )( nMode, InstallForAllUser, InstallFor64Bit, pProgramPath ); - - free( pProgramPath ); - } - } - - FreeLibrary( hModule ); - } -} - -//---------------------------------------------------------- -void UnregisterActiveXNative( const char* pActiveXPath, int nMode, BOOL InstallForAllUser, BOOL InstallFor64Bit ) -{ - // For Win98/WinME the values should be written to the local machine - OSVERSIONINFO aVerInfo; - aVerInfo.dwOSVersionInfoSize = sizeof( aVerInfo ); - if ( GetVersionEx( &aVerInfo ) && aVerInfo.dwPlatformId != VER_PLATFORM_WIN32_NT ) - InstallForAllUser = TRUE; - - HINSTANCE hModule = LoadLibraryExA( pActiveXPath, NULL, LOAD_WITH_ALTERED_SEARCH_PATH ); - if( !( hModule <= ( HINSTANCE )HINSTANCE_ERROR ) ) - { - DllNativeUnregProc pNativeProc = ( DllNativeUnregProc )GetProcAddress( hModule, "DllUnregisterServerNative" ); - if( pNativeProc!=NULL ) - ( *pNativeProc )( nMode, InstallForAllUser, InstallFor64Bit ); - - FreeLibrary( hModule ); - } -} - -//---------------------------------------------------------- -BOOL GetMsiProp( MSIHANDLE hMSI, const wchar_t* pPropName, wchar_t** ppValue ) -{ - DWORD sz = 0; - if ( MsiGetProperty( hMSI, pPropName, L"", &sz ) == ERROR_MORE_DATA ) - { - sz++; - DWORD nbytes = sz * sizeof( wchar_t ); - wchar_t* buff = reinterpret_cast<wchar_t*>( malloc( nbytes ) ); - ZeroMemory( buff, nbytes ); - MsiGetProperty( hMSI, pPropName, buff, &sz ); - *ppValue = buff; - - return TRUE; - } - - return FALSE; -} - -//---------------------------------------------------------- -BOOL GetActiveXControlPath( MSIHANDLE hMSI, char** ppActiveXPath ) -{ - wchar_t* pProgPath = NULL; - if ( GetMsiProp( hMSI, L"INSTALLLOCATION", &pProgPath ) && pProgPath ) - { - char* pCharProgPath = UnicodeToAnsiString( pProgPath ); - - if ( pCharProgPath ) - { - int nLen = strlen( pCharProgPath ); - *ppActiveXPath = reinterpret_cast<char*>( malloc( nLen + 23 ) ); - strncpy( *ppActiveXPath, pCharProgPath, nLen ); - strncpy( (*ppActiveXPath) + nLen, "program\\so_activex.dll", 22 ); - (*ppActiveXPath)[nLen+22] = 0; - - free( pCharProgPath ); - - return TRUE; - } - - free( pProgPath ); - } - - return FALSE; -} - -//---------------------------------------------------------- -BOOL GetDelta( MSIHANDLE hMSI, int& nOldInstallMode, int& nInstallMode, int& nDeinstallMode ) -{ - // for now the chart is always installed - nOldInstallMode = CHART_COMPONENT; - nInstallMode = CHART_COMPONENT; - nDeinstallMode = 0; - - INSTALLSTATE current_state; - INSTALLSTATE future_state; - - if ( ERROR_SUCCESS == MsiGetFeatureState( hMSI, L"gm_p_Wrt_Bin", ¤t_state, &future_state ) ) - { - // analyze writer installation mode - if ( current_state == INSTALLSTATE_LOCAL ) - nOldInstallMode |= WRITER_COMPONENT; - - if ( future_state == INSTALLSTATE_LOCAL - || ( current_state == INSTALLSTATE_LOCAL && future_state == INSTALLSTATE_UNKNOWN ) ) - nInstallMode |= WRITER_COMPONENT; - else if ( current_state == INSTALLSTATE_LOCAL && future_state == INSTALLSTATE_ABSENT ) - nDeinstallMode |= WRITER_COMPONENT; - } - else - { - // assert( FALSE ); - } - - if ( ERROR_SUCCESS == MsiGetFeatureState( hMSI, L"gm_p_Calc_Bin", ¤t_state, &future_state ) ) - { - // analyze calc installation mode - if ( current_state == INSTALLSTATE_LOCAL ) - nOldInstallMode |= CALC_COMPONENT; - - if ( future_state == INSTALLSTATE_LOCAL - || ( current_state == INSTALLSTATE_LOCAL && future_state == INSTALLSTATE_UNKNOWN ) ) - nInstallMode |= CALC_COMPONENT; - else if ( current_state == INSTALLSTATE_LOCAL && future_state == INSTALLSTATE_ABSENT ) - nDeinstallMode |= CALC_COMPONENT; - } - else - { - // assert( FALSE ); - } - - if ( ERROR_SUCCESS == MsiGetFeatureState( hMSI, L"gm_p_Draw_Bin", ¤t_state, &future_state ) ) - { - // analyze draw installation mode - if ( current_state == INSTALLSTATE_LOCAL ) - nOldInstallMode |= DRAW_COMPONENT; - - if ( future_state == INSTALLSTATE_LOCAL - || ( current_state == INSTALLSTATE_LOCAL && future_state == INSTALLSTATE_UNKNOWN ) ) - nInstallMode |= DRAW_COMPONENT; - else if ( current_state == INSTALLSTATE_LOCAL && future_state == INSTALLSTATE_ABSENT ) - nDeinstallMode |= DRAW_COMPONENT; - } - else - { - // assert( FALSE ); - } - - if ( ERROR_SUCCESS == MsiGetFeatureState( hMSI, L"gm_p_Impress_Bin", ¤t_state, &future_state ) ) - { - // analyze impress installation mode - if ( current_state == INSTALLSTATE_LOCAL ) - nOldInstallMode |= IMPRESS_COMPONENT; - - if ( future_state == INSTALLSTATE_LOCAL - || ( current_state == INSTALLSTATE_LOCAL && future_state == INSTALLSTATE_UNKNOWN ) ) - nInstallMode |= IMPRESS_COMPONENT; - else if ( current_state == INSTALLSTATE_LOCAL && future_state == INSTALLSTATE_ABSENT ) - nDeinstallMode |= IMPRESS_COMPONENT; - } - else - { - // assert( FALSE ); - } - - if ( ERROR_SUCCESS == MsiGetFeatureState( hMSI, L"gm_p_Math_Bin", ¤t_state, &future_state ) ) - { - // analyze math installation mode - if ( current_state == INSTALLSTATE_LOCAL ) - nOldInstallMode |= MATH_COMPONENT; - - if ( future_state == INSTALLSTATE_LOCAL - || ( current_state == INSTALLSTATE_LOCAL && future_state == INSTALLSTATE_UNKNOWN ) ) - nInstallMode |= MATH_COMPONENT; - else if ( current_state == INSTALLSTATE_LOCAL && future_state == INSTALLSTATE_ABSENT ) - nDeinstallMode |= MATH_COMPONENT; - } - else - { - // assert( FALSE ); - } - - return TRUE; -} - -//---------------------------------------------------------- -BOOL MakeInstallForAllUsers( MSIHANDLE hMSI ) -{ - BOOL bResult = FALSE; - wchar_t* pVal = NULL; - if ( GetMsiProp( hMSI, L"ALLUSERS", &pVal ) && pVal ) - { - bResult = UnicodeEquals( pVal , L"1" ); - free( pVal ); - } - - return bResult; -} - -//---------------------------------------------------------- -BOOL MakeInstallFor64Bit( MSIHANDLE hMSI ) -{ - BOOL bResult = FALSE; - wchar_t* pVal = NULL; - if ( GetMsiProp( hMSI, L"VersionNT64", &pVal ) && pVal ) - { - bResult = TRUE; - free( pVal ); - } - - return bResult; -} -//---------------------------------------------------------- -extern "C" UINT __stdcall InstallActiveXControl( MSIHANDLE hMSI ) -{ - int nOldInstallMode = 0; - int nInstallMode = 0; - int nDeinstallMode = 0; - - INSTALLSTATE current_state; - INSTALLSTATE future_state; - - if ( ERROR_SUCCESS == MsiGetFeatureState( hMSI, L"gm_o_Activexcontrol", ¤t_state, &future_state ) ) - { - BOOL bInstallForAllUser = MakeInstallForAllUsers( hMSI ); - BOOL bInstallFor64Bit = MakeInstallFor64Bit( hMSI ); - - char* pActiveXPath = NULL; - if ( GetActiveXControlPath( hMSI, &pActiveXPath ) && pActiveXPath - && GetDelta( hMSI, nOldInstallMode, nInstallMode, nDeinstallMode ) ) - { - if ( future_state == INSTALLSTATE_LOCAL - || ( current_state == INSTALLSTATE_LOCAL && future_state == INSTALLSTATE_UNKNOWN ) ) - { - // the control is installed in the new selected configuration - - if ( current_state == INSTALLSTATE_LOCAL && nDeinstallMode ) - UnregisterActiveXNative( pActiveXPath, nDeinstallMode, bInstallForAllUser, bInstallFor64Bit ); - - if ( nInstallMode ) - RegisterActiveXNative( pActiveXPath, nInstallMode, bInstallForAllUser, bInstallFor64Bit ); - } - else if ( current_state == INSTALLSTATE_LOCAL && future_state == INSTALLSTATE_ABSENT ) - { - if ( nOldInstallMode ) - UnregisterActiveXNative( pActiveXPath, nOldInstallMode, bInstallForAllUser, bInstallFor64Bit ); - } - } - - if ( pActiveXPath ) - free( pActiveXPath ); - } - else - { - // assert( FALSE ); - } - - return ERROR_SUCCESS; -} - -//---------------------------------------------------------- -extern "C" UINT __stdcall DeinstallActiveXControl( MSIHANDLE hMSI ) -{ - INSTALLSTATE current_state; - INSTALLSTATE future_state; - - if ( ERROR_SUCCESS == MsiGetFeatureState( hMSI, L"gm_o_Activexcontrol", ¤t_state, &future_state ) ) - { - char* pActiveXPath = NULL; - if ( current_state == INSTALLSTATE_LOCAL && GetActiveXControlPath( hMSI, &pActiveXPath ) && pActiveXPath ) - { - BOOL bInstallForAllUser = MakeInstallForAllUsers( hMSI ); - BOOL bInstallFor64Bit = MakeInstallFor64Bit( hMSI ); - - { - UnregisterActiveXNative( pActiveXPath, - CHART_COMPONENT - | DRAW_COMPONENT - | IMPRESS_COMPONENT - | CALC_COMPONENT - | WRITER_COMPONENT - | MATH_COMPONENT, - bInstallForAllUser, - bInstallFor64Bit ); - } - - free( pActiveXPath ); - } - } - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/regpatchactivex/exports.dxp b/setup_native/source/win32/customactions/regpatchactivex/exports.dxp deleted file mode 100644 index c1d751335..000000000 --- a/setup_native/source/win32/customactions/regpatchactivex/exports.dxp +++ /dev/null @@ -1 +0,0 @@ -PatchActiveXControl diff --git a/setup_native/source/win32/customactions/regpatchactivex/makefile.mk b/setup_native/source/win32/customactions/regpatchactivex/makefile.mk deleted file mode 100644 index 9641c8ba0..000000000 --- a/setup_native/source/win32/customactions/regpatchactivex/makefile.mk +++ /dev/null @@ -1,87 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=regpatchactivex -USE_DEFFILE=TRUE - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=TRUE - -.INCLUDE : settings.mk - -.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!="" - -STDSHL= - -# --- Files -------------------------------------------------------- - -INCPRE+=.\Include -.DIRCACHE=NO - -SLOFILES = $(SLO)$/regpatchactivex.obj - -.IF "$(COM)"=="GCC" -SHL1STDLIBS += -lstdc++ -.IF "$(MINGW_GCCLIB_EH)"=="YES" -SHL1STDLIBS += -lgcc_eh -.ENDIF -SHL1STDLIBS += -lgcc -lmingw32 -lmoldname -lmsvcrt -.ELSE -SHL1STDLIBS= -.ENDIF - -SHL1STDLIBS+= $(KERNEL32LIB)\ - $(USER32LIB)\ - $(ADVAPI32LIB)\ - $(SHELL32LIB)\ - $(MSILIB) -.IF "$(COM)"!="GCC" -SHL1STDLIBS+= libcmt.lib -.ENDIF - - -SHL1LIBS = $(SLB)$/$(TARGET).lib - -SHL1TARGET = $(TARGET) -SHL1IMPLIB = i$(TARGET) - -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1DEPN = $(SLB)$/$(TARGET).lib -SHL1BASE = 0x1c000000 -DEF1NAME=$(SHL1TARGET) -DEF1EXPORTFILE=exports.dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk - -# ------------------------------------------------------------------------- diff --git a/setup_native/source/win32/customactions/regpatchactivex/regpatchactivex.cxx b/setup_native/source/win32/customactions/regpatchactivex/regpatchactivex.cxx deleted file mode 100644 index 258e26b2b..000000000 --- a/setup_native/source/win32/customactions/regpatchactivex/regpatchactivex.cxx +++ /dev/null @@ -1,124 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define UNICODE - -#ifdef _MSC_VER -#pragma warning(push,1) // disable warnings within system headers -#endif -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <string.h> -#include <malloc.h> -#include <stdio.h> - -//---------------------------------------------------------- -BOOL UnicodeEquals( wchar_t* pStr1, wchar_t* pStr2 ) -{ - if ( pStr1 == NULL && pStr2 == NULL ) - return TRUE; - else if ( pStr1 == NULL || pStr2 == NULL ) - return FALSE; - - while( *pStr1 == *pStr2 && *pStr1 && *pStr2 ) - pStr1++, pStr2++; - - return ( *pStr1 == 0 && *pStr2 == 0 ); -} - -//---------------------------------------------------------- -BOOL GetMsiProp( MSIHANDLE hMSI, const wchar_t* pPropName, wchar_t** ppValue ) -{ - DWORD sz = 0; - if ( MsiGetProperty( hMSI, pPropName, L"", &sz ) == ERROR_MORE_DATA ) - { - sz++; - DWORD nbytes = sz * sizeof( wchar_t ); - wchar_t* buff = reinterpret_cast<wchar_t*>( malloc( nbytes ) ); - ZeroMemory( buff, nbytes ); - MsiGetProperty( hMSI, pPropName, buff, &sz ); - *ppValue = buff; - - return TRUE; - } - - return FALSE; -} - -//---------------------------------------------------------- -BOOL MakeInstallForAllUsers( MSIHANDLE hMSI ) -{ - BOOL bResult = FALSE; - wchar_t* pVal = NULL; - if ( GetMsiProp( hMSI, L"ALLUSERS", &pVal ) && pVal ) - { - bResult = UnicodeEquals( pVal , L"1" ); - free( pVal ); - } - - return bResult; -} - -//---------------------------------------------------------- -extern "C" UINT __stdcall PatchActiveXControl( MSIHANDLE hMSI ) -{ - // MessageBox(NULL, L"PatchActiveXControl", L"Information", MB_OK | MB_ICONINFORMATION); - - INSTALLSTATE current_state; - INSTALLSTATE future_state; - - if ( ERROR_SUCCESS == MsiGetFeatureState( hMSI, L"gm_o_Activexcontrol", ¤t_state, &future_state ) ) - { - BOOL bInstallForAllUsers = MakeInstallForAllUsers( hMSI ); - - if ( future_state == INSTALLSTATE_LOCAL - || ( current_state == INSTALLSTATE_LOCAL && future_state == INSTALLSTATE_UNKNOWN ) ) - { - HKEY hkey = NULL; - char* aSubKey = "Software\\Classes\\MIME\\DataBase\\Content Type\\application/vnd.sun.xml.base"; - if ( ERROR_SUCCESS == RegCreateKeyA(bInstallForAllUsers ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER, aSubKey, &hkey) ) - { - RegDeleteValueA( hkey, "CLSID" ); - RegCloseKey( hkey ), hkey = NULL; - } - } - } - else - { - // assert( FALSE ); - } - - return ERROR_SUCCESS; -} - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/sellang/exports.dxp b/setup_native/source/win32/customactions/sellang/exports.dxp deleted file mode 100644 index cc6dd8d32..000000000 --- a/setup_native/source/win32/customactions/sellang/exports.dxp +++ /dev/null @@ -1 +0,0 @@ -SelectLanguage diff --git a/setup_native/source/win32/customactions/sellang/makefile.mk b/setup_native/source/win32/customactions/sellang/makefile.mk deleted file mode 100644 index ffad814e3..000000000 --- a/setup_native/source/win32/customactions/sellang/makefile.mk +++ /dev/null @@ -1,78 +0,0 @@ -#************************************************************************* -# -# OpenOffice.org - a multi-platform office productivity suite -# -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 3. -# -# -# GNU Lesser General Public License Version 3 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License version 2.1, as published by the Free Software Foundation. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=sellangmsi - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=TRUE -NO_DEFAULT_STL=TRUE -DYNAMIC_CRT= -USE_DEFFILE=TRUE - -.INCLUDE : settings.mk - -.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!="" - -CFLAGS+=-D_STLP_USE_STATIC_LIB - -# --- Files -------------------------------------------------------- - -UWINAPILIB= - -SLOFILES = \ - $(SLO)$/sellang.obj - -SHL1STDLIBS= \ - $(KERNEL32LIB)\ - $(USER32LIB)\ - $(ADVAPI32LIB)\ - $(SHELL32LIB)\ - $(MSILIB) - -SHL1LIBS = $(SLB)$/$(TARGET).lib - -SHL1TARGET = $(TARGET) -SHL1IMPLIB = i$(TARGET) - -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1DEPN = $(SLB)$/$(TARGET).lib -SHL1BASE = 0x1c000000 -DEF1NAME=$(SHL1TARGET) -DEF1EXPORTFILE=exports.dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk - -# ------------------------------------------------------------------------- diff --git a/setup_native/source/win32/customactions/sellang/sellang.cxx b/setup_native/source/win32/customactions/sellang/sellang.cxx deleted file mode 100644 index e0a775af1..000000000 --- a/setup_native/source/win32/customactions/sellang/sellang.cxx +++ /dev/null @@ -1,294 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * OpenOffice.org - a multi-platform office productivity suite - * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 3. - * - * - * GNU Lesser General Public License Version 3 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - ************************************************************************/ - -/* Currently the "all" installer has a bit over 100 UI languages, and - * I doubt it will grow a lot over that. - */ -#define MAX_LANGUAGES 200 - -#define WIN32_LEAN_AND_MEAN -#define _WIN32_WINNT 0x0500 -#undef WINVER -#define WINVER 0x0500 - -#include <windows.h> -#include <msiquery.h> -#include <malloc.h> - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include <sal/macros.h> -#include <systools/win32/uwinapi.h> - -static const char * -langid_to_string( LANGID langid, int *have_default_lang ) -{ - /* Map from LANGID to string. The languages below are now in - * alphabetical order of codes as in - * setup_native/source/win32/msi-encodinglist.txt. Only the - * language part is returned in the string. - */ - switch (PRIMARYLANGID (langid)) { - case LANG_ENGLISH: - if (have_default_lang != NULL && - langid == MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT)) - *have_default_lang = 1; - return "en"; -#define CASE(name, primary) \ - case LANG_##primary: return #name - CASE(af, AFRIKAANS); - CASE(ar, ARABIC); - CASE(as, ASSAMESE); - CASE(be, BELARUSIAN); - CASE(bg, BULGARIAN); - CASE(bn, BENGALI); - CASE(br, BRETON); - CASE(ca, CATALAN); - CASE(cs, CZECH); - CASE(cy, WELSH); - CASE(da, DANISH); - CASE(de, GERMAN); - CASE(el, GREEK); - CASE(es, SPANISH); - CASE(et, ESTONIAN); - CASE(eu, BASQUE); - CASE(fa, FARSI); - CASE(fi, FINNISH); - CASE(fo, FAEROESE); - CASE(fr, FRENCH); - CASE(ga, IRISH); - CASE(gl, GALICIAN); - CASE(gu, GUJARATI); - CASE(he, HEBREW); - CASE(hi, HINDI); - CASE(hu, HUNGARIAN); - CASE(hy, ARMENIAN); - CASE(id, INDONESIAN); - CASE(is, ICELANDIC); - CASE(it, ITALIAN); - CASE(ja, JAPANESE); - CASE(ka, GEORGIAN); - CASE(km, KHMER); - CASE(kn, KANNADA); - CASE(ko, KOREAN); - CASE(ks, KASHMIRI); - CASE(lo, LAO); - CASE(lt, LITHUANIAN); - CASE(lv, LATVIAN); - CASE(mk, MACEDONIAN); - CASE(ml, MALAYALAM); - CASE(mn, MONGOLIAN); - CASE(mr, MARATHI); - CASE(ms, MALAY); - CASE(mt, MALTESE); - CASE(ne, NEPALI); - CASE(nl, DUTCH); - CASE(ns, SOTHO); - CASE(or, ORIYA); - CASE(pa, PUNJABI); - CASE(pl, POLISH); - CASE(pt, PORTUGUESE); - CASE(rm, ROMANSH); - CASE(ro, ROMANIAN); - CASE(ru, RUSSIAN); - CASE(rw, KINYARWANDA); - CASE(sa, SANSKRIT); - CASE(sb, UPPER_SORBIAN); - CASE(sd, SINDHI); - CASE(sk, SLOVAK); - CASE(sl, SLOVENIAN); - CASE(sq, ALBANIAN); - CASE(sv, SWEDISH); - CASE(sw, SWAHILI); - CASE(ta, TAMIL); - CASE(te, TELUGU); - CASE(tg, TAJIK); - CASE(th, THAI); - CASE(ti, TIGRIGNA); - CASE(tn, TSWANA); - CASE(tr, TURKISH); - CASE(tt, TATAR); - CASE(uk, UKRAINIAN); - CASE(ur, URDU); - CASE(uz, UZBEK); - CASE(vi, VIETNAMESE); - CASE(xh, XHOSA); - CASE(zh, CHINESE); - CASE(zu, ZULU); -#undef CASE - /* Special cases */ - default: - switch (langid) { - case MAKELANGID(LANG_SERBIAN, 0x05): return "bs"; -#define CASE(name, primary, sub) \ - case MAKELANGID(LANG_##primary, SUBLANG_##sub): return #name - - CASE(hr, SERBIAN, DEFAULT); - CASE(nb, NORWEGIAN, NORWEGIAN_BOKMAL); - CASE(nn, NORWEGIAN, NORWEGIAN_NYNORSK); - CASE(sh, SERBIAN, SERBIAN_LATIN); - CASE(sr, SERBIAN, SERBIAN_CYRILLIC); -#undef CASE - default: return ""; - } - } -} - -/* Here we collect the UI languages present on the system; - * MAX_LANGUAGES is certainly enough for that - */ -static const char *ui_langs[MAX_LANGUAGES]; -static int num_ui_langs = 0; - -BOOL CALLBACK -enum_ui_lang_proc (LPTSTR language, LONG_PTR /* unused_lParam */) -{ - long langid = strtol(language, NULL, 16); - if (langid > 0xFFFF) - return TRUE; - ui_langs[num_ui_langs] = langid_to_string((LANGID) langid, NULL); - num_ui_langs++; - if (num_ui_langs == SAL_N_ELEMENTS(ui_langs) ) - return FALSE; - return TRUE; -} - -static BOOL -present_in_ui_langs(const char *lang) -{ - for (int i = 0; i < num_ui_langs; i++) - if (memcmp (ui_langs[i], lang, 2) == 0) - return TRUE; - return FALSE; -} - -extern "C" UINT __stdcall SelectLanguage( MSIHANDLE handle ) -{ - char feature[100]; - MSIHANDLE database, view, record; - DWORD length; - int nlangs = 0; - char langs[MAX_LANGUAGES][6]; - - database = MsiGetActiveDatabase(handle); - - if (MsiDatabaseOpenViewA(database, "SELECT Feature from Feature WHERE Feature_Parent = 'gm_Langpack_Languageroot'", &view) != ERROR_SUCCESS) { - MsiCloseHandle(database); - return ERROR_SUCCESS; - } - - if (MsiViewExecute(view, NULL) != ERROR_SUCCESS) { - MsiCloseHandle(view); - MsiCloseHandle(database); - return ERROR_SUCCESS; - } - - while (nlangs < MAX_LANGUAGES && - MsiViewFetch(view, &record) == ERROR_SUCCESS) { - length = sizeof(feature); - if (MsiRecordGetStringA(record, 1, feature, &length) != ERROR_SUCCESS) { - MsiCloseHandle(record); - MsiCloseHandle(view); - MsiCloseHandle(database); - return ERROR_SUCCESS; - } - - /* Keep track of what languages are included in this installer, if - * it is a multilanguage one. - */ - if (strcmp(feature, "gm_Langpack_r_en_US") != 0) - strcpy(langs[nlangs++], feature + strlen("gm_Langpack_r_")); - - MsiCloseHandle(record); - } - - MsiCloseHandle(view); - - if (nlangs > 0) { - /* Deselect those languages that don't match any of the UI languages - * available on the system. - */ - - int i; - int have_system_default_lang = 0; - const char *system_default_lang = langid_to_string(GetSystemDefaultUILanguage(), &have_system_default_lang); - const char *user_locale_lang = langid_to_string(LANGIDFROMLCID(GetThreadLocale()), NULL); - - EnumUILanguagesA(enum_ui_lang_proc, 0, 0); - - /* If one of the alternative languages in a multi-language installer - * is the system default UI language, deselect those languages that - * aren't among the UI languages available on the system. - * (On most Windows installations, just one UI language is present, - * which obviously is the same as the default UI language. But - * we want to be generic.) - * If none of the languages in a multi-language installer is the - * system default UI language (this happens now in 2.4.0 where we - * cannot put as many UI languages into the installer as we would - * like, but only half a dozen: en-US,de,es,fr,it,pt-BR), pretend - * that English is the system default UI language, - * so that we will by default deselect everything except - * English. We don't want to by default install all half dozen - * languages for an unsuspecting user of a Finnish Windows, for - * instance. Sigh. - */ - if (system_default_lang[0]) { - for (i = 0; i < nlangs; i++) { - if (memcmp (system_default_lang, langs[i], 2) == 0) { - have_system_default_lang = 1; - } - } - } - - if (!have_system_default_lang) { - system_default_lang = "en"; - have_system_default_lang = 1; - } - if (have_system_default_lang) { - for (i = 0; i < nlangs; i++) { - if (memcmp(system_default_lang, langs[i], 2) != 0 && - memcmp(user_locale_lang, langs[i], 2) != 0 && - !present_in_ui_langs(langs[i])) { - UINT rc; - sprintf(feature, "gm_Langpack_r_%s", langs[i]); - rc = MsiSetFeatureStateA(handle, feature, INSTALLSTATE_ABSENT); - } - } - } - } - - MsiCloseHandle(database); - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/checkdirectory.cxx b/setup_native/source/win32/customactions/shellextensions/checkdirectory.cxx deleted file mode 100644 index 8e4abcca5..000000000 --- a/setup_native/source/win32/customactions/shellextensions/checkdirectory.cxx +++ /dev/null @@ -1,120 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define _WIN32_WINNT 0x0401 - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <assert.h> - -#ifdef UNICODE -#define _UNICODE -#define _tstring wstring -#else -#define _tstring string -#endif -#include <tchar.h> -#include <string> -#include <queue> -#include <stdio.h> - -#include <systools/win32/uwinapi.h> -#include <../tools/seterror.hxx> - -static std::_tstring GetMsiProperty( MSIHANDLE handle, const std::_tstring& sProperty ) -{ - std::_tstring result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if ( MsiGetProperty( handle, sProperty.c_str(), szDummy, &nChars ) == ERROR_MORE_DATA ) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - - return result; -} - -static void UnsetMsiProperty(MSIHANDLE handle, const std::_tstring& sProperty) -{ - MsiSetProperty(handle, sProperty.c_str(), NULL); -} - -static void SetMsiProperty(MSIHANDLE handle, const std::_tstring& sProperty, const std::_tstring&) -{ - MsiSetProperty(handle, sProperty.c_str(), TEXT("1")); -} - -extern "C" UINT __stdcall CheckInstallDirectory(MSIHANDLE handle) -{ - std::_tstring sInstallPath = GetMsiProperty(handle, TEXT("INSTALLLOCATION")); - std::_tstring sOfficeHostnamePath = GetMsiProperty(handle, TEXT("OFFICEDIRHOSTNAME")); - - // MessageBox(NULL, sInstallPath.c_str(), "DEBUG", MB_OK); - - // unsetting all properties - - UnsetMsiProperty( handle, TEXT("DIRECTORY_NOT_EMPTY") ); - - // 1. Searching for file setup.ini - - std::_tstring sSetupIniPath = sInstallPath + sOfficeHostnamePath + TEXT("\\program\\setup.ini"); - - WIN32_FIND_DATA data; - HANDLE hdl = FindFirstFile(sSetupIniPath.c_str(), &data); - - // std::_tstring mystr = "Searching for " + sSetupIniPath; - // MessageBox(NULL, mystr.c_str(), "DEBUG", MB_OK); - - if ( IsValidHandle(hdl) ) - { - // setup.ini found -> directory cannot be used for installation. - SetMsiProperty( handle, TEXT("DIRECTORY_NOT_EMPTY"), TEXT("1") ); - SetMsiErrorCode( MSI_ERROR_DIRECTORY_NOT_EMPTY ); - // std::_tstring notEmptyStr = "Directory is not empty. Please choose another installation directory."; - // std::_tstring notEmptyTitle = "Directory not empty"; - // MessageBox(NULL, notEmptyStr.c_str(), notEmptyTitle.c_str(), MB_OK); - } - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/checkpatches.cxx b/setup_native/source/win32/customactions/shellextensions/checkpatches.cxx deleted file mode 100644 index 2cfdcfa54..000000000 --- a/setup_native/source/win32/customactions/shellextensions/checkpatches.cxx +++ /dev/null @@ -1,116 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define _WIN32_WINNT 0x0401 - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <assert.h> - -#ifdef UNICODE -#define _UNICODE -#define _tstring wstring -#else -#define _tstring string -#endif -#include <tchar.h> -#include <string> -#include <queue> -#include <stdio.h> -#include <strsafe.h> - -#include <systools/win32/uwinapi.h> - -//---------------------------------------------------------- -#ifdef DEBUG -inline void OutputDebugStringFormat( LPCSTR pFormat, ... ) -{ - CHAR buffer[1024]; - va_list args; - - va_start( args, pFormat ); - StringCchVPrintfA( buffer, sizeof(buffer), pFormat, args ); - OutputDebugStringA( buffer ); -} -#else -static inline void OutputDebugStringFormat( LPCSTR, ... ) -{ -} -#endif - -static std::_tstring GetMsiProperty( MSIHANDLE handle, const std::_tstring& sProperty ) -{ - std::_tstring result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if ( MsiGetProperty( handle, sProperty.c_str(), szDummy, &nChars ) == ERROR_MORE_DATA ) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - - return result; -} - -static void SetMsiProperty( MSIHANDLE handle, const std::_tstring& sProperty ) -{ - MsiSetProperty( handle, sProperty.c_str(), TEXT("1") ); -} - -extern "C" UINT __stdcall CheckPatchList( MSIHANDLE handle ) -{ - std::_tstring sPatchList = GetMsiProperty( handle, TEXT("PATCH") ); - std::_tstring sRequiredPatch = GetMsiProperty( handle, TEXT("PREREQUIREDPATCH") ); - - OutputDebugStringFormat( "CheckPatchList called with PATCH=%s and PRQ= %s\n", sPatchList.c_str(), sRequiredPatch.c_str() ); - - if ( ( sPatchList.length() != 0 ) && ( sRequiredPatch.length() != 0 ) ) - { - if ( _tcsstr( sPatchList.c_str(), sRequiredPatch.c_str() ) ) - { - SetMsiProperty( handle, TEXT("IGNOREPREREQUIREDPATCH") ); - OutputDebugStringFormat( "Set Property IgnorePrerequiredPatch!\n" ); - } - } - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/checkrunningoffice.cxx b/setup_native/source/win32/customactions/shellextensions/checkrunningoffice.cxx deleted file mode 100644 index 0cf845822..000000000 --- a/setup_native/source/win32/customactions/shellextensions/checkrunningoffice.cxx +++ /dev/null @@ -1,293 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define _WIN32_WINDOWS 0x0410 - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <assert.h> - -#ifdef UNICODE -#define _UNICODE -#define _tstring wstring -#else -#define _tstring string -#endif -#include <tchar.h> -#include <string> -#include <queue> -#include <stdio.h> -#include <sal/macros.h> - -#include <systools/win32/uwinapi.h> -#include <../tools/seterror.hxx> - -#define WININIT_FILENAME "wininit.ini" -#define RENAME_SECTION "rename" - -#ifdef DEBUG -inline void OutputDebugStringFormat( LPCTSTR pFormat, ... ) -{ - _TCHAR buffer[1024]; - va_list args; - - va_start( args, pFormat ); - _vsntprintf( buffer, SAL_N_ELEMENTS(buffer), pFormat, args ); - OutputDebugString( buffer ); -} -#else -static inline void OutputDebugStringFormat( LPCTSTR, ... ) -{ -} -#endif - -static std::_tstring GetMsiProperty( MSIHANDLE handle, const std::_tstring& sProperty ) -{ - std::_tstring result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if ( MsiGetProperty( handle, sProperty.c_str(), szDummy, &nChars ) == ERROR_MORE_DATA ) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - - return result; -} - -static inline bool IsSetMsiProperty(MSIHANDLE handle, const std::_tstring& sProperty) -{ - std::_tstring value = GetMsiProperty(handle, sProperty); - return (value.length() > 0); -} - -static inline void UnsetMsiProperty(MSIHANDLE handle, const std::_tstring& sProperty) -{ - MsiSetProperty(handle, sProperty.c_str(), NULL); -} - -static inline void SetMsiProperty(MSIHANDLE handle, const std::_tstring& sProperty) -{ - MsiSetProperty(handle, sProperty.c_str(), TEXT("1")); -} - -static BOOL MoveFileEx9x( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, DWORD dwFlags ) -{ - BOOL fSuccess = FALSE; // assume failure - - // Windows 9x has a special mechanism to move files after reboot - - if ( dwFlags & MOVEFILE_DELAY_UNTIL_REBOOT ) - { - CHAR szExistingFileNameA[MAX_PATH]; - CHAR szNewFileNameA[MAX_PATH] = "NUL"; - - // Path names in WININIT.INI must be in short path name form - - if ( - GetShortPathNameA( lpExistingFileNameA, szExistingFileNameA, MAX_PATH ) && - (!lpNewFileNameA || GetShortPathNameA( lpNewFileNameA, szNewFileNameA, MAX_PATH )) - ) - { - CHAR szBuffer[32767]; // The buffer size must not exceed 32K - DWORD dwBufLen = GetPrivateProfileSectionA( RENAME_SECTION, szBuffer, SAL_N_ELEMENTS(szBuffer), WININIT_FILENAME ); - - CHAR szRename[MAX_PATH]; // This is enough for at most to times 67 chracters - strcpy( szRename, szNewFileNameA ); - strcat( szRename, "=" ); - strcat( szRename, szExistingFileNameA ); - size_t lnRename = strlen(szRename); - - if ( dwBufLen + lnRename + 2 <= SAL_N_ELEMENTS(szBuffer) ) - { - CopyMemory( &szBuffer[dwBufLen], szRename, lnRename ); - szBuffer[dwBufLen + lnRename ] = 0; - szBuffer[dwBufLen + lnRename + 1 ] = 0; - - fSuccess = WritePrivateProfileSectionA( RENAME_SECTION, szBuffer, WININIT_FILENAME ); - } - else - SetLastError( ERROR_BUFFER_OVERFLOW ); - } - } - else - { - - fSuccess = MoveFileA( lpExistingFileNameA, lpNewFileNameA ); - - if ( !fSuccess && GetLastError() != ERROR_ACCESS_DENIED && - 0 != (dwFlags & (MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING)) ) - { - BOOL bFailIfExist = 0 == (dwFlags & MOVEFILE_REPLACE_EXISTING); - - fSuccess = CopyFileA( lpExistingFileNameA, lpNewFileNameA, bFailIfExist ); - - if ( fSuccess ) - fSuccess = DeleteFileA( lpExistingFileNameA ); - } - - } - - return fSuccess; -} - -static BOOL MoveFileExImpl( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, DWORD dwFlags ) -{ - if ( 0 > ((LONG)GetVersion())) // High order bit indicates Win 9x - return MoveFileEx9x( lpExistingFileNameA, lpNewFileNameA, dwFlags ); - else - return MoveFileExA( lpExistingFileNameA, lpNewFileNameA, dwFlags ); -} - -extern "C" UINT __stdcall IsOfficeRunning( MSIHANDLE handle ) -{ - OSVERSIONINFO osverinfo; - osverinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx( &osverinfo ); - - // renaming the vcl resource doesn't work reliable with OS >= Windows Vista - if (osverinfo.dwMajorVersion < 6 ) - { - std::_tstring sInstDir = GetMsiProperty( handle, TEXT("INSTALLLOCATION") ); - // Property empty -> no office installed - if ( sInstDir.length() == 0 ) - return ERROR_SUCCESS; - - std::_tstring sResourceDir = sInstDir + TEXT("Basis\\program\\resource\\"); - std::_tstring sPattern = sResourceDir + TEXT("vcl*.res"); - -// std::_tstring mystr; -// mystr = "IsOfficeRunning start. Checking file in dir: " + sResourceDir; -// MessageBox( NULL, mystr.c_str(), "IsOfficeRunning", MB_OK ); - - WIN32_FIND_DATA aFindFileData; - HANDLE hFind = FindFirstFile( sPattern.c_str(), &aFindFileData ); - - if ( IsValidHandle(hFind) ) - { - BOOL fSuccess = false; - bool fRenameSucceeded; - - do - { - std::_tstring sResourceFile = sResourceDir + aFindFileData.cFileName; - std::_tstring sIntermediate = sResourceFile + TEXT(".tmp"); - - fRenameSucceeded = MoveFileExImpl( sResourceFile.c_str(), sIntermediate.c_str(), MOVEFILE_REPLACE_EXISTING ); - if ( fRenameSucceeded ) - { - MoveFileExImpl( sIntermediate.c_str(), sResourceFile.c_str(), 0 ); - fSuccess = FindNextFile( hFind, &aFindFileData ); - } - } while ( fSuccess && fRenameSucceeded ); - - if ( !fRenameSucceeded ) - { - MsiSetProperty(handle, TEXT("OFFICERUNS"), TEXT("1")); - SetMsiErrorCode( MSI_ERROR_OFFICE_IS_RUNNING ); - -// mystr = "Office is running"; -// MessageBox( NULL, mystr.c_str(), "IsOfficeRunning", MB_OK ); - } - - FindClose( hFind ); - } -// mystr = "IsOfficeRunning end"; -// MessageBox( NULL, mystr.c_str(), "IsOfficeRunning", MB_OK ); - } - else - { - std::_tstring sOfficeInstallPath = GetMsiProperty(handle, TEXT("INSTALLLOCATION")); - // Property empty -> no office installed - if ( sOfficeInstallPath.length() == 0 ) - return ERROR_SUCCESS; - - std::_tstring sRenameSrc = sOfficeInstallPath + TEXT("program"); - std::_tstring sRenameDst = sOfficeInstallPath + TEXT("program_test"); - - bool bSuccess = MoveFile( sRenameSrc.c_str(), sRenameDst.c_str() ); - - if ( bSuccess ) - { - MoveFile( sRenameDst.c_str(), sRenameSrc.c_str() ); - } - else - { - DWORD dwError = GetLastError(); - LPVOID lpMsgBuf; - // When there is no program folder, there could be no running office - if ( dwError == ERROR_FILE_NOT_FOUND ) - return ERROR_SUCCESS; - if ( dwError == ERROR_PATH_NOT_FOUND ) - return ERROR_SUCCESS; - - // The destination folder should never exist, don't know what to do here - if ( dwError == ERROR_ALREADY_EXISTS ) - return ERROR_SUCCESS; - - if ( FormatMessage( - FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, - GetLastError(), - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language - (LPTSTR) &lpMsgBuf, - 0, - NULL )) - { - OutputDebugStringFormat( TEXT("Error Code %d: %s"), dwError, lpMsgBuf ); - LocalFree( lpMsgBuf ); - } - else - OutputDebugStringFormat( TEXT("Error Code %d: Unknown"), dwError ); - - MsiSetProperty( handle, TEXT("OFFICERUNS"), TEXT("1") ); - SetMsiErrorCode( MSI_ERROR_OFFICE_IS_RUNNING ); - } - } - - return ERROR_SUCCESS; -} - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/completeinstallpath.cxx b/setup_native/source/win32/customactions/shellextensions/completeinstallpath.cxx deleted file mode 100644 index aca931c9c..000000000 --- a/setup_native/source/win32/customactions/shellextensions/completeinstallpath.cxx +++ /dev/null @@ -1,183 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define _WIN32_WINDOWS 0x0410 -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> - -#ifdef UNICODE -#define _UNICODE -#define _tstring wstring -#else -#define _tstring string -#endif -#include <tchar.h> -#include <string> - -using namespace std; - -namespace -{ - std::_tstring GetMsiProperty( MSIHANDLE handle, const std::_tstring& sProperty ) - { - std::_tstring result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if ( MsiGetProperty( handle, sProperty.c_str(), szDummy, &nChars ) == ERROR_MORE_DATA ) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - - return result; - } -} // namespace - -extern "C" UINT __stdcall CompleteInstallPath( MSIHANDLE handle ) -{ - // This CustomAction is necessary for updates from OOo 3.0, OOo 3.1 and OOo 3.2 to versions - // OOo 3.3 or later. This is caused by a change of INSTALLLOCATION, that starting with OOo 3.3 - // contains the name of the product again (instead of only "c:\program files"). Unfortunately - // this causes in an update installation, that INSTALLLOCATION is set to "c:\program files", - // so that in an OOo 3.3 or later, the directory "program" or "share" are directly created - // below "c:\program files". - - TCHAR szValue[8192]; - DWORD nValueSize = sizeof(szValue); - HKEY hKey; - std::_tstring sInstDir; - std::_tstring mystr; - - // Reading property OFFICEDIRHOSTNAME_, that contains the part of the path behind - // the program files folder. - - std::_tstring sInstallLocation = GetMsiProperty( handle, TEXT("INSTALLLOCATION") ); - std::_tstring sOfficeDirHostname = GetMsiProperty( handle, TEXT("OFFICEDIRHOSTNAME_") ); - - // If sInstallLocation ends with (contains) the string sOfficeDirHostname, - // INSTALLLOCATION is good and nothing has to be done here. - - bool pathCompletionRequired = true; - - if ( _tcsstr( sInstallLocation.c_str(), sOfficeDirHostname.c_str() ) ) - { - pathCompletionRequired = false; // nothing to do - // mystr = "Nothing to do, officedir is included into installlocation"; - // MessageBox( NULL, mystr.c_str(), "It is part of installlocation", MB_OK ); - } - - // If the path INSTALLLOCATION does not end with this string, INSTALLLOCATION is maybe - // transfered from an OOo 3.0, OOo 3.1 and OOo 3.2 and need to be changed therefore. - - if ( pathCompletionRequired ) - { - std::_tstring sManufacturer = GetMsiProperty( handle, TEXT("Manufacturer") ); - std::_tstring sDefinedName = GetMsiProperty( handle, TEXT("DEFINEDPRODUCT") ); - std::_tstring sUpgradeCode = GetMsiProperty( handle, TEXT("UpgradeCode") ); - - // sUpdateVersion can be "3.0", "3.1" or "3.2" - - std::_tstring sProductKey30 = "Software\\" + sManufacturer + "\\" + sDefinedName + - "\\" + "3.0" + "\\" + sUpgradeCode; - - std::_tstring sProductKey31 = "Software\\" + sManufacturer + "\\" + sDefinedName + - "\\" + "3.1" + "\\" + sUpgradeCode; - - std::_tstring sProductKey32 = "Software\\" + sManufacturer + "\\" + sDefinedName + - "\\" + "3.2" + "\\" + sUpgradeCode; - - // mystr = "ProductKey: " + sProductKey; - // MessageBox( NULL, mystr.c_str(), "ProductKey", MB_OK ); - - // mystr = "Checking registry"; - // MessageBox( NULL, mystr.c_str(), "registry search", MB_OK ); - - bool oldVersionExists = false; - - if ( ERROR_SUCCESS == RegOpenKey( HKEY_CURRENT_USER, sProductKey30.c_str(), &hKey ) ) - { - oldVersionExists = true; - RegCloseKey( hKey ); - } - else if ( ERROR_SUCCESS == RegOpenKey( HKEY_CURRENT_USER, sProductKey31.c_str(), &hKey ) ) - { - oldVersionExists = true; - RegCloseKey( hKey ); - } - else if ( ERROR_SUCCESS == RegOpenKey( HKEY_CURRENT_USER, sProductKey32.c_str(), &hKey ) ) - { - oldVersionExists = true; - RegCloseKey( hKey ); - } - else if ( ERROR_SUCCESS == RegOpenKey( HKEY_LOCAL_MACHINE, sProductKey30.c_str(), &hKey ) ) - { - oldVersionExists = true; - RegCloseKey( hKey ); - } - else if ( ERROR_SUCCESS == RegOpenKey( HKEY_LOCAL_MACHINE, sProductKey31.c_str(), &hKey ) ) - { - oldVersionExists = true; - RegCloseKey( hKey ); - } - else if ( ERROR_SUCCESS == RegOpenKey( HKEY_LOCAL_MACHINE, sProductKey32.c_str(), &hKey ) ) - { - oldVersionExists = true; - RegCloseKey( hKey ); - } - - if ( oldVersionExists ) - { - // Adding the new path content sOfficeDirHostname - sInstallLocation = sInstallLocation + sOfficeDirHostname; - // Setting the new property value - MsiSetProperty(handle, TEXT("INSTALLLOCATION"), sInstallLocation.c_str()); - // mystr = "Setting path to: " + sInstallLocation; - // MessageBox( NULL, mystr.c_str(), "sInstallLocation", MB_OK ); - } - } - - // mystr = "Ending with INSTALLLOCATION: " + sInstallLocation; - // MessageBox( NULL, mystr.c_str(), "END", MB_OK ); - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/copyeditiondata.cxx b/setup_native/source/win32/customactions/shellextensions/copyeditiondata.cxx deleted file mode 100644 index c78b2efff..000000000 --- a/setup_native/source/win32/customactions/shellextensions/copyeditiondata.cxx +++ /dev/null @@ -1,133 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "sal/config.h" - -#include <cstddef> -#include <new> -#include <string.h> // <cstring> not supported by old MSC versions - -#define WIN32_LEAN_AND_MEAN -#if defined _MSC_VER -#pragma warning(push, 1) -#endif -#include <windows.h> -#include <msiquery.h> -#include <shellapi.h> -#if defined _MSC_VER -#pragma warning(pop) -#endif - -#include "boost/scoped_array.hpp" - -#define LCL_LENGTH0(s) (sizeof (s) / sizeof *(s)) -#define LCL_STRING0(s) (s), LCL_LENGTH0(s) - -namespace { - -enum Status { STATUS_NO, STATUS_YES, STATUS_ERROR }; - -Status fileExists(wchar_t const * path) { - return GetFileAttributesW(path) == INVALID_FILE_ATTRIBUTES - ? GetLastError() == ERROR_FILE_NOT_FOUND ? STATUS_NO : STATUS_ERROR - : STATUS_YES; -} - -wchar_t * getProperty( - MSIHANDLE install, wchar_t const * name, wchar_t const * suffix, - std::size_t suffixLength, wchar_t ** end = NULL) -{ - DWORD n = 0; - UINT err = MsiGetPropertyW(install, name, L"", &n); - if (err != ERROR_SUCCESS && err != ERROR_MORE_DATA) { - return NULL; - } - DWORD n2 = n + suffixLength; //TODO: overflow - wchar_t * data = new(std::nothrow) wchar_t[n2]; - if (data == NULL) { - return NULL; - } - if (MsiGetPropertyW(install, name, data, &n2) != ERROR_SUCCESS || n2 != n) { - delete[] data; - return NULL; - } - memcpy(data + n, suffix, suffixLength * sizeof (wchar_t)); //TODO: overflow - if (end != NULL) { - *end = data + n + suffixLength; - } - return data; -} - -} - -extern "C" UINT __stdcall copyEditionData(MSIHANDLE install) { - boost::scoped_array<wchar_t> from( - getProperty(install, L"SourceDir", LCL_STRING0(L"edition\0"))); - if (!from) { - return ERROR_INSTALL_FAILURE; - } - Status stat = fileExists(from.get()); - if (stat == STATUS_ERROR) { - return ERROR_INSTALL_FAILURE; - } - if (stat == STATUS_NO) { - return ERROR_SUCCESS; - } - wchar_t * end; - boost::scoped_array<wchar_t> to( - getProperty( - install, L"INSTALLLOCATION", - LCL_STRING0(L"program\\edition\0"), &end)); - if (!to) { - return ERROR_INSTALL_FAILURE; - } - stat = fileExists(to.get()); - if (stat == STATUS_ERROR) { - return ERROR_INSTALL_FAILURE; - } - if (stat == STATUS_YES) { - SHFILEOPSTRUCTW opDelete = { - NULL, FO_DELETE, to.get(), NULL, FOF_NOCONFIRMATION | FOF_SILENT, - FALSE, NULL, NULL }; //TODO: non-NULL hwnd - if (SHFileOperationW(&opDelete) != 0) { - return ERROR_INSTALL_FAILURE; - } - } - *(end - LCL_LENGTH0(L"\\edition\0")) = L'\0'; - *(end - LCL_LENGTH0(L"\\edition\0") + 1) = L'\0'; - SHFILEOPSTRUCTW opCopy = { - NULL, FO_COPY, from.get(), to.get(), - FOF_NOCONFIRMATION | FOF_NOCONFIRMMKDIR | FOF_SILENT, FALSE, NULL, - NULL }; //TODO: non-NULL hwnd - if (SHFileOperationW(&opCopy) != 0) { - return ERROR_INSTALL_FAILURE; - } - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/copyextensiondata.cxx b/setup_native/source/win32/customactions/shellextensions/copyextensiondata.cxx deleted file mode 100644 index 19296460a..000000000 --- a/setup_native/source/win32/customactions/shellextensions/copyextensiondata.cxx +++ /dev/null @@ -1,125 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -#undef UNICODE -#undef _UNICODE - -#define _WIN32_WINDOWS 0x0410 - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#define WIN32_LEAN_AND_MEAN -#endif -#include <windows.h> -#include <msiquery.h> -#include <shellapi.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <assert.h> -#include <string.h> - -#ifdef UNICODE -#define _UNICODE -#define _tstring wstring -#else -#define _tstring string -#endif -#include <tchar.h> -#include <string> - - -static std::_tstring GetMsiProperty( MSIHANDLE handle, const std::_tstring& sProperty ) -{ - std::_tstring result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if ( MsiGetProperty( handle, sProperty.c_str(), szDummy, &nChars ) == ERROR_MORE_DATA ) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - - return result; -} - -extern "C" UINT __stdcall copyExtensionData(MSIHANDLE handle) { - - std::_tstring sSourceDir = GetMsiProperty( handle, TEXT("SourceDir") ); - std::_tstring sExtensionDir = sSourceDir + TEXT("extension\\"); - std::_tstring sPattern = sExtensionDir + TEXT("*.oxt"); - - // Finding all oxt files in sExtensionDir - - WIN32_FIND_DATA aFindFileData; - - HANDLE hFindOxt = FindFirstFile( sPattern.c_str(), &aFindFileData ); - - if ( hFindOxt != INVALID_HANDLE_VALUE ) - { - bool fNextFile = false; - bool bFailIfExist = true; - - std::_tstring sDestDir = GetMsiProperty( handle, TEXT("INSTALLLOCATION") ); - std::_tstring sShareInstallDir = sDestDir + TEXT("share\\extension\\install\\"); - - // creating directories - std::_tstring sShareDir = sDestDir + TEXT("share"); - std::_tstring sExtDir = sShareDir + TEXT("\\extension"); - std::_tstring sExtInstDir = sExtDir + TEXT("\\install"); - CreateDirectory(sShareDir.c_str(), NULL); - CreateDirectory(sExtDir.c_str(), NULL); - CreateDirectory(sExtInstDir.c_str(), NULL); - - do - { - std::_tstring sOxtFile = aFindFileData.cFileName; - - std::_tstring sSourceFile = sExtensionDir + sOxtFile; - std::_tstring sDestFile = sShareInstallDir + sOxtFile; - - CopyFile( sSourceFile.c_str(), sDestFile.c_str(), bFailIfExist ); - - fNextFile = FindNextFile( hFindOxt, &aFindFileData ); - - } while ( fNextFile ); - - FindClose( hFindOxt ); - } - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/dotnetcheck.cxx b/setup_native/source/win32/customactions/shellextensions/dotnetcheck.cxx deleted file mode 100644 index 2cea3de24..000000000 --- a/setup_native/source/win32/customactions/shellextensions/dotnetcheck.cxx +++ /dev/null @@ -1,184 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#undef UNICODE -#undef _UNICODE - -#define _WIN32_WINDOWS 0x0410 - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <assert.h> - -#include <tchar.h> -#include <string> -#include <systools/win32/uwinapi.h> - -#include <../tools/seterror.hxx> - -using namespace std; - -namespace -{ - string GetMsiProperty(MSIHANDLE handle, const string& sProperty) - { - string result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if (MsiGetProperty(handle, sProperty.c_str(), szDummy, &nChars) == ERROR_MORE_DATA) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - return result; - } - - inline void SetMsiProperty(MSIHANDLE handle, const string& sProperty, const string& sValue) - { - MsiSetProperty(handle, sProperty.c_str(), sValue.c_str()); - } - - void stripFinalBackslash(std::string * path) { - std::string::size_type i = path->size(); - if (i > 1) { - --i; - if ((*path)[i] == '\\') { - path->erase(i); - } - } - } - -// Copied more or less verbatim from -// desktop/source/deployment/inc/dp_version.hxx:1.5 and -// desktop/source/deployment/misc/dp_version.cxx:1.5: - -enum Order { ORDER_LESS, ORDER_EQUAL, ORDER_GREATER }; - -string getElement(string const & version, string::size_type * index) { - while (*index < version.size() && version[*index] == '0') { - ++*index; - } - string::size_type i = *index; - *index = version.find('.', i); - if (*index == string::npos) { - *index = version.size(); - return string(version, i); - } else { - ++*index; - return string(version, i, *index - 1 - i); - } -} - -Order compareVersions(string const & version1, string const & version2) { - for (string::size_type i1 = 0, i2 = 0; - i1 < version1.size() || i2 < version2.size();) - { - string e1(getElement(version1, &i1)); - string e2(getElement(version2, &i2)); - - // string myText1 = TEXT("e1: ") + e1; - // string myText2 = TEXT("e2: ") + e2; - // MessageBox(NULL, myText1.c_str(), "DEBUG", MB_OK); - // MessageBox(NULL, myText2.c_str(), "DEBUG", MB_OK); - - if (e1.size() < e2.size()) { - return ORDER_LESS; - } else if (e1.size() > e2.size()) { - return ORDER_GREATER; - } else if (e1 < e2) { - return ORDER_LESS; - } else if (e1 > e2) { - return ORDER_GREATER; - } - } - return ORDER_EQUAL; -} - -} // namespace - -extern "C" UINT __stdcall DotNetCheck(MSIHANDLE handle) { - string present(GetMsiProperty(handle, TEXT("MsiNetAssemblySupport"))); - string required(GetMsiProperty(handle, TEXT("REQUIRED_DOTNET_VERSION"))); - - // string myText1 = TEXT("MsiNetAssemblySupport: ") + present; - // string myText2 = TEXT("REQUIRED_DOTNET_VERSION: ") + required; - // MessageBox(NULL, myText1.c_str(), "DEBUG", MB_OK); - // MessageBox(NULL, myText2.c_str(), "DEBUG", MB_OK); - - SetMsiProperty( - handle, TEXT("DOTNET_SUFFICIENT"), - (present.empty() || compareVersions(present, required) == ORDER_LESS ? - TEXT("0") : TEXT("1"))); - - // string result(GetMsiProperty(handle, TEXT("DOTNET_SUFFICIENT"))); - // string myText3 = TEXT("DOTNET_SUFFICIENT: ") + result; - // MessageBox(NULL, myText3.c_str(), "DEBUG", MB_OK); - - - return ERROR_SUCCESS; -} - -extern "C" UINT __stdcall ShowProperties(MSIHANDLE handle) -{ - string property = GetMsiProperty(handle, TEXT("INSTALLLOCATION")); - string myText = TEXT("INSTALLLOCATION: ") + property; - MessageBox(NULL, myText.c_str(), "INSTALLLOCATION", MB_OK); - - property = GetMsiProperty(handle, TEXT("Installed")); - myText = TEXT("Installed: ") + property; - MessageBox(NULL, myText.c_str(), "Installed", MB_OK); - - property = GetMsiProperty(handle, TEXT("PATCH")); - myText = TEXT("PATCH: ") + property; - MessageBox(NULL, myText.c_str(), "PATCH", MB_OK); - - property = GetMsiProperty(handle, TEXT("REMOVE")); - myText = TEXT("REMOVE: ") + property; - MessageBox(NULL, myText.c_str(), "REMOVE", MB_OK); - - property = GetMsiProperty(handle, TEXT("ALLUSERS")); - myText = TEXT("ALLUSERS: ") + property; - MessageBox(NULL, myText.c_str(), "ALLUSERS", MB_OK); - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/exports.dxp b/setup_native/source/win32/customactions/shellextensions/exports.dxp deleted file mode 100644 index 5826d3392..000000000 --- a/setup_native/source/win32/customactions/shellextensions/exports.dxp +++ /dev/null @@ -1,23 +0,0 @@ -InstallExecSequenceEntry -DeinstallExecSequenceEntry -InstallStartmenuFolderIcon -DeinstallStartmenuFolderIcon -SetProductInstallMode -RebuildShellIconCache -ExecutePostUninstallScript -CompleteInstallPath -MigrateInstallPath -RegisterExtensions -RemoveExtensions -CheckInstallDirectory -SetAdminInstallProperty -CreateLayerLinks -RemoveLayerLinks -DotNetCheck -ShowProperties -copyEditionData -RenamePrgFolder -RemovePrgFolder -IsOfficeRunning -CheckPatchList -copyExtensionData diff --git a/setup_native/source/win32/customactions/shellextensions/iconcache.cxx b/setup_native/source/win32/customactions/shellextensions/iconcache.cxx deleted file mode 100644 index 9ed419b33..000000000 --- a/setup_native/source/win32/customactions/shellextensions/iconcache.cxx +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <stdlib.h> - -extern "C" UINT __stdcall RebuildShellIconCache(MSIHANDLE) -{ - // Rebuild icon cache on windows OS prior XP - - OSVERSIONINFO osverinfo; - - osverinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - - if ( - GetVersionEx( &osverinfo ) && - VER_PLATFORM_WIN32_NT == osverinfo.dwPlatformId && - ( - 5 < osverinfo.dwMajorVersion || - 5 == osverinfo.dwMajorVersion && 0 < osverinfo.dwMinorVersion - ) - ) - { - return ERROR_SUCCESS; - } - - HKEY hKey; - DWORD dwDispostion; - LONG lError = RegCreateKeyEx( HKEY_CURRENT_USER, TEXT("Control Panel\\Desktop\\WindowMetrics"), 0, NULL, REG_OPTION_VOLATILE, KEY_SET_VALUE | KEY_QUERY_VALUE, NULL, &hKey, &dwDispostion ); - - if ( ERROR_SUCCESS == lError ) - { - TCHAR szValue[256]; - TCHAR szTempValue[256]; - DWORD cbValue = sizeof(szValue); - DWORD dwType; - int iSize = 0; - - lError = RegQueryValueEx( hKey, TEXT("Shell Icon Size"), 0, &dwType, (LPBYTE)szValue, &cbValue ); - - if ( ERROR_SUCCESS == lError ) - iSize = atoi( szValue ); - - if ( !iSize ) - { - iSize = GetSystemMetrics( SM_CXICON ); - itoa( iSize, szValue, 10 ); - cbValue = strlen( szValue ) + 1; - dwType = REG_SZ; - } - - itoa( iSize + 1, szTempValue, 10 ); - lError = RegSetValueEx( hKey, TEXT("Shell Icon Size"), 0, dwType, (LPBYTE)szTempValue, strlen( szTempValue ) + 1 ); - - LRESULT lResult = SendMessageTimeout( - HWND_BROADCAST, - WM_SETTINGCHANGE, - SPI_SETNONCLIENTMETRICS, - (LPARAM)TEXT("WindowMetrics"), - SMTO_NORMAL|SMTO_ABORTIFHUNG, - 0, NULL); - - lError = RegSetValueEx( hKey, TEXT("Shell Icon Size"), 0, dwType, (LPBYTE)szValue, cbValue ); - - lResult = SendMessageTimeout( - HWND_BROADCAST, - WM_SETTINGCHANGE, - SPI_SETNONCLIENTMETRICS, - (LPARAM)TEXT("WindowMetrics"), - SMTO_NORMAL|SMTO_ABORTIFHUNG, - 0, NULL); - - lError = RegCloseKey( hKey ); - } - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/layerlinks.cxx b/setup_native/source/win32/customactions/shellextensions/layerlinks.cxx deleted file mode 100644 index 910e309e3..000000000 --- a/setup_native/source/win32/customactions/shellextensions/layerlinks.cxx +++ /dev/null @@ -1,236 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#undef UNICODE -#undef _UNICODE - -#define _WIN32_WINDOWS 0x0410 - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <assert.h> - -#include <tchar.h> -#include <string> -#include <systools/win32/uwinapi.h> - -#include <../tools/seterror.hxx> - -using namespace std; - -namespace -{ - string GetMsiProperty(MSIHANDLE handle, const string& sProperty) - { - string result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if (MsiGetProperty(handle, sProperty.c_str(), szDummy, &nChars) == ERROR_MORE_DATA) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - return result; - } - - inline bool IsSetMsiProperty(MSIHANDLE handle, const string& sProperty) - { - return (GetMsiProperty(handle, sProperty).length() > 0); - } - - inline void UnsetMsiProperty(MSIHANDLE handle, const string& sProperty) - { - MsiSetProperty(handle, sProperty.c_str(), NULL); - } - - inline void SetMsiProperty(MSIHANDLE handle, const string& sProperty, const string&) - { - MsiSetProperty(handle, sProperty.c_str(), TEXT("1")); - } - - void stripFinalBackslash(std::string * path) { - std::string::size_type i = path->size(); - if (i > 1) { - --i; - if ((*path)[i] == '\\') { - path->erase(i); - } - } - } -} // namespace - -extern "C" UINT __stdcall CreateLayerLinks(MSIHANDLE handle) -{ - string sInstallPath = GetMsiProperty(handle, TEXT("INSTALLLOCATION")); - - string sOfficeInstallPath = sInstallPath; - string sBasisInstallPath = sInstallPath + TEXT("Basis\\"); - string sUreInstallPath = sInstallPath + TEXT("URE\\"); - - string sBasisLinkPath = sInstallPath + TEXT("basis-link"); - string sUreLinkPath = sInstallPath + TEXT("Basis\\ure-link"); - - if ( IsSetMsiProperty(handle, TEXT("ADMININSTALL")) ) - { - sBasisInstallPath = TEXT("Basis"); - sUreInstallPath = TEXT("..\\URE"); - } - - stripFinalBackslash(&sBasisInstallPath); - stripFinalBackslash(&sUreInstallPath); - - // creating basis-link in brand layer - - HANDLE h1file = CreateFile( - sBasisLinkPath.c_str(), - GENERIC_WRITE, - 0, - NULL, - CREATE_NEW, - FILE_ATTRIBUTE_NORMAL, - NULL); - - if (IsValidHandle(h1file)) - { - DWORD dummy; - - // Converting string into UTF-8 encoding and writing into file "basis-link" - - int nCharsRequired = MultiByteToWideChar( CP_ACP, 0, sBasisInstallPath.c_str(), -1, NULL, 0 ); - if ( nCharsRequired ) - { - LPWSTR lpPathW = new WCHAR[nCharsRequired]; - if ( MultiByteToWideChar( CP_ACP, 0, sBasisInstallPath.c_str(), -1, lpPathW, nCharsRequired ) ) - { - nCharsRequired = WideCharToMultiByte( CP_UTF8, 0, lpPathW, -1, NULL, 0, NULL, NULL ); - if ( nCharsRequired ) - { - LPSTR lpPathUTF8 = new CHAR[nCharsRequired]; - WideCharToMultiByte( CP_UTF8, 0, lpPathW, -1, lpPathUTF8, nCharsRequired, NULL, NULL ); - - WriteFile( h1file, lpPathUTF8, strlen(lpPathUTF8) ,&dummy, 0 ); - - delete lpPathUTF8; - } - } - - delete lpPathW; - } - - CloseHandle(h1file); - } - - // creating ure-link in basis layer - - HANDLE h2file = CreateFile( - sUreLinkPath.c_str(), - GENERIC_WRITE, - 0, - NULL, - CREATE_NEW, - FILE_ATTRIBUTE_NORMAL, - NULL); - - if (IsValidHandle(h2file)) - { - DWORD dummy; - - // Converting string into UTF-8 encoding and writing into file "basis-link" - - int nCharsRequired = MultiByteToWideChar( CP_ACP, 0, sUreInstallPath.c_str(), -1, NULL, 0 ); - if ( nCharsRequired ) - { - LPWSTR lpPathW = new WCHAR[nCharsRequired]; - if ( MultiByteToWideChar( CP_ACP, 0, sUreInstallPath.c_str(), -1, lpPathW, nCharsRequired ) ) - { - nCharsRequired = WideCharToMultiByte( CP_UTF8, 0, lpPathW, -1, NULL, 0, NULL, NULL ); - if ( nCharsRequired ) - { - LPSTR lpPathUTF8 = new CHAR[nCharsRequired]; - WideCharToMultiByte( CP_UTF8, 0, lpPathW, -1, lpPathUTF8, nCharsRequired, NULL, NULL ); - - WriteFile( h2file, lpPathUTF8, strlen(lpPathUTF8) ,&dummy, 0 ); - - delete lpPathUTF8; - } - } - - delete lpPathW; - } - - CloseHandle(h2file); - } - - return ERROR_SUCCESS; -} - -extern "C" UINT __stdcall RemoveLayerLinks(MSIHANDLE handle) -{ - string sInstallPath = GetMsiProperty(handle, TEXT("INSTALLLOCATION")); - - string sOfficeInstallPath = sInstallPath; - string sBasisInstallPath = sInstallPath + TEXT("Basis\\"); - string sUreInstallPath = sInstallPath + TEXT("URE\\"); - - string sBasisLinkPath = sOfficeInstallPath + TEXT("basis-link"); - string sUreLinkPath = sBasisInstallPath + TEXT("ure-link"); - string sUreDirName = sUreInstallPath + TEXT("bin"); - - // Deleting link to basis layer - DeleteFile(sBasisLinkPath.c_str()); - - // Check, if URE is still installed - bool ureDirExists = true; - WIN32_FIND_DATA aFindData; - HANDLE hFindContent = FindFirstFile( sUreDirName.c_str(), &aFindData ); - if ( hFindContent == INVALID_HANDLE_VALUE ) { ureDirExists = false; } - FindClose( hFindContent ); - - // Deleting link to URE layer, if URE dir no longer exists - if ( ! ureDirExists ) - { - DeleteFile(sUreLinkPath.c_str()); - } - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/makefile.mk b/setup_native/source/win32/customactions/shellextensions/makefile.mk deleted file mode 100644 index e0950d992..000000000 --- a/setup_native/source/win32/customactions/shellextensions/makefile.mk +++ /dev/null @@ -1,98 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=shlxtmsi - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=TRUE -NO_DEFAULT_STL=TRUE -DYNAMIC_CRT= -USE_DEFFILE=TRUE - -.INCLUDE : settings.mk - -#Disable precompiled header -CDEFS+=-Dnot_used_define_to_disable_pch - -# --- Files -------------------------------------------------------- - -.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!="" - -UWINAPILIB= - -SLOFILES = \ - $(SLO)$/shellextensions.obj \ - $(SLO)$/startmenuicon.obj \ - $(SLO)$/upgrade.obj \ - $(SLO)$/iconcache.obj \ - $(SLO)$/postuninstall.obj \ - $(SLO)$/migrateinstallpath.obj \ - $(SLO)$/completeinstallpath.obj \ - $(SLO)$/checkdirectory.obj \ - $(SLO)$/setadmininstall.obj \ - $(SLO)$/layerlinks.obj \ - $(SLO)$/dotnetcheck.obj \ - $(SLO)$/registerextensions.obj \ - $(SLO)$/copyeditiondata.obj \ - $(SLO)$/vistaspecial.obj \ - $(SLO)$/checkrunningoffice.obj \ - $(SLO)$/checkpatches.obj \ - $(SLO)$/copyextensiondata.obj - -STDSHL += \ - $(ADVAPI32LIB)\ - $(MSILIB)\ - $(SHELL32LIB) - -.IF "$(COM)"=="GCC" -STDSHL+= \ - $(KERNEL32LIB)\ - -lmsvcrt -.ENDIF - -SHL1OBJS = $(SLOFILES) \ - $(SLO)$/seterror.obj - -SHL1TARGET = $(TARGET) -SHL1IMPLIB = i$(TARGET) - -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1DEPN = $(SLB)$/$(TARGET).lib -SHL1BASE = 0x1c000000 -DEF1NAME=$(SHL1TARGET) -DEF1EXPORTFILE=exports.dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk - -# ------------------------------------------------------------------------- diff --git a/setup_native/source/win32/customactions/shellextensions/migrateinstallpath.cxx b/setup_native/source/win32/customactions/shellextensions/migrateinstallpath.cxx deleted file mode 100644 index 7ebad71d9..000000000 --- a/setup_native/source/win32/customactions/shellextensions/migrateinstallpath.cxx +++ /dev/null @@ -1,120 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define _WIN32_WINDOWS 0x0410 -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> - -#ifdef UNICODE -#define _UNICODE -#define _tstring wstring -#else -#define _tstring string -#endif -#include <tchar.h> -#include <string> - -using namespace std; - -namespace -{ - std::_tstring GetMsiProperty( MSIHANDLE handle, const std::_tstring& sProperty ) - { - std::_tstring result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if ( MsiGetProperty( handle, sProperty.c_str(), szDummy, &nChars ) == ERROR_MORE_DATA ) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - - return result; - } -} // namespace - -extern "C" UINT __stdcall MigrateInstallPath( MSIHANDLE handle ) -{ - TCHAR szValue[8192]; - DWORD nValueSize = sizeof(szValue); - HKEY hKey; - std::_tstring sInstDir; - - std::_tstring sManufacturer = GetMsiProperty( handle, TEXT("Manufacturer") ); - std::_tstring sDefinedName = GetMsiProperty( handle, TEXT("DEFINEDPRODUCT") ); - std::_tstring sUpdateVersion = GetMsiProperty( handle, TEXT("DEFINEDVERSION") ); - std::_tstring sUpgradeCode = GetMsiProperty( handle, TEXT("UpgradeCode") ); - - std::_tstring sProductKey = "Software\\" + sManufacturer + "\\" + sDefinedName + - "\\" + sUpdateVersion + "\\" + sUpgradeCode; - - std::_tstring mystr; - mystr = "ProductKey: " + sProductKey; - // MessageBox( NULL, mystr.c_str(), "ProductKey", MB_OK ); - - if ( ERROR_SUCCESS == RegOpenKey( HKEY_CURRENT_USER, sProductKey.c_str(), &hKey ) ) - { - if ( ERROR_SUCCESS == RegQueryValueEx( hKey, TEXT("INSTALLLOCATION"), NULL, NULL, (LPBYTE)szValue, &nValueSize ) ) - { - sInstDir = szValue; - MsiSetProperty(handle, TEXT("INSTALLLOCATION"), sInstDir.c_str()); - // MessageBox( NULL, sInstDir.c_str(), "Found in HKEY_CURRENT_USER", MB_OK ); - } - - RegCloseKey( hKey ); - } - else if ( ERROR_SUCCESS == RegOpenKey( HKEY_LOCAL_MACHINE, sProductKey.c_str(), &hKey ) ) - { - if ( ERROR_SUCCESS == RegQueryValueEx( hKey, TEXT("INSTALLLOCATION"), NULL, NULL, (LPBYTE)szValue, &nValueSize ) ) - { - sInstDir = szValue; - MsiSetProperty(handle, TEXT("INSTALLLOCATION"), sInstDir.c_str()); - // MessageBox( NULL, sInstDir.c_str(), "Found in HKEY_LOCAL_MACHINE", MB_OK ); - } - - RegCloseKey( hKey ); - } - - return ERROR_SUCCESS; - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/postuninstall.cxx b/setup_native/source/win32/customactions/shellextensions/postuninstall.cxx deleted file mode 100644 index 4a272a564..000000000 --- a/setup_native/source/win32/customactions/shellextensions/postuninstall.cxx +++ /dev/null @@ -1,157 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define _WIN32_WINDOWS 0x0410 -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> - -#ifdef UNICODE -#define _UNICODE -#define _tstring wstring -#else -#define _tstring string -#endif -#include <tchar.h> -#include <string> - -#include <io.h> - -static std::_tstring GetMsiProperty( MSIHANDLE handle, const std::_tstring& sProperty ) -{ - std::_tstring result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if ( MsiGetProperty( handle, sProperty.c_str(), szDummy, &nChars ) == ERROR_MORE_DATA ) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - - return result; -} - - -static BOOL ExecuteCommand( LPCTSTR lpCommand, BOOL bSync ) -{ - BOOL fSuccess = FALSE; - STARTUPINFO si; - PROCESS_INFORMATION pi; - - ZeroMemory( &si, sizeof(si) ); - si.cb = sizeof(si); - - fSuccess = CreateProcess( - NULL, - (LPTSTR)lpCommand, - NULL, - NULL, - FALSE, - 0, - NULL, - NULL, - &si, - &pi - ); - - if ( fSuccess ) - { - if ( bSync ) - WaitForSingleObject( pi.hProcess, INFINITE ); - - CloseHandle( pi.hProcess ); - CloseHandle( pi.hThread ); - } - - return fSuccess; -} - -extern "C" UINT __stdcall ExecutePostUninstallScript( MSIHANDLE handle ) -{ - TCHAR szValue[8192]; - DWORD nValueSize = sizeof(szValue); - HKEY hKey; - std::_tstring sInstDir; - - std::_tstring sProductKey = GetMsiProperty( handle, TEXT("FINDPRODUCT") ); - - // MessageBox( NULL, sProductKey.c_str(), "Titel", MB_OK ); - - if ( ERROR_SUCCESS == RegOpenKey( HKEY_CURRENT_USER, sProductKey.c_str(), &hKey ) ) - { - if ( ERROR_SUCCESS == RegQueryValueEx( hKey, TEXT("INSTALLLOCATION"), NULL, NULL, (LPBYTE)szValue, &nValueSize ) ) - { - sInstDir = szValue; - } - RegCloseKey( hKey ); - } - else if ( ERROR_SUCCESS == RegOpenKey( HKEY_LOCAL_MACHINE, sProductKey.c_str(), &hKey ) ) - { - if ( ERROR_SUCCESS == RegQueryValueEx( hKey, TEXT("INSTALLLOCATION"), NULL, NULL, (LPBYTE)szValue, &nValueSize ) ) - { - sInstDir = szValue; - } - RegCloseKey( hKey ); - } - else - return ERROR_SUCCESS; - - std::_tstring sInfFile = sInstDir + TEXT("program\\postuninstall.inf"); - std::_tstring sCommand = _T("RUNDLL32.EXE "); - - // MessageBox( NULL, sInfFile.c_str(), "Titel", MB_OK ); - - if ( (LONG)GetVersion() < 0 ) - sCommand += _T("setupx.dll"); - else - sCommand += _T("setupapi.dll"); - - sCommand += _T(",InstallHinfSection PostUninstall 132 "); - sCommand += sInfFile; - - if ( 0 == _taccess( sInfFile.c_str(), 2 ) ) - ExecuteCommand( sCommand.c_str(), TRUE ); - - DeleteFile( sInfFile.c_str() ); - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/registerextensions.cxx b/setup_native/source/win32/customactions/shellextensions/registerextensions.cxx deleted file mode 100644 index e903a0445..000000000 --- a/setup_native/source/win32/customactions/shellextensions/registerextensions.cxx +++ /dev/null @@ -1,284 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#undef UNICODE -#undef _UNICODE - -#define _WIN32_WINDOWS 0x0410 - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#define WIN32_LEAN_AND_MEAN -#endif -#include <windows.h> -#include <msiquery.h> -#include <shellapi.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <assert.h> -#include <string.h> - -#ifdef UNICODE -#define _UNICODE -#define _tstring wstring -#else -#define _tstring string -#endif -#include <tchar.h> -#include <string> - -static std::_tstring GetMsiProperty( MSIHANDLE handle, const std::_tstring& sProperty ) -{ - std::_tstring result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if ( MsiGetProperty( handle, sProperty.c_str(), szDummy, &nChars ) == ERROR_MORE_DATA ) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - - return result; -} - -/* creates a child process which is specified in lpCommand. - - out_exitCode is the exit code of the child process -**/ -static BOOL ExecuteCommand( LPCTSTR lpCommand, DWORD * out_exitCode) -{ - BOOL fSuccess = FALSE; - STARTUPINFO si; - PROCESS_INFORMATION pi; - - ZeroMemory( &si, sizeof(si) ); - si.cb = sizeof(si); - - fSuccess = CreateProcess( - NULL, - (LPTSTR)lpCommand, - NULL, - NULL, - FALSE, - 0, - NULL, - NULL, - &si, - &pi - ); - - if ( fSuccess ) - { - WaitForSingleObject( pi.hProcess, INFINITE ); - - if (!GetExitCodeProcess( pi.hProcess, out_exitCode)) - fSuccess = FALSE; - - CloseHandle( pi.hProcess ); - CloseHandle( pi.hThread ); - } - - return fSuccess; -} - -static BOOL RemoveCompleteDirectory( std::_tstring sPath ) -{ - bool bDirectoryRemoved = true; - - std::_tstring mystr; - std::_tstring sPattern = sPath + TEXT("\\") + TEXT("*.*"); - WIN32_FIND_DATA aFindData; - - // Finding all content in sPath - - HANDLE hFindContent = FindFirstFile( sPattern.c_str(), &aFindData ); - - if ( hFindContent != INVALID_HANDLE_VALUE ) - { - bool fNextFile = false; - - do - { - std::_tstring sFileName = aFindData.cFileName; - std::_tstring sCurrentDir = TEXT("."); - std::_tstring sParentDir = TEXT(".."); - - mystr = "Current short file: " + sFileName; - - if (( strcmp(sFileName.c_str(),sCurrentDir.c_str()) != 0 ) && - ( strcmp(sFileName.c_str(),sParentDir.c_str()) != 0 )) - { - std::_tstring sCompleteFileName = sPath + TEXT("\\") + sFileName; - - if ( aFindData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY ) - { - bool fSuccess = RemoveCompleteDirectory(sCompleteFileName); - if ( fSuccess ) - { - mystr = "Successfully removed content of dir " + sCompleteFileName; - } - else - { - mystr = "An error occurred during removing content of " + sCompleteFileName; - } - } - else - { - bool fSuccess = DeleteFile( sCompleteFileName.c_str() ); - if ( fSuccess ) - { - mystr = "Successfully removed file " + sCompleteFileName; - } - else - { - mystr = "An error occurred during removal of file " + sCompleteFileName; - } - } - } - - fNextFile = FindNextFile( hFindContent, &aFindData ); - - } while ( fNextFile ); - - FindClose( hFindContent ); - - // empty directory can be removed now - // RemoveDirectory is only successful, if the last handle to the directory is closed - // -> first removing content -> closing handle -> remove empty directory - - bool fRemoveDirSuccess = RemoveDirectory(sPath.c_str()); - - if ( fRemoveDirSuccess ) - { - mystr = "Successfully removed dir " + sPath; - // MessageBox(NULL, mystr.c_str(), "Removed Directory", MB_OK); - } - else - { - mystr = "An error occurred during removal of empty directory " + sPath; - // MessageBox(NULL, mystr.c_str(), "Error removing directory", MB_OK); - bDirectoryRemoved = false; - } - } - - return bDirectoryRemoved; -} - -extern "C" UINT __stdcall RegisterExtensions(MSIHANDLE handle) -{ - // std::_tstring sInstDir = GetMsiProperty( handle, TEXT("INSTALLLOCATION") ); - std::_tstring sInstDir = GetMsiProperty( handle, TEXT("CustomActionData") ); - std::_tstring sUnoPkgFile = sInstDir + TEXT("program\\unopkg.exe"); - std::_tstring mystr; - - WIN32_FIND_DATA aFindFileData; - bool registrationError = false; - - // Find unopkg.exe - HANDLE hFindUnopkg = FindFirstFile( sUnoPkgFile.c_str(), &aFindFileData ); - - if ( hFindUnopkg != INVALID_HANDLE_VALUE ) - { - // unopkg.exe exists in program directory - std::_tstring sCommand = sUnoPkgFile + " sync"; - - DWORD exitCode = 0; - bool fSuccess = ExecuteCommand( sCommand.c_str(), & exitCode); - if ( ! fSuccess ) - { - mystr = "ERROR: An error occured during registration of extensions!"; - MessageBox(NULL, mystr.c_str(), "ERROR", MB_OK); - registrationError = true; - } - - FindClose( hFindUnopkg ); - } - - if ( registrationError ) - { - return 1; - } - else - { - return ERROR_SUCCESS; - } -} - - -extern "C" UINT __stdcall RemoveExtensions(MSIHANDLE handle) -{ - std::_tstring mystr; - - // Finding the product with the help of the propery FINDPRODUCT, - // that contains a Windows Registry key, that points to the install location. - - TCHAR szValue[8192]; - DWORD nValueSize = sizeof(szValue); - HKEY hKey; - std::_tstring sInstDir; - - std::_tstring sProductKey = GetMsiProperty( handle, TEXT("FINDPRODUCT") ); - - if ( ERROR_SUCCESS == RegOpenKey( HKEY_CURRENT_USER, sProductKey.c_str(), &hKey ) ) - { - if ( ERROR_SUCCESS == RegQueryValueEx( hKey, TEXT("INSTALLLOCATION"), NULL, NULL, (LPBYTE)szValue, &nValueSize ) ) - { - sInstDir = szValue; - } - RegCloseKey( hKey ); - } - else if ( ERROR_SUCCESS == RegOpenKey( HKEY_LOCAL_MACHINE, sProductKey.c_str(), &hKey ) ) - { - if ( ERROR_SUCCESS == RegQueryValueEx( hKey, TEXT("INSTALLLOCATION"), NULL, NULL, (LPBYTE)szValue, &nValueSize ) ) - { - sInstDir = szValue; - } - RegCloseKey( hKey ); - } - else - { - return ERROR_SUCCESS; - } - - // Removing complete directory "Basis\presets\bundled" - - std::_tstring sCacheDir = sInstDir + TEXT("share\\prereg\\bundled"); - - RemoveCompleteDirectory( sCacheDir ); - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/setadmininstall.cxx b/setup_native/source/win32/customactions/shellextensions/setadmininstall.cxx deleted file mode 100644 index 616eeff7b..000000000 --- a/setup_native/source/win32/customactions/shellextensions/setadmininstall.cxx +++ /dev/null @@ -1,69 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define _WIN32_WINNT 0x0401 - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <assert.h> - -#ifdef UNICODE -#define _UNICODE -#define _tstring wstring -#else -#define _tstring string -#endif -#include <tchar.h> -#include <string> -#include <queue> -#include <stdio.h> - -#include <systools/win32/uwinapi.h> -#include <../tools/seterror.hxx> - -static void SetMsiProperty(MSIHANDLE handle, const std::_tstring& sProperty) -{ - MsiSetProperty(handle, sProperty.c_str(), TEXT("1")); -} - -extern "C" UINT __stdcall SetAdminInstallProperty(MSIHANDLE handle) -{ - SetMsiProperty(handle, TEXT("ADMININSTALL")); - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/shellextensions.cxx b/setup_native/source/win32/customactions/shellextensions/shellextensions.cxx deleted file mode 100644 index eb817e9f9..000000000 --- a/setup_native/source/win32/customactions/shellextensions/shellextensions.cxx +++ /dev/null @@ -1,216 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -/* - Windows shell extensions need to be approved in order to be used by the - Windows shell for clarification read the following section from the - Microsoft Developers Network Library (MSDN) see - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_int/shell_int_extending/extensionhandlers/shell_ext.asp - - - <MSDN> - Shell extension handlers run in the Shell process. Because it is a system process, - the administrator of a Windows NT system can limit Shell extension handlers to - those on an approved list by setting the EnforceShellExtensionSecurity value of the - HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer key to 1 - (one). - To place a Shell extension handler on the approved list, create a REG_SZ value whose - name is the string form of the handler's GUID under - HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved. - - The Shell does not use the value that is assigned to the GUID, but it should be set to - make inspecting the registry easier. - - Your setup application can add values to the Approved key only if the person installing - the application has sufficient privileges. If the attempt to add an extension handler - fails, you should inform the user that administrative privileges are required to fully - install the application. If the handler is essential to the application, you should fail - the setup and notify the user to contact an administrator. - - While there is no need to add values to the Approved key on Windows 95 or Windows 98 - systems, there is no harm in doing so. The system will simply ignore them. However, there - is no guarantee that the key will exist on these systems. Your setup program must be able - to handle this case. - </MSDN> - - We add the following entries to the respective registry key - "{C52AF81D-F7A0-4AAB-8E87-F80A60CCD396}"="OpenOffice.org Column Handler" - "{087B3AE3-E237-4467-B8DB-5A38AB959AC9}"="OpenOffice.org Infotip Handler" - "{63542C48-9552-494A-84F7-73AA6A7C99C1}"="OpenOffice.org Property Sheet Handler" - "{3B092F0C-7696-40E3-A80F-68D74DA84210}"="OpenOffice.org Thumbnail Viewer" - - These shell extensions are implemented in the 'shell' project. We ignore registration - failures because of insufficient privileges. The reason is: On systems which restrict the - use of shell extensions by applying the aforementioned policy probably only people with - sufficient privileges are allowed to install applications anyway. On systems where the - use of shell extensions is not restricted registration failures because of insufficient - prviliges have no negative effect because the shell extensions will work anyhow. -*/ - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> - -#ifdef UNICODE -#define _UNICODE -#endif -#include <tchar.h> - -struct RegistryEntry -{ - TCHAR* Key; - TCHAR* Value; -}; - -RegistryEntry ColumnHandler = { TEXT("{C52AF81D-F7A0-4AAB-8E87-F80A60CCD396}"), TEXT("OpenOffice.org Column Handler") }; -RegistryEntry InfotipHandler = { TEXT("{087B3AE3-E237-4467-B8DB-5A38AB959AC9}"), TEXT("OpenOffice.org Infotip Handler") }; -RegistryEntry PropHandler = { TEXT("{63542C48-9552-494A-84F7-73AA6A7C99C1}"), TEXT("OpenOffice.org Property Sheet Handler") }; -RegistryEntry ThumbViewer = { TEXT("{3B092F0C-7696-40E3-A80F-68D74DA84210}"), TEXT("OpenOffice.org Thumbnail Viewer") }; - -BOOL GetMsiProp( MSIHANDLE hMSI, const char* pPropName, char** ppValue ) -{ - DWORD sz = 0; - if ( MsiGetProperty( hMSI, pPropName, 0, &sz ) == ERROR_MORE_DATA ) - { - sz++; - DWORD nbytes = sz * sizeof( char ); - char* buff = reinterpret_cast<char*>( malloc( nbytes ) ); - ZeroMemory( buff, nbytes ); - MsiGetProperty( hMSI, pPropName, buff, &sz ); - *ppValue = buff; - - return TRUE; - } - - return FALSE; -} - -bool IsVersionNT64( MSIHANDLE hMSI ) -{ - char* pVal = NULL; - - if ( GetMsiProp( hMSI, "VersionNT64", &pVal ) && pVal ) - { - free( pVal ); - return true; - } - - return false; -} - - - - -/* - Called during installation when the module "Windows Explorer Extensions" is - selected. -*/ -extern "C" UINT __stdcall InstallExecSequenceEntry(MSIHANDLE hMSI) -{ - //MessageBox(NULL, TEXT("InstallExecSequenceEntry"), TEXT("Pythonmsi"), MB_OK | MB_ICONINFORMATION); - HKEY hKey; - - -// to provide windows xp as build systems for mingw we need to define KEY_WOW64_64KEY -// in mingw 3.13 KEY_WOW64_64KEY isn't available < Win2003 systems. -// Also defined in setup_native\source\win32\customactions\reg64\reg64.cxx,source\win32\customactions\shellextensions\shellextensions.cxx and -// extensions\source\activex\main\so_activex.cpp -#ifndef KEY_WOW64_64KEY - #define KEY_WOW64_64KEY (0x0100) -#endif - - if (IsVersionNT64(hMSI)) - { - // Open Windows 64 Bit Registry - if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved"),0, KEY_WRITE | KEY_WOW64_64KEY, &hKey) == ERROR_SUCCESS) - { - RegSetValueEx(hKey, ColumnHandler.Key, 0, REG_SZ, reinterpret_cast<const BYTE*>(ColumnHandler.Value), _tcslen(ColumnHandler.Value) + 1); - RegSetValueEx(hKey, InfotipHandler.Key, 0, REG_SZ, reinterpret_cast<const BYTE*>(InfotipHandler.Value), _tcslen(InfotipHandler.Value) + 1); - RegSetValueEx(hKey, PropHandler.Key, 0, REG_SZ, reinterpret_cast<const BYTE*>(PropHandler.Value), _tcslen(PropHandler.Value) + 1); - RegSetValueEx(hKey, ThumbViewer.Key, 0, REG_SZ, reinterpret_cast<const BYTE*>(ThumbViewer.Value), _tcslen(ThumbViewer.Value) + 1); - - RegCloseKey(hKey); - } - - // Open Windows 32 Bit Registry on Win64 maschine - - if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved"),0, KEY_WRITE, &hKey ) == ERROR_SUCCESS) - { - RegSetValueEx(hKey, ColumnHandler.Key, 0, REG_SZ, reinterpret_cast<const BYTE*>(ColumnHandler.Value), _tcslen(ColumnHandler.Value) + 1); - RegSetValueEx(hKey, InfotipHandler.Key, 0, REG_SZ, reinterpret_cast<const BYTE*>(InfotipHandler.Value), _tcslen(InfotipHandler.Value) + 1); - RegSetValueEx(hKey, PropHandler.Key, 0, REG_SZ, reinterpret_cast<const BYTE*>(PropHandler.Value), _tcslen(PropHandler.Value) + 1); - RegSetValueEx(hKey, ThumbViewer.Key, 0, REG_SZ, reinterpret_cast<const BYTE*>(ThumbViewer.Value), _tcslen(ThumbViewer.Value) + 1); - - RegCloseKey(hKey); - } - - - } else - { - if (RegOpenKey(HKEY_LOCAL_MACHINE, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved"), &hKey) == ERROR_SUCCESS) - { - RegSetValueEx(hKey, ColumnHandler.Key, 0, REG_SZ, reinterpret_cast<const BYTE*>(ColumnHandler.Value), _tcslen(ColumnHandler.Value) + 1); - RegSetValueEx(hKey, InfotipHandler.Key, 0, REG_SZ, reinterpret_cast<const BYTE*>(InfotipHandler.Value), _tcslen(InfotipHandler.Value) + 1); - RegSetValueEx(hKey, PropHandler.Key, 0, REG_SZ, reinterpret_cast<const BYTE*>(PropHandler.Value), _tcslen(PropHandler.Value) + 1); - RegSetValueEx(hKey, ThumbViewer.Key, 0, REG_SZ, reinterpret_cast<const BYTE*>(ThumbViewer.Value), _tcslen(ThumbViewer.Value) + 1); - - RegCloseKey(hKey); - } - } - return ERROR_SUCCESS; -} - -/* - Called during deinstallation when the module "Windows Explorer Extensions" has - been installed. -*/ -extern "C" UINT __stdcall DeinstallExecSequenceEntry(MSIHANDLE) -{ - //MessageBox(NULL, TEXT("DeinstallExecSequenceEntry"), TEXT("Pythonmsi"), MB_OK | MB_ICONINFORMATION); - HKEY hKey; - if (RegOpenKey(HKEY_LOCAL_MACHINE, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved"), &hKey) == ERROR_SUCCESS) - { - RegDeleteValue(hKey, ColumnHandler.Key); - RegDeleteValue(hKey, InfotipHandler.Key); - RegDeleteValue(hKey, PropHandler.Key); - RegDeleteValue(hKey, ThumbViewer.Key); - - RegCloseKey(hKey); - } - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/startmenuicon.cxx b/setup_native/source/win32/customactions/shellextensions/startmenuicon.cxx deleted file mode 100644 index 827494622..000000000 --- a/setup_native/source/win32/customactions/shellextensions/startmenuicon.cxx +++ /dev/null @@ -1,134 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define _WIN32_WINDOWS 0x0410 - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> - -#ifdef UNICODE -#define _UNICODE -#define _tstring wstring -#else -#define _tstring string -#endif -#include <tchar.h> -#include <string> - - -std::_tstring GetMsiProperty( MSIHANDLE handle, const std::_tstring& sProperty ) -{ - std::_tstring result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if ( MsiGetProperty( handle, sProperty.c_str(), szDummy, &nChars ) == ERROR_MORE_DATA ) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - - return result; -} - -/* - Called during installation to customize the start menu folder icon. - See: http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/shell_basics/shell_basics_extending/custom.asp -*/ -extern "C" UINT __stdcall InstallStartmenuFolderIcon( MSIHANDLE handle ) -{ - std::_tstring sOfficeMenuFolder = GetMsiProperty( handle, TEXT("OfficeMenuFolder") ); - std::_tstring sDesktopFile = sOfficeMenuFolder + TEXT("Desktop.ini"); - std::_tstring sIconFile = GetMsiProperty( handle, TEXT("INSTALLLOCATION") ) + TEXT("program\\soffice.exe"); - - OSVERSIONINFO osverinfo; - osverinfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx( &osverinfo ); - - if (osverinfo.dwMajorVersion < 6 /* && osverinfo.dwMinorVersion */ ) - { - // This icon (18) is a Windows folder until XP Version (number is 0 based) - WritePrivateProfileString( - TEXT(".ShellClassInfo"), - TEXT("IconFile"), - sIconFile.c_str(), - sDesktopFile.c_str() ); - - // FYI: in tool 'ResHack' this icon can be found on position '19' (number is 1 based) - WritePrivateProfileString( - TEXT(".ShellClassInfo"), - TEXT("IconIndex"), - TEXT("18"), - sDesktopFile.c_str() ); - } - // else - // { - // // at the moment there exists no Vista Icon, so we use the default folder icon. - // // add the icon into desktop/util/verinfo.rc - // } - - // The value '0' is to avoid a message like "You Are Deleting a System Folder" warning when deleting or moving the folder. - WritePrivateProfileString( - TEXT(".ShellClassInfo"), - TEXT("ConfirmFileOp"), - TEXT("0"), - sDesktopFile.c_str() ); - - SetFileAttributes( sDesktopFile.c_str(), FILE_ATTRIBUTE_HIDDEN ); - SetFileAttributes( sOfficeMenuFolder.c_str(), FILE_ATTRIBUTE_SYSTEM ); - - - return ERROR_SUCCESS; -} - -extern "C" UINT __stdcall DeinstallStartmenuFolderIcon(MSIHANDLE handle) -{ - std::_tstring sOfficeMenuFolder = GetMsiProperty( handle, TEXT("OfficeMenuFolder") ); - std::_tstring sDesktopFile = sOfficeMenuFolder + TEXT("Desktop.ini"); - - SetFileAttributes( sDesktopFile.c_str(), FILE_ATTRIBUTE_NORMAL ); - DeleteFile( sDesktopFile.c_str() ); - - SetFileAttributes( sOfficeMenuFolder.c_str(), FILE_ATTRIBUTE_NORMAL ); - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/upgrade.cxx b/setup_native/source/win32/customactions/shellextensions/upgrade.cxx deleted file mode 100644 index 2efd60ad8..000000000 --- a/setup_native/source/win32/customactions/shellextensions/upgrade.cxx +++ /dev/null @@ -1,207 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#undef UNICODE -#undef _UNICODE - -#define _WIN32_WINDOWS 0x0410 - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <assert.h> - -#include <tchar.h> -#include <string> - -using namespace std; - -namespace -{ - // The provided GUID must be without surounding '{}' - string GetGuidPart(const string& guid, int index) - { - assert((guid.length() == 36) && "No GUID or wrong format!"); - assert(((index > -1) && (index < 5)) && "Out of range!"); - - if (index == 0) return string(guid.c_str(), 8); - if (index == 1) return string(guid.c_str() + 9, 4); - if (index == 2) return string(guid.c_str() + 14, 4); - if (index == 3) return string(guid.c_str() + 19, 4); - if (index == 4) return string(guid.c_str() + 24, 12); - - return string(); - } - - void Swap(char* p1, char* p2) - { - char tmp = *p1; - *p1 = *p2; - *p2 = tmp; - } - - string Invert(const string& str) - { - char* buff = reinterpret_cast<char*>(_alloca(str.length())); - strncpy(buff, str.c_str(), str.length()); - - char* front = buff; - char* back = buff + str.length() - 1; - - while (front < back) - Swap(front++, back--); - - return string(buff, str.length()); - } - - // Convert the upgrade code (which is a GUID) according - // to the way the windows installer does when writing it - // to the registry - // The first 8 bytes will be inverted, from the the last - // 8 bytes always the nibbles will be inverted for further - // details look in the MSDN under compressed registry keys - string ConvertGuid(const string& guid) - { - string convertedGuid; - - string part = GetGuidPart(guid, 0); - convertedGuid = Invert(part); - - part = GetGuidPart(guid, 1); - convertedGuid += Invert(part); - - part = GetGuidPart(guid, 2); - convertedGuid += Invert(part); - - part = GetGuidPart(guid, 3); - convertedGuid += Invert(string(part.c_str(), 2)); - convertedGuid += Invert(string(part.c_str() + 2, 2)); - - part = GetGuidPart(guid, 4); - int pos = 0; - for (int i = 0; i < 6; i++) - { - convertedGuid += Invert(string(part.c_str() + pos, 2)); - pos += 2; - } - return convertedGuid; - } - - string GetMsiProperty(MSIHANDLE handle, const string& sProperty) - { - string result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if (MsiGetProperty(handle, sProperty.c_str(), szDummy, &nChars) == ERROR_MORE_DATA) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - return result; - } - - inline bool IsSetMsiProperty(MSIHANDLE handle, const string& sProperty) - { - return (GetMsiProperty(handle, sProperty).length() > 0); - } - - inline void UnsetMsiProperty(MSIHANDLE handle, const string& sProperty) - { - MsiSetProperty(handle, sProperty.c_str(), NULL); - } - - inline void SetMsiProperty(MSIHANDLE handle, const string& sProperty) - { - MsiSetProperty(handle, sProperty.c_str(), TEXT("1")); - } - - bool RegistryKeyHasUpgradeSubKey( - HKEY hRootKey, const string& regKey, const string& upgradeKey) - { - HKEY hKey; - if (RegOpenKey(hRootKey, regKey.c_str(), &hKey) == ERROR_SUCCESS) - { - DWORD nSubKeys; - DWORD lLongestSubKey; - - if (RegQueryInfoKey( - hKey, NULL, NULL, NULL, &nSubKeys, &lLongestSubKey, NULL, NULL, NULL, NULL, NULL, NULL) == ERROR_SUCCESS) - { - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(lLongestSubKey + 1)); - - for (DWORD i = 0; i < nSubKeys; i++) - { - LONG ret = RegEnumKey(hKey, i, buffer, lLongestSubKey + 1); - if ((ret == ERROR_SUCCESS) && (buffer == upgradeKey)) - return true; - } - } - } - return false; - } -} // namespace - -extern "C" UINT __stdcall SetProductInstallMode(MSIHANDLE handle) -{ - string upgradeCode = GetMsiProperty(handle, TEXT("UpgradeCode")); - upgradeCode = ConvertGuid(string(upgradeCode.c_str() + 1, upgradeCode.length() - 2)); - - //MessageBox(NULL, upgradeCode.c_str(), TEXT("Debug"), MB_OK); - - if (RegistryKeyHasUpgradeSubKey( - HKEY_CURRENT_USER, - TEXT("Software\\Microsoft\\Installer\\UpgradeCodes"), - upgradeCode) && IsSetMsiProperty(handle, TEXT("ALLUSERS"))) - { - UnsetMsiProperty(handle, TEXT("ALLUSERS")); - //MessageBox(NULL, "ALLUSERS removed", "DEBUG", MB_OK); - } - else if (RegistryKeyHasUpgradeSubKey( - HKEY_LOCAL_MACHINE, - TEXT("Software\\Classes\\Installer\\UpgradeCodes"), - upgradeCode) && !IsSetMsiProperty(handle, TEXT("ALLUSERS"))) - { - SetMsiProperty(handle, TEXT("ALLUSERS")); - //MessageBox(NULL, "ALLUSERS set", "DEBUG", MB_OK); - } - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/shellextensions/vistaspecial.cxx b/setup_native/source/win32/customactions/shellextensions/vistaspecial.cxx deleted file mode 100644 index 7ab7da42e..000000000 --- a/setup_native/source/win32/customactions/shellextensions/vistaspecial.cxx +++ /dev/null @@ -1,245 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define _WIN32_WINNT 0x0401 - -#ifdef _MSC_VER -#pragma warning(push, 1) /* disable warnings within system headers */ -#endif -#define WIN32_LEAN_AND_MEAN -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <malloc.h> -#include <assert.h> - -#ifdef UNICODE -#define _UNICODE -#define _tstring wstring -#else -#define _tstring string -#endif -#include <tchar.h> -#include <string> -#include <queue> -#include <stdio.h> -#include <strsafe.h> - -#include <systools/win32/uwinapi.h> -#include <../tools/seterror.hxx> - -//---------------------------------------------------------- -#ifdef DEBUG -inline void OutputDebugStringFormat( LPCSTR pFormat, ... ) -{ - CHAR buffer[1024]; - va_list args; - - va_start( args, pFormat ); - StringCchVPrintfA( buffer, sizeof(buffer), pFormat, args ); - OutputDebugStringA( buffer ); -} -#else -static inline void OutputDebugStringFormat( LPCSTR, ... ) -{ -} -#endif - - -static std::_tstring GetMsiProperty( MSIHANDLE handle, const std::_tstring& sProperty ) -{ - std::_tstring result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if ( MsiGetProperty( handle, sProperty.c_str(), szDummy, &nChars ) == ERROR_MORE_DATA ) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - - return result; -} - -static BOOL RemoveCompleteDirectory( std::_tstring sPath ) -{ - bool bDirectoryRemoved = true; - - std::_tstring mystr; - std::_tstring sPattern = sPath + TEXT("\\") + TEXT("*.*"); - WIN32_FIND_DATA aFindData; - - // Finding all content in sPath - - HANDLE hFindContent = FindFirstFile( sPattern.c_str(), &aFindData ); - - if ( hFindContent != INVALID_HANDLE_VALUE ) - { - bool fNextFile = false; - std::_tstring sCurrentDir = TEXT("."); - std::_tstring sParentDir = TEXT(".."); - - do - { - std::_tstring sFileName = aFindData.cFileName; - - mystr = "Current short file: " + sFileName; - // MessageBox(NULL, mystr.c_str(), "Current Content", MB_OK); - - if (( strcmp(sFileName.c_str(),sCurrentDir.c_str()) != 0 ) && - ( strcmp(sFileName.c_str(),sParentDir.c_str()) != 0 )) - { - std::_tstring sCompleteFileName = sPath + TEXT("\\") + sFileName; - - if ( aFindData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY ) - { - bool fSuccess = RemoveCompleteDirectory(sCompleteFileName); - if ( fSuccess ) - { - mystr = "Successfully removed content of dir " + sCompleteFileName; - // MessageBox(NULL, mystr.c_str(), "Removed Directory", MB_OK); - } - else - { - mystr = "An error occurred during removing content of " + sCompleteFileName; - // MessageBox(NULL, mystr.c_str(), "Error removing directory", MB_OK); - } - } - else - { - bool fSuccess = DeleteFile( sCompleteFileName.c_str() ); - if ( fSuccess ) - { - mystr = "Successfully removed file " + sCompleteFileName; - // MessageBox(NULL, mystr.c_str(), "Removed File", MB_OK); - } - else - { - mystr = "An error occurred during removal of file " + sCompleteFileName; - // MessageBox(NULL, mystr.c_str(), "Error removing file", MB_OK); - } - } - } - - fNextFile = FindNextFile( hFindContent, &aFindData ); - - } while ( fNextFile ); - - FindClose( hFindContent ); - - // empty directory can be removed now - // RemoveDirectory is only successful, if the last handle to the directory is closed - // -> first removing content -> closing handle -> remove empty directory - - bool fRemoveDirSuccess = RemoveDirectory(sPath.c_str()); - - if ( fRemoveDirSuccess ) - { - mystr = "Successfully removed dir " + sPath; - // MessageBox(NULL, mystr.c_str(), "Removed Directory", MB_OK); - } - else - { - mystr = "An error occurred during removal of empty directory " + sPath; - // MessageBox(NULL, mystr.c_str(), "Error removing directory", MB_OK); - bDirectoryRemoved = false; - } - } - - return bDirectoryRemoved; -} - - - -extern "C" UINT __stdcall RenamePrgFolder( MSIHANDLE handle ) -{ - std::_tstring sOfficeInstallPath = GetMsiProperty(handle, TEXT("INSTALLLOCATION")); - - std::_tstring sRenameSrc = sOfficeInstallPath + TEXT("program"); - std::_tstring sRenameDst = sOfficeInstallPath + TEXT("program_old"); - -// MessageBox(NULL, sRenameSrc.c_str(), "INSTALLLOCATION", MB_OK); - - bool bSuccess = MoveFile( sRenameSrc.c_str(), sRenameDst.c_str() ); - if ( !bSuccess ) - { - TCHAR sAppend[2] = TEXT("0"); - for ( int i = 0; i < 10; i++ ) - { - sRenameDst = sOfficeInstallPath + TEXT("program_old") + sAppend; - bSuccess = MoveFile( sRenameSrc.c_str(), sRenameDst.c_str() ); - if ( bSuccess ) - break; - sAppend[0] += 1; - } - } - -#if 0 - if ( !bSuccess ) - MessageBox(NULL, "Renaming folder failed", "RenamePrgFolder", MB_OK); - else - MessageBox(NULL, "Renaming folder successful", "RenamePrgFolder", MB_OK); -#endif - - return ERROR_SUCCESS; -} - -extern "C" UINT __stdcall RemovePrgFolder( MSIHANDLE handle ) -{ - std::_tstring sOfficeInstallPath = GetMsiProperty(handle, TEXT("INSTALLLOCATION")); - std::_tstring sRemoveDir = sOfficeInstallPath + TEXT("program_old"); - -// MessageBox(NULL, sRemoveDir.c_str(), "REMOVING OLD DIR", MB_OK); - - bool bSuccess = RemoveCompleteDirectory( sRemoveDir ); - - TCHAR sAppend[2] = TEXT("0"); - for ( int i = 0; i < 10; i++ ) - { - sRemoveDir = sOfficeInstallPath + TEXT("program_old") + sAppend; - bSuccess = RemoveCompleteDirectory( sRemoveDir ); - sAppend[0] += 1; - } - -#if 0 - if ( bSuccess ) - MessageBox(NULL, "Removing folder successful", "RemovePrgFolder", MB_OK); - else - MessageBox(NULL, "Removing folder failed", "RemovePrgFolder", MB_OK); -#endif - - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/thesaurus/exports.dxp b/setup_native/source/win32/customactions/thesaurus/exports.dxp deleted file mode 100755 index 830adddb3..000000000 --- a/setup_native/source/win32/customactions/thesaurus/exports.dxp +++ /dev/null @@ -1 +0,0 @@ -CreateIndexes diff --git a/setup_native/source/win32/customactions/thesaurus/makefile.mk b/setup_native/source/win32/customactions/thesaurus/makefile.mk deleted file mode 100755 index 3041f8759..000000000 --- a/setup_native/source/win32/customactions/thesaurus/makefile.mk +++ /dev/null @@ -1,77 +0,0 @@ -#************************************************************************* -# -# OpenOffice.org - a multi-platform office productivity suite -# -# The Contents of this file are made available subject to -# the terms of GNU Lesser General Public License Version 3. -# -# -# GNU Lesser General Public License Version 3 -# ============================================= -# Copyright 2005 by Sun Microsystems, Inc. -# 901 San Antonio Road, Palo Alto, CA 94303, USA -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License version 2.1, as published by the Free Software Foundation. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, -# MA 02111-1307 USA -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=thidxmsi - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=TRUE -NO_DEFAULT_STL=TRUE -DYNAMIC_CRT= -USE_DEFFILE=TRUE - -.INCLUDE : settings.mk - -.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!="" - -CFLAGS+=-D_STLP_USE_STATIC_LIB - -# --- Files -------------------------------------------------------- - -UWINAPILIB= - -SLOFILES = \ - $(SLO)$/thesaurus.obj - -SHL1STDLIBS= kernel32.lib\ - user32.lib\ - advapi32.lib\ - shell32.lib\ - msi.lib - -SHL1LIBS = $(SLB)$/$(TARGET).lib - -SHL1TARGET = $(TARGET) -SHL1IMPLIB = i$(TARGET) - -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1DEPN = $(SLB)$/$(TARGET).lib -SHL1BASE = 0x1c000000 -DEF1NAME=$(SHL1TARGET) -DEF1EXPORTFILE=exports.dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk - -# ------------------------------------------------------------------------- diff --git a/setup_native/source/win32/customactions/thesaurus/thesaurus.cxx b/setup_native/source/win32/customactions/thesaurus/thesaurus.cxx deleted file mode 100644 index 07bd605cb..000000000 --- a/setup_native/source/win32/customactions/thesaurus/thesaurus.cxx +++ /dev/null @@ -1,214 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * OpenOffice.org - a multi-platform office productivity suite - * - * The Contents of this file are made available subject to - * the terms of GNU Lesser General Public License Version 3. - * - * - * GNU Lesser General Public License Version 3 - * ============================================= - * Copyright 2005 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA - * - ************************************************************************/ - - - -#define WIN32_LEAN_AND_MEAN -#define _WIN32_WINNT 0x0500 -#undef WINVER -#define WINVER 0x0500 - -#include <windows.h> -#include <msiquery.h> -#include <malloc.h> - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#include <systools/win32/uwinapi.h> -#include <io.h> -#include <iostream> -#include <fstream> -#include <string> -#include <map> -#include <vector> -#include <stdlib.h> -#include <string.h> -using namespace std; -namespace -{ - - string GetMsiProperty(MSIHANDLE handle, const string& sProperty) - { - string result; - TCHAR szDummy[1] = TEXT(""); - DWORD nChars = 0; - - if (MsiGetProperty(handle, sProperty.c_str(), szDummy, &nChars) == ERROR_MORE_DATA) - { - DWORD nBytes = ++nChars * sizeof(TCHAR); - LPTSTR buffer = reinterpret_cast<LPTSTR>(_alloca(nBytes)); - ZeroMemory( buffer, nBytes ); - MsiGetProperty(handle, sProperty.c_str(), buffer, &nChars); - result = buffer; - } - return result; - } - - inline bool IsSetMsiProperty(MSIHANDLE handle, const string& sProperty) - { - return (GetMsiProperty(handle, sProperty).length() > 0); - } - - inline void UnsetMsiProperty(MSIHANDLE handle, const string& sProperty) - { - MsiSetProperty(handle, sProperty.c_str(), NULL); - } - - inline void SetMsiProperty(MSIHANDLE handle, const string& sProperty, const string&) - { - MsiSetProperty(handle, sProperty.c_str(), TEXT("1")); - } - - static const int MAXLINE = 1024*64; - - - void generateIndex(const char *inputFile, const char *outputFile) - { - - ifstream in(inputFile); - char inputBuffer[MAXLINE]; - map<string, size_t> entries; - map<string,size_t>::iterator ret(entries.begin()); - - int line(1); - in.getline(inputBuffer, MAXLINE); - const string encoding(inputBuffer); - size_t currentOffset(encoding.size()+1); - while (true) - { - // Extract the next word, but not the entry count - in.getline(inputBuffer, MAXLINE, '|'); - - if (in.eof()) break; - - string word(inputBuffer); - ret = entries.insert(ret, pair<string, size_t>(word, currentOffset)); - currentOffset += word.size() + 1; - // Next is the entry count - in.getline(inputBuffer, MAXLINE); - if (!in.good()) - { - return; - - } - currentOffset += strlen(inputBuffer)+1; - int entryCount(strtol(inputBuffer, NULL, 10)); - for (int i(0); i < entryCount; ++i) - { - in.getline(inputBuffer, MAXLINE); - currentOffset += strlen(inputBuffer)+1; - ++line; - } - } - - // Use binary mode to prevent any translation of LF to CRLF on Windows - ofstream outputStream(outputFile, ios_base::binary| ios_base::trunc|ios_base::out); - if (!outputStream.is_open()) - { - //cerr << "Unable to open output file " << outputFile << endl; - return; - } - - cerr << "Doing it now" << outputFile << endl; - outputStream << encoding << '\n' << entries.size() << '\n'; - - for (map<string, size_t>::const_iterator ii(entries.begin()); - ii != entries.end(); - ++ii - ) - { - outputStream << ii->first << '|' << ii->second << '\n'; - } - outputStream.close(); - } - - void generateIndex(const string &datFile) - { - string idxFile(datFile.substr(0, datFile.size()-3)+"idx"); - generateIndex(datFile.c_str(), idxFile.c_str()); - } - void createIndexesForThesaurusFiles(const string & sOfficeInstallPath) - { - vector<string> thesaurusPaths; - - string sExtensionsPath = sOfficeInstallPath + "\\share\\extensions\\"; - - string dictionariesWildcard = sExtensionsPath + "dict-*"; - - struct _finddatai64_t dictFind; - long h = _findfirsti64(dictionariesWildcard.c_str(),&dictFind); - if (h > 0) - { - do - { - if (dictFind.attrib & _A_SUBDIR) - { - struct _finddatai64_t datFind; - // Find any .dat files in the subdirectory - string dictPath = sExtensionsPath + dictFind.name + "\\"; - string datWildCard = dictPath + "*.dat"; - long h2 = _findfirsti64(datWildCard.c_str(), &datFind); - if (h2 > 0) - { - do - { - thesaurusPaths.push_back(dictPath + datFind.name); - - } while (_findnexti64(h2,&datFind) == 0); - } - } - - } while (_findnexti64(h,&dictFind) == 0); - } - for (vector<string>::const_iterator ii(thesaurusPaths.begin()); - ii != thesaurusPaths.end(); - ++ii - ) - { - generateIndex(*ii); - } - } - -} // namespace - - -// Creates the thesaurus .idx files for all installed .dat -// thesaurus files -extern "C" UINT __stdcall CreateIndexes( MSIHANDLE handle ) -{ - - string sOfficeInstallPath = GetMsiProperty(handle, TEXT("INSTALLLOCATION")); - createIndexesForThesaurusFiles(sOfficeInstallPath); - return ERROR_SUCCESS; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/tools/checkversion.cxx b/setup_native/source/win32/customactions/tools/checkversion.cxx deleted file mode 100644 index 044a00533..000000000 --- a/setup_native/source/win32/customactions/tools/checkversion.cxx +++ /dev/null @@ -1,151 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define UNICODE - -#ifdef _MSC_VER -#pragma warning(push,1) // disable warnings within system headers -#endif -#include <windows.h> -#include <msiquery.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <string.h> -#include <malloc.h> -#include <stdio.h> -#include "strsafe.h" - -#include <seterror.hxx> - -//---------------------------------------------------------- -BOOL GetMsiProp( MSIHANDLE hMSI, const wchar_t* pPropName, wchar_t** ppValue ) -{ - DWORD sz = 0; - if ( MsiGetProperty( hMSI, pPropName, L"", &sz ) == ERROR_MORE_DATA ) - { - sz++; - DWORD nbytes = sz * sizeof( wchar_t ); - wchar_t* buff = reinterpret_cast<wchar_t*>( malloc( nbytes ) ); - ZeroMemory( buff, nbytes ); - MsiGetProperty( hMSI, pPropName, buff, &sz ); - *ppValue = buff; - - return TRUE; - } - - return FALSE; -} - -//---------------------------------------------------------- -#ifdef DEBUG -inline void OutputDebugStringFormat( LPCTSTR pFormat, ... ) -{ - TCHAR buffer[1024]; - va_list args; - - va_start( args, pFormat ); - StringCchVPrintf( buffer, sizeof(buffer), pFormat, args ); - OutputDebugString( buffer ); -} -#else -static inline void OutputDebugStringFormat( LPCTSTR, ... ) -{ -} -#endif - -//---------------------------------------------------------- -extern "C" UINT __stdcall CheckVersions( MSIHANDLE hMSI ) -{ - // MessageBox(NULL, L"CheckVersions", L"Information", MB_OK | MB_ICONINFORMATION); - - wchar_t* pVal = NULL; - - if ( GetMsiProp( hMSI, L"NEWPRODUCTS", &pVal ) && pVal ) - { - OutputDebugStringFormat( TEXT("DEBUG: NEWPRODUCTS found [%s]"), pVal ); - if ( *pVal != 0 ) - SetMsiErrorCode( MSI_ERROR_NEW_VERSION_FOUND ); - 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 ); - if ( *pVal != 0 ) - SetMsiErrorCode( MSI_ERROR_OLD_VERSION_FOUND ); - 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; -} - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/tools/exports.dxp b/setup_native/source/win32/customactions/tools/exports.dxp deleted file mode 100644 index 18d82240f..000000000 --- a/setup_native/source/win32/customactions/tools/exports.dxp +++ /dev/null @@ -1 +0,0 @@ -CheckVersions diff --git a/setup_native/source/win32/customactions/tools/makefile.mk b/setup_native/source/win32/customactions/tools/makefile.mk deleted file mode 100644 index 61c58036b..000000000 --- a/setup_native/source/win32/customactions/tools/makefile.mk +++ /dev/null @@ -1,72 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# -#************************************************************************* - -PRJ=..$/..$/..$/.. -PRJNAME=setup_native -TARGET=sn_tools - - -# --- Settings ----------------------------------------------------- - -ENABLE_EXCEPTIONS=TRUE -NO_DEFAULT_STL=TRUE -DYNAMIC_CRT= -USE_DEFFILE=TRUE - -.INCLUDE : settings.mk - -# --- Files -------------------------------------------------------- - -.IF "$(GUI)"=="WNT" && "$(WINDOWS_SDK_HOME)"!="" - -UWINAPILIB= - -SLOFILES = $(SLO)$/seterror.obj \ - $(SLO)$/checkversion.obj - -SHL1OBJS = $(SLOFILES) - -STDSHL+= \ - $(ADVAPI32LIB)\ - $(MSILIB) - -SHL1TARGET = $(TARGET) -SHL1IMPLIB = i$(TARGET) - -SHL1DEF = $(MISC)$/$(SHL1TARGET).def -SHL1DEPN = $(SLB)$/$(TARGET).lib -SHL1BASE = 0x1c000000 -DEF1NAME=$(SHL1TARGET) -DEF1EXPORTFILE=exports.dxp - -.ENDIF - -# --- Targets -------------------------------------------------------------- - -.INCLUDE : target.mk - -# ------------------------------------------------------------------------- diff --git a/setup_native/source/win32/customactions/tools/seterror.cxx b/setup_native/source/win32/customactions/tools/seterror.cxx deleted file mode 100644 index 0927283be..000000000 --- a/setup_native/source/win32/customactions/tools/seterror.cxx +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define UNICODE - -#ifdef _MSC_VER -#pragma warning(push,1) // disable warnings within system headers -#endif -#include <windows.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -#include <string.h> -#include <malloc.h> -#include <stdio.h> -#include "strsafe.h" - -#include <seterror.hxx> - -//---------------------------------------------------------- -#ifdef DEBUG -inline void OutputDebugStringFormat( LPCTSTR pFormat, ... ) -{ - TCHAR buffer[1024]; - va_list args; - - va_start( args, pFormat ); - StringCchVPrintf( buffer, sizeof(buffer), pFormat, args ); - OutputDebugString( buffer ); -} -#else -static inline void OutputDebugStringFormat( LPCTSTR, ... ) -{ -} -#endif - -//---------------------------------------------------------- -void SetMsiErrorCode( int nErrorCode ) -{ - const TCHAR sMemMapName[] = TEXT( "Global\\MsiErrorObject" ); - - HANDLE hMapFile; - int *pBuf; - - hMapFile = OpenFileMapping( - FILE_MAP_ALL_ACCESS, // read/write access - FALSE, // do not inherit the name - sMemMapName ); // name of mapping object - - if ( hMapFile == NULL ) // can not set error code - { - OutputDebugStringFormat( TEXT("Could not open map file (%d).\n"), GetLastError() ); - return; - } - - pBuf = (int*) MapViewOfFile( hMapFile, // handle to map object - FILE_MAP_ALL_ACCESS, // read/write permission - 0, - 0, - sizeof( int ) ); - if ( pBuf ) - { - *pBuf = nErrorCode; - UnmapViewOfFile( pBuf ); - } - else - OutputDebugStringFormat( TEXT("Could not map view of file (%d).\n"), GetLastError() ); - - CloseHandle( hMapFile ); -} - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/customactions/tools/seterror.hxx b/setup_native/source/win32/customactions/tools/seterror.hxx deleted file mode 100644 index abc76cac8..000000000 --- a/setup_native/source/win32/customactions/tools/seterror.hxx +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _SETERROR_HXX_ -#define _SETERROR_HXX_ - -//---------------------------------------------------------- -// 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 - -//---------------------------------------------------------- - -void SetMsiErrorCode( int nErrorCode ); - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/setup_native/source/win32/desktophelper.txt b/setup_native/source/win32/desktophelper.txt deleted file mode 100644 index c7540116c..000000000 --- a/setup_native/source/win32/desktophelper.txt +++ /dev/null @@ -1 +0,0 @@ -# File used for desktop link diff --git a/setup_native/source/win32/get_retval.bat b/setup_native/source/win32/get_retval.bat deleted file mode 100755 index d1a10539b..000000000 --- a/setup_native/source/win32/get_retval.bat +++ /dev/null @@ -1,3 +0,0 @@ -echo off -call %* -echo %1 returned %ERRORLEVEL%
\ No newline at end of file diff --git a/setup_native/source/win32/msi-encodinglist.txt b/setup_native/source/win32/msi-encodinglist.txt deleted file mode 100644 index ff3e9f372..000000000 --- a/setup_native/source/win32/msi-encodinglist.txt +++ /dev/null @@ -1,150 +0,0 @@ -# Syntax: language ANSI-Codepage LCID -# comment lines begin with hash -af 1252 1078 # Afrikaans -ar 1256 1025 -ar-SA 1256 1025 -as 0 1101 # Assamese -as-IN 0 1101 # Assamese -ast 1252 1610 -be 1251 1059 # Belarusian -be-BY 1251 1059 -bg 1251 1026 # Bulgarian -bn 0 2117 # Bengali -bn-BD 0 2117 # Bengali Bangladesh -bn-IN 0 1093 # Bengali India -bo 0 2121 -br 1252 1150 # Breton -brx 0 1603 # Bodo (India) -bs 0 5146 # bosnian -ca 1252 1027 # Catalan -ca-XV 1252 32771 # Catalan Valencian -cs 1250 1029 # Czech -cy 1252 1106 # Welsh -da 1252 1030 -de 1252 1031 -dgo 0 1604 # Dogri (India) -dz 0 2129 # Dzongkha (same ID as tibetan bhutan (s. i40713)) -el 1253 1032 -en-GB 1252 2057 -en-US 1252 1033 -en-ZA 1252 7177 -eo 0 1553 # Esperanto -es 1252 1034 -et 1257 1061 -eu 1252 1069 # Basque -fa 0 1065 # Farsi -fi 1252 1035 -fo 1252 1080 # Faroese -fr 1252 1036 -fr-CA 1252 3084 -fur 0 1585 -ga 0 2108 # Irish -gd 0 1084 # Gaelic (Scotland) -gl 1252 1110 # Galician -gu 0 1095 # Gujarati -gu-IN 0 1095 # Gujarati -he 1255 1037 -hi 0 1081 -hr 1250 1050 # Croatian -ht 1252 1626 # Haitian -hu 1250 1038 -hy 0 1067 # Armenian -id 1252 1057 # Indonesian -is 1252 1039 # Icelandic -it 1252 1040 -ja 932 1041 -jbo 0 1624 -ka 0 1079 # Georgian -kab 0 1625 -kid 1252 1033 # key id pseudo language -kk 0 1087 -km 0 1107 # Khmer -kn 0 1099 # Kannada -kn-IN 0 1099 # Kannada -ko 949 1042 -kok 0 1111 # Konkani -ks 0 1120 # Kashmiri -ku 0 1574 -ky 0 2100 -lb 1252 1134 -lo 0 1108 # Lao -lt 1257 1063 # Lithuanian -lv 1257 1062 # Latvian -mai 0 1605 # Maithili (India) -mk 1251 1071 # Macedonian -ml 0 1100 -ml-IN 0 1100 -mn 0 1104 # Mongolian -mni 0 1112 # Manipuri -mn-TR 0 2128 # Mongolian Classical/traditional -mr 0 1102 # Marathi -mr-IN 0 1102 -ms 0 1086 # Malay (Malaysian) -mt 0 1082 # Maltese -my 0 1109 # Burmese -nb 1252 1044 -ne 0 1121 # Nepali -nl 1252 1043 -nn 1252 2068 -no 1252 1044 -nr 0 1580 # Ndebele South -nso 0 1132 -ny 0 1598 -oc 1252 1154 # Occitan-lengadocian -om 0 2162 -or 0 1096 # Oriya -or-IN 0 1096 -pa-IN 0 1094 # Punjabi -pap 0 2171 -pl 1250 1045 -ps 0 2171 -pt 1252 2070 -pt-BR 1252 1046 -pt-PT 1252 2070 -rm 0 1047 # Raeto-Romance -ro 1250 1048 # Romanian -ru 1251 1049 -rw 0 1569 # Kinyarwanda -sa-IN 0 1103 # Sanskrit -sat 0 1606 # Santali -sb 0 1070 # Sorbian -sc 0 3047 -sd 0 1113 # Sindhi -sh 1250 2074 # Serbian Latin -si 0 2133 -sk 1250 1051 # Slovak -sl 1250 1060 # Slovenian -sq 1250 1052 # Albanian -sr 1251 3098 # Serbian Cyrillic -sr-SP 1251 3098 # Serbian Cyrillic -ss 0 1579 # Swazi -st 0 1072 # Southern Sotho, Sutu -sv 1252 1053 -sw 1252 1089 # Swahili -sw-TZ 1252 1089 # Swahili -so 0 1143 -ta 0 1097 # Tamil -ta-IN 0 1097 # Tamil -te 0 1098 -te-IN 0 1098 -tg 0 1064 # Tajik -th 874 1054 -ti 0 1139 # Tigrinya -ti-ER 0 1139 # Tigrinya -tn 0 1074 # Setsuana -tr 1254 1055 # Turkish -ts 0 1073 # Tsonga -tk 0 1090 -tt 1251 1092 # Tatar -ug 0 2200 -uk 1251 1058 # Ukrainian -ur 1256 1056 # Urdu -ur-IN 0 2080 -uz 0 1091 # Uzbek (Latin) -ve 0 1075 # Venda -vi 1258 1066 # Vietnamese -xh 0 1076 # Xhosa -yi 0 1085 # Yiddish -zh-CN 936 2052 -zh-TW 950 1028 -zu 0 1077 # Zulu diff --git a/setup_native/source/win32/nsis/downloadtemplate.nsi b/setup_native/source/win32/nsis/downloadtemplate.nsi deleted file mode 100644 index 90fcdfea5..000000000 --- a/setup_native/source/win32/nsis/downloadtemplate.nsi +++ /dev/null @@ -1,443 +0,0 @@ -!define PRODUCT_NAME "PRODUCTNAMEPLACEHOLDER" -!define PRODUCT_VERSION "PRODUCTVERSIONPLACEHOLDER" -!define PRODUCT_PUBLISHER "PUBLISHERPLACEHOLDER" -!define PRODUCT_WEB_SITE "WEBSITEPLACEHOLDER" - -SetCompressor zlib -SetDatablockOptimize On - -; Helpful for debugging, disable for products -; RequestExecutionLevel user - -; MUI 1.67 compatible ------ -!include "MUI.nsh" - -Function .onInit - Call GetParameters - Pop $1 - ;MessageBox MB_OK "$1" - - Push $1 - Push "/HELP=" - Call GetOptions - Pop $2 - ;MessageBox MB_OK "HELP: $2" - - StrCmp $2 "ON" showhelp nohelp - showhelp: - MessageBox MB_OK|MB_ICONINFORMATION \ - "DOWNLOADNAMEPLACEHOLDER options: $\n $\n \ - /S : Silent installation $\n \ - /D=<path> : NSIS installation directory (must be the last option!) $\n \ - /EXTRACTONLY=ON : NSIS only extracts the PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER installation set $\n \ - /INSTALLLOCATION=<path> : PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER installation directory $\n \ - /POSTREMOVE=ON : Removes the unpacked installation set after PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER installation $\n \ - /INSTALLJAVA=ON : Installs JRE located in sub directory java, if exists $\n \ - /GUILEVEL=<guilevel> : Setting Windows Installer GUI level: qr, qb, qn, qf, ... $\n \ - /PARAM1=$\"key=value$\" : Flexible parameter 1. Example: /PARAM1=$\"INSTALLLEVEL=70$\" $\n \ - /PARAM2=$\"key=value$\" : Flexible parameter 2. $\n \ - /PARAM3=$\"key=value$\" : Flexible parameter 3. $\n \ - /HELP=ON : Shows this help $\n" - Quit - GoTo onInitDone - - nohelp: - - StrCmp $INSTDIR "" pathnotset pathset - pathnotset: - - IfSilent onInitSilent onInitNoSilent - - onInitSilent: - StrCpy $INSTDIR "$TEMP\PRODUCTPATHPLACEHOLDER Installation Files" - GoTo onInitDone - - onInitNoSilent: - StrCpy $INSTDIR "$DESKTOP\PRODUCTPATHPLACEHOLDER Installation Files" - GoTo onInitDone - - onInitDone: - pathset: - -FunctionEnd - -Function GetParameters - - Push $R0 - Push $R1 - Push $R2 - Push $R3 - - StrCpy $R2 1 - - StrLen $R3 $CMDLINE - - ;Check for quote or space - StrCpy $R0 $CMDLINE $R2 - - StrCmp $R0 '"' 0 +3 - StrCpy $R1 '"' - Goto loop - StrCpy $R1 " " - - loop: - IntOp $R2 $R2 + 1 - StrCpy $R0 $CMDLINE 1 $R2 - StrCmp $R0 $R1 get - StrCmp $R2 $R3 get - Goto loop - - get: - IntOp $R2 $R2 + 1 - StrCpy $R0 $CMDLINE 1 $R2 - StrCmp $R0 " " get - StrCpy $R0 $CMDLINE "" $R2 - - Pop $R3 - Pop $R2 - Pop $R1 - Exch $R0 - -FunctionEnd - -Function GetOptions - - Exch $1 - Exch - Exch $0 - Exch - Push $2 - Push $3 - Push $4 - Push $5 - Push $6 - Push $7 - - StrCpy $2 $1 '' 1 - StrCpy $1 $1 1 - StrLen $3 $2 - StrCpy $7 0 - - begin: - StrCpy $4 -1 - StrCpy $6 '' - - quote: - IntOp $4 $4 + 1 - StrCpy $5 $0 1 $4 - StrCmp $5$7 '0' notfound - StrCmp $5 '' trimright - StrCmp $5 '"' 0 +7 - StrCmp $6 '' 0 +3 - StrCpy $6 '"' - goto quote - StrCmp $6 '"' 0 +3 - StrCpy $6 '' - goto quote - StrCmp $5 `'` 0 +7 - StrCmp $6 `` 0 +3 - StrCpy $6 `'` - goto quote - StrCmp $6 `'` 0 +3 - StrCpy $6 `` - goto quote - StrCmp $5 '`' 0 +7 - StrCmp $6 '' 0 +3 - StrCpy $6 '`' - goto quote - StrCmp $6 '`' 0 +3 - StrCpy $6 '' - goto quote - StrCmp $6 '"' quote - StrCmp $6 `'` quote - StrCmp $6 '`' quote - StrCmp $5 $1 0 quote - StrCmp $7 0 trimleft trimright - - trimleft: - IntOp $4 $4 + 1 - StrCpy $5 $0 $3 $4 - StrCmp $5 '' notfound - StrCmp $5 $2 0 quote - IntOp $4 $4 + $3 - StrCpy $0 $0 '' $4 - StrCpy $4 $0 1 - StrCmp $4 ' ' 0 +3 - StrCpy $0 $0 '' 1 - goto -3 - StrCpy $7 1 - goto begin - - trimright: - StrCpy $0 $0 $4 - StrCpy $4 $0 1 -1 - StrCmp $4 ' ' 0 +3 - StrCpy $0 $0 -1 - goto -3 - StrCpy $3 $0 1 - StrCpy $4 $0 1 -1 - StrCmp $3 $4 0 end - StrCmp $3 '"' +3 - StrCmp $3 `'` +2 - StrCmp $3 '`' 0 end - StrCpy $0 $0 -1 1 - goto end - - notfound: - StrCpy $0 '' - - end: - Pop $7 - Pop $6 - Pop $5 - Pop $4 - Pop $3 - Pop $2 - Pop $1 - Exch $0 - -FunctionEnd - -; MUI Settings -!define MUI_HEADERIMAGE -!define MUI_HEADERIMAGE_RIGHT -!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH -!define MUI_HEADERIMAGE_BITMAP BANNERBMPPLACEHOLDER -!define MUI_WELCOMEFINISHPAGE_BITMAP WELCOMEBMPPLACEHOLDER -!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH -!define MUI_WELCOMEPAGE_TITLE_3LINES -!define MUI_ABORTWARNING -!define MUI_ICON "SETUPICOPLACEHOLDER" -!define MUI_CUSTOMFUNCTION_GUIINIT SetupBranding -!define MUI_CUSTOMFUNCTION_UNGUIINIT SetupBranding - -; Welcome page -!insertmacro MUI_PAGE_WELCOME -!insertmacro MUI_PAGE_DIRECTORY -!insertmacro MUI_PAGE_INSTFILES - -#231#!macro MUI_LANGUAGE_PACK LANGUAGE -#231# !verbose push -#231# !verbose ${MUI_VERBOSE} -#231# !insertmacro MUI_INSERT -#231# LoadLanguageFile "NSISPATHPLACEHOLDER\${LANGUAGE}_pack.nlf" -#231# ;Set default language file for MUI and backup user setting -#231# !ifdef LANGFILE_DEFAULT -#231# !define MUI_LANGFILE_DEFAULT_TEMP "${LANGFILE_DEFAULT}" -#231# !undef LANGFILE_DEFAULT -#231# !endif -#231# !define LANGFILE_DEFAULT "${NSISDIR}\Contrib\Language files\English.nsh" -#231# ;Include language file -#231# !insertmacro LANGFILE_INCLUDE "NSISPATHPLACEHOLDER\${LANGUAGE}_pack.nsh" -#231# ;Restore user setting for default language file -#231# !undef LANGFILE_DEFAULT -#231# !ifdef MUI_LANGFILE_DEFAULT_TEMP -#231# !define LANGFILE_DEFAULT "${MUI_LANGFILE_DEFAULT}" -#231# !endif -#231# ;Add language to list of languages for selection dialog -#231# !ifndef MUI_LANGDLL_LANGUAGES -#231# !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' " -#231# !define MUI_LANGDLL_LANGUAGES_CP "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' " -#231# !else -#231# !ifdef MUI_LANGDLL_LANGUAGES_TEMP -#231# !undef MUI_LANGDLL_LANGUAGES_TEMP -#231# !endif -#231# !define MUI_LANGDLL_LANGUAGES_TEMP "${MUI_LANGDLL_LANGUAGES}" -#231# !undef MUI_LANGDLL_LANGUAGES -#231# !ifdef MUI_LANGDLL_LANGUAGES_CP_TEMP -#231# !undef MUI_LANGDLL_LANGUAGES_CP_TEMP -#231# !endif -#231# !define MUI_LANGDLL_LANGUAGES_CP_TEMP "${MUI_LANGDLL_LANGUAGES_CP}" -#231# !undef MUI_LANGDLL_LANGUAGES_CP -#231# !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' ${MUI_LANGDLL_LANGUAGES_TEMP}" -#231# !define MUI_LANGDLL_LANGUAGES_CP "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' ${MUI_LANGDLL_LANGUAGES_CP_TEMP}" -#231# !endif -#231# !verbose pop -#231#!macroend - -#204#!macro MUI_LANGUAGE_PACK LANGUAGE -#204# !verbose push -#204# !verbose ${MUI_VERBOSE} -#204# !include "NSISPATHPLACEHOLDER\${LANGUAGE}_pack.nsh" -#204# !verbose pop -#204#!macroend - -#204#!macro MUI_LANGUAGEFILE_PACK_BEGIN LANGUAGE -#204# !ifndef MUI_INSERT -#204# !define MUI_INSERT -#204# !insertmacro MUI_INSERT -#204# !endif -#204# LoadLanguageFile "NSISPATHPLACEHOLDER\${LANGUAGE}_pack.nlf" -#204#!macroend - -; Language files -ALLLANGUAGESPLACEHOLDER - -Function SetupBranding - File "/oname=$PLUGINSDIR\modern-header.bmp" BANNERBMPPLACEHOLDER - File "/oname=$PLUGINSDIR\modern-wizard.bmp" WELCOMEBMPPLACEHOLDER - - SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp" - !insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Text" "$PLUGINSDIR\modern-wizard.bmp" -FunctionEnd - -; Reserve files -;!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS - -; MUI end ------ - -Name "PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER" -OutFile "OUTPUTDIRPLACEHOLDER\DOWNLOADNAMEPLACEHOLDER" -; InstallDir "$DESKTOP\PRODUCTNAMEPLACEHOLDER PRODUCTVERSIONPLACEHOLDER Installation Files" -; ShowInstDetails show -Section "MainSection" SEC01 -ALLFILESPLACEHOLDER -SectionEnd - -Section -Post - - StrCpy $R9 "false" - - Call GetParameters - Pop $1 - - Push $1 - Push "/EXTRACTONLY=" - Call GetOptions - Pop $2 - ;MessageBox MB_OK "EXTRACTONLY: $2" - - StrCmp $2 "ON" onPostDone callsetup - callsetup: - - Push $1 - Push "/INSTALLLOCATION=" - Call GetOptions - Pop $2 - ;MessageBox MB_OK "INSTALLLOCATION: $2" - - StrCmp $2 "" installnotset installset - installset: - StrCpy $3 'INSTALLLOCATION="$2"' - installnotset: - - Push $1 - Push "/INSTALLJAVA=" - Call GetOptions - Pop $2 - ;MessageBox MB_OK "INSTALLJAVA: $2" - - StrCmp $2 "ON" setinstalljava setdontinstalljava - setinstalljava: - StrCpy $R9 "true" - setdontinstalljava: - - Push $1 - Push "/GUILEVEL=" - Call GetOptions - Pop $2 - - StrCmp $2 "" dontsetguilevel setguilevel - setguilevel: - StrCpy $7 "/" - StrCpy $7 $7$2 - GoTo afterguilevel - dontsetguilevel: - StrCpy $7 "/qr" - afterguilevel: - - ;MessageBox MB_OK "GUILEVEL: $7" - - Push $1 - Push "/PARAM1=" - Call GetOptions - Pop $2 - ;MessageBox MB_OK "PARAM1: $2" - - StrCmp $2 "" param1notset param1set - param1set: - StrCpy $4 "$2" - param1notset: - - - Push $1 - Push "/PARAM2=" - Call GetOptions - Pop $2 - ;MessageBox MB_OK "PARAM2: $2" - - StrCmp $2 "" param2notset param2set - param2set: - StrCpy $5 "$2" - param2notset: - - - Push $1 - Push "/PARAM3=" - Call GetOptions - Pop $2 - ;MessageBox MB_OK "PARAM3: $2" - - StrCmp $2 "" param3notset param3set - param3set: - StrCpy $6 "$2" - param3notset: - - IfSilent onPostSilent onPostNoSilent - - onPostSilent: - Push $1 - Push "/POSTREMOVE=" - Call GetOptions - Pop $2 - ;MessageBox MB_OK "POSTREMOVE: $2" - - StrCmp $2 "ON" postremovesilent nopostremovesilent - nopostremovesilent: - StrCmp $R9 "true" installjava1 dontinstalljava1 - installjava1: - ExecWait '$INSTDIR\java\WINDOWSJAVAFILENAMEPLACEHOLDER /s /v"/qn REBOOT=Suppress"' - dontinstalljava1: - ExecWait "$INSTDIR\setup.exe -lang $LANGUAGE $3 $4 $5 $6 $7 -ignore_running" $0 - SetErrorLevel $0 - Quit - GoTo onPostDone - postremovesilent: - StrCmp $R9 "true" installjava2 dontinstalljava2 - installjava2: - ExecWait '$INSTDIR\java\WINDOWSJAVAFILENAMEPLACEHOLDER /s /v"/qn REBOOT=Suppress"' - dontinstalljava2: - ExecWait "$INSTDIR\setup.exe -lang $LANGUAGE $3 $4 $5 $6 $7 -ignore_running" $0 - RMDir /r $INSTDIR - RMDir $INSTDIR - SetErrorLevel $0 - Quit - GoTo onPostDone - - onPostNoSilent: - Push $1 - Push "/POSTREMOVE=" - Call GetOptions - Pop $2 - ;MessageBox MB_OK "POSTREMOVE: $2" - - StrCmp $2 "ON" postremove nopostremove - nopostremove: - Exec "$INSTDIR\setup.exe -lang $LANGUAGE $3 $4 $5 $6" - Quit - GoTo onPostDone - postremove: - StrCmp $R9 "true" installjava3 dontinstalljava3 - installjava3: - ExecWait '$INSTDIR\java\WINDOWSJAVAFILENAMEPLACEHOLDER /s /v"/qr REBOOT=Suppress"' - dontinstalljava3: - ExecWait "$INSTDIR\setup.exe -lang $LANGUAGE $3 $4 $5 $6" $0 - RMDir /r $INSTDIR - RMDir $INSTDIR - SetErrorLevel $0 - Quit - GoTo onPostDone - - onPostDone: - -SectionEnd diff --git a/setup_native/source/win32/nsis/ooobanner.bmp b/setup_native/source/win32/nsis/ooobanner.bmp Binary files differdeleted file mode 100644 index 58665b5e6..000000000 --- a/setup_native/source/win32/nsis/ooobanner.bmp +++ /dev/null diff --git a/setup_native/source/win32/nsis/ooobitmap.bmp b/setup_native/source/win32/nsis/ooobitmap.bmp Binary files differdeleted file mode 100644 index 25b5b11be..000000000 --- a/setup_native/source/win32/nsis/ooobitmap.bmp +++ /dev/null diff --git a/setup_native/source/win32/nsis/ooosdkbanner.bmp b/setup_native/source/win32/nsis/ooosdkbanner.bmp Binary files differdeleted file mode 100644 index a453f1fcd..000000000 --- a/setup_native/source/win32/nsis/ooosdkbanner.bmp +++ /dev/null diff --git a/setup_native/source/win32/nsis/ooosdkbitmap.bmp b/setup_native/source/win32/nsis/ooosdkbitmap.bmp Binary files differdeleted file mode 100644 index 25b5b11be..000000000 --- a/setup_native/source/win32/nsis/ooosdkbitmap.bmp +++ /dev/null diff --git a/setup_native/source/win32/nsis/ooosetup.ico b/setup_native/source/win32/nsis/ooosetup.ico Binary files differdeleted file mode 100644 index faa7d2bb2..000000000 --- a/setup_native/source/win32/nsis/ooosetup.ico +++ /dev/null diff --git a/setup_native/source/win32/nsis/urebanner.bmp b/setup_native/source/win32/nsis/urebanner.bmp Binary files differdeleted file mode 100644 index a453f1fcd..000000000 --- a/setup_native/source/win32/nsis/urebanner.bmp +++ /dev/null diff --git a/setup_native/source/win32/nsis/urebitmap.bmp b/setup_native/source/win32/nsis/urebitmap.bmp Binary files differdeleted file mode 100644 index 25b5b11be..000000000 --- a/setup_native/source/win32/nsis/urebitmap.bmp +++ /dev/null diff --git a/setup_native/source/win32/patchlist.txt b/setup_native/source/win32/patchlist.txt deleted file mode 100644 index e0d5a7e6a..000000000 --- a/setup_native/source/win32/patchlist.txt +++ /dev/null @@ -1,2 +0,0 @@ -# Windows patch file list - diff --git a/setup_native/tests/opensolaris/bundledextensions/send_ooo b/setup_native/tests/opensolaris/bundledextensions/send_ooo deleted file mode 100644 index 669e63ced..000000000 --- a/setup_native/tests/opensolaris/bundledextensions/send_ooo +++ /dev/null @@ -1,32 +0,0 @@ -#! /bin/bash - - -if [ $# = 0 ] -then -echo "usage: send_ooo path_to_pkg_folder - -The files -installed, -ooo_bundled_extension.xml, -svc-ooo_bundled_extension -must be in the current directory. The pkg.depotd or the service -application/pkg/server must listen to port 80" - -exit -fi - - -EXTENSIONPATH=/opt/openoffice.org3/share/extension/install - -eval `pkgsend -s http://localhost:80 open ooo_test@3.2-1` -pkgsend -s http://localhost:80 import $1/openofficeorg-ure -pkgsend -s http://localhost:80 import $1/ooobasis* -pkgsend -s http://localhost:80 import $1/openofficeorg3* - -pkgsend -s http://localhost:80 add file installed mode=644 owner=root group=bin path=${EXTENSIONPATH}/installed restart_fmri=svc:/application/ooo_bundled_extensions:default -pkgsend -s http://localhost:80 add file svc-ooo_bundled_extensions mode=744 owner=root group=bin path=/lib/svc/method/svc-ooo_bundled_extensions -pkgsend -s http://localhost:80 add file ooo_bundled_extensions.xml mode=644 owner=root group=bin path=/var/svc/manifest/application/ooo_bundled_extensions.xml restart_fmri=svc:/system/manifest-import:default - -pkgsend -s http://localhost:80 add set name=description value="OOo 3.2 with dictionaries: en fr es da de" -pkgsend -s http://localhost:80 close - |