Commits

Anonymous committed aeb234f

native305 #i92977# new Windows INSTALLLOCATION settings

Comments (0)

Files changed (6)

instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt

 RebootYesNo	Yes
 ReinstallModeText	omus
 REMOVEOLDPRODUCTS	1
-SecureCustomProperties	NEWPRODUCTS;SAMEPRODUCTS;OLDPRODUCTS;OLDPRODUCTSSAMEMAJOR;OLDPRODUCTS2;BETAPRODUCTS;STUBPRODUCTS;O2LPENUS;O2LPPT;O2LPRU;O2LPEL;O2LPNL;O2LPFR;O2LPES;O2LPFI;O2LPHU;O2LPCA;O2LPIT;O2LPCS;O2LPSK;O2LPENGB;O2LPDA;O2LPSV;O2LPNO;O2LPPL;O2LPDE;O2LPPTBR;O2LPTH;O2LPET;O2LPJA;O2LPKO;O2LPZHCN;O2LPZHTW;O2LPTR;O2LPHI;O2LPAR;O2LPHE
+SecureCustomProperties	NEWPRODUCTS;SAMEPRODUCTS;OLDPRODUCTS;OLDPRODUCTSSAMEMAJOR;OLDPRODUCTS2;BETAPRODUCTS;STUBPRODUCTS;O2LPAF;O2LPAR;O2LPASIN;O2LPBEBY;O2LPBO;O2LPBG;O2LPBR;O2LPBRX;O2LPBN;O2LPBNBD;O2LPBNIN;O2LPBS;O2LPBY;O2LPCA;O2LPCS;O2LPCY;O2LPDA;O2LPDE;O2LPDGO;O2LPDZ;O2LPEL;O2LPENGB;O2LPENUS;O2LPENZA;O2LPEO;O2LPES;O2LPET;O2LPEU;O2LPFA;O2LPFI;O2LPFR;O2LPGA;O2LPGD;O2LPGL;O2LPGU;O2LPGUIN;O2LPHE;O2LPHI;O2LPHIIN;O2LPHR;O2LPHU;O2LPIS;O2LPIT;O2LPJA;O2LPKID;O2LPKY;O2LPKA;O2LPKK;O2LPKM;O2LPKN;O2LPKO;O2LPKOK;O2LPKS;O2LPKU;O2LPLO;O2LPLT;O2LPLV;O2LPMAI;O2LPMK;O2LPMN;O2LPMNI;O2LPMS;O2LPMLIN;O2LPMRIN;O2LPMY;O2LPNE;O2LPNB;O2LPNL;O2LPNN;O2LPNO;O2LPNR;O2LPNS;O2LPOM;O2LPOC;O2LPORIN;O2LPPAP;O2LPPAIN;O2LPPL;O2LPPS;O2LPPT;O2LPPTBR;O2LPRU;O2LPRW;O2LPSAT;O2LPSAIN;O2LPSI;O2LPSC;O2LPSD;O2LPSK;O2LPSL;O2LPSH;O2LPSR;O2LPSS;O2LPST;O2LPSV;O2LPSW;O2LPSWTZ;O2LPTEIN;O2LPTIER;O2LPTAIN;O2LPTH;O2LPTN;O2LPTR;O2LPTS;O2LPTG;O2LPUG;O2LPURIN;O2LPUK;O2LPUZ;O2LPVE;O2LPVI;O2LPXH;O2LPZHCN;O2LPZHTW;O2LPZU
 SetupType	Typical
 SELECT_WORD	0
 SELECT_EXCEL	0

instsetoo_native/util/openoffice.lst

 			DOWNLOADBANNER	ooobanner.bmp
 			DOWNLOADBITMAP	ooobitmap.bmp
 			DOWNLOADSETUPICO	ooosetup.ico
-			WINDOWSBITMAPDIRECTORY ..\inc_broffice\windows\msi_templates\Binary
 			RELATIVE_PATHES_IN_DDF 1
             STARTCENTER_ADDFEATURE_URL http://tools.services.openoffice.org/forward/OpenOffice.org/extensions.jsp?cid=920794
             STARTCENTER_INFO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/homepage.jsp
 			DOWNLOADBANNER	ooobanner.bmp
 			DOWNLOADBITMAP	ooobitmap.bmp
 			DOWNLOADSETUPICO	ooosetup.ico
-			WINDOWSBITMAPDIRECTORY ..\inc_broffice\windows\msi_templates\Binary
 			RELATIVE_PATHES_IN_DDF 1
             STARTCENTER_ADDFEATURE_URL http://tools.services.openoffice.org/forward/OpenOffice.org/extensions.jsp?cid=920794
             STARTCENTER_INFO_URL http://tools.services.openoffice.org/forward/OpenOffice.org/homepage.jsp
 			DOWNLOADBANNER	ooobanner.bmp
 			DOWNLOADBITMAP	ooobitmap.bmp
 			DOWNLOADSETUPICO	ooosetup.ico
-			WINDOWSBITMAPDIRECTORY ..\inc_broffice\windows\msi_templates\Binary
 			LOCALUSERDIR $ORIGIN/..
 			RELATIVE_PATHES_IN_DDF 1
             STARTCENTER_ADDFEATURE_URL http://tools.services.openoffice.org/forward/OpenOffice.org/extensions.jsp?cid=920794

solenv/bin/modules/installer/globals.pm

 	
 	$installlocationdirectory = "";
 	$installlocationdirectoryset = 0;
+	$vendordirectory = "";
+	$vendordirectoryset = 0;
 	$officeinstalldirectory = "";
 	$officeinstalldirectoryset = 0;
 	$basisinstalldirectory = "";

solenv/bin/modules/installer/windows/directory.pm

 			$installer::globals::installlocationdirectoryset = 1;
 			if ( $installer::globals::installlocationdirectory =~ /oracle_/i ) { $installer::globals::sundirexists = 1; }
 		}
+		
+		# setting the sundirectory
+		if ( $styles =~ /\bSUNDIRECTORY\b/ )
+		{
+			if ( $installer::globals::vendordirectoryset ) { installer::exiter::exit_program("ERROR: Directory with flag SUNDIRECTORY alread set: \"$installer::globals::vendordirectory\".", "create_unique_directorynames"); }
+			$installer::globals::vendordirectory = $uniquename;
+			$installer::globals::vendordirectoryset = 1;
+		}
 	}			
 }
 
 #####################################################
+# Adding ":." to selected default directory names
+#####################################################
+
+sub check_sourcedir_addon
+{
+	my ( $onedir, $allvariableshashref ) = @_;
+	
+	if (($installer::globals::addchildprojects) ||
+		($installer::globals::patch) ||
+		($installer::globals::languagepack) || 
+		($allvariableshashref->{'CHANGETARGETDIR'}))
+	{
+		my $sourcediraddon = "\:\.";
+		$onedir->{'defaultdir'} = $onedir->{'defaultdir'} . $sourcediraddon;
+	}			
+	
+}
+
+#####################################################
 # The directory with the style ISINSTALLLOCATION
 # will be replaced by INSTALLLOCATION
 #####################################################
 
 sub set_installlocation_directory
 {
-	my ( $directoryref ) = @_;
+	my ( $directoryref, $allvariableshashref ) = @_;
 	
 	if ( ! $installer::globals::installlocationdirectoryset ) { installer::exiter::exit_program("ERROR: Directory with flag ISINSTALLLOCATION not set!", "set_installlocation_directory"); }
 	
 	for ( my $i = 0; $i <= $#{$directoryref}; $i++ )
 	{
 		my $onedir = ${$directoryref}[$i];
-		
+
 		if ( $onedir->{'uniquename'} eq $installer::globals::installlocationdirectory )
 		{
 			$onedir->{'uniquename'} = "INSTALLLOCATION";
-			
-			if (($installer::globals::addchildprojects) ||
-				($installer::globals::patch) ||
-				($installer::globals::languagepack) || 
-				($allvariableshashref->{'CHANGETARGETDIR'}))
-			{
-				
-				my $sourcediraddon = "\:\.";
-				$onedir->{'defaultdir'} = $onedir->{'defaultdir'} . $sourcediraddon;
-			}			
+			check_sourcedir_addon($onedir, $allvariableshashref);
+		}
+		
+		if ( $onedir->{'uniquename'} eq $installer::globals::vendordirectory )
+		{
+			check_sourcedir_addon($onedir, $allvariableshashref);			
 		}
 		
 		if ( $onedir->{'uniqueparentname'} eq $installer::globals::installlocationdirectory )
 	if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt_local_1.log", $directoryref); }
 	create_defaultdir_directorynames($directoryref, $shortdirnamehashref);	# only destdir!
 	if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt_local_2.log", $directoryref); }
-	set_installlocation_directory($directoryref);
+	set_installlocation_directory($directoryref, $allvariableshashref);
 	if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt_local_3.log", $directoryref); }
 	installer::windows::idtglobal::write_idt_header(\@directorytable, "directory");
 	add_root_directories(\@directorytable, $allvariableshashref);

solenv/bin/modules/installer/windows/idtglobal.pm

 			{
 				my $newuniquename = "sub" . $subdir;
 				$newdir = $newuniquename;
-				my $newparent = $parent;
+				# my $newparent = $parent;
+				my $newparent = "INSTALLLOCATION";
 				my $newname = $name . "\:" . $subdir;
 				my $newline = 
 				$line = "$newuniquename\t$newparent\t$newname\n";

solenv/bin/modules/installer/windows/registry.pm

 	if ( $registry->{'Value'} ) { $value = $registry->{'Value'}; }
 	
 	$value =~ s/\\\"/\"/g;	# no more masquerading of '"'
+	$value =~ s/\\\\\s*$/\\/g;	# making "\\" at end of value to "\"
 	$value =~ s/\<progpath\>/\[INSTALLLOCATION\]/;
 	$value =~ s/\[INSTALLLOCATION\]\\/\[INSTALLLOCATION\]/;	# removing "\" after "[INSTALLLOCATION]"
 
 	if ( $registry->{'Val64'} ) { $value = $registry->{'Val64'}; }
 	
 	$value =~ s/\\\"/\"/g;	# no more masquerading of '"'
+	$value =~ s/\\\\\s*$/\\/g;	# making "\\" at end of value to "\"
 	$value =~ s/\<progpath\>/\[INSTALLLOCATION\]/;
 	$value =~ s/\[INSTALLLOCATION\]\\/\[INSTALLLOCATION\]/;	# removing "\" after "[INSTALLLOCATION]"