make_installer.pl (d1fa6344) | make_installer.pl (f30bf281) |
---|---|
1#************************************************************** 2# 3# Licensed to the Apache Software Foundation (ASF) under one 4# or more contributor license agreements. See the NOTICE file 5# distributed with this work for additional information 6# regarding copyright ownership. The ASF licenses this file 7# to you under the Apache License, Version 2.0 (the 8# "License"); you may not use this file except in compliance --- 61 unchanged lines hidden (view full) --- 70use installer::windows::file; 71use installer::windows::font; 72use installer::windows::icon; 73use installer::windows::idtglobal; 74use installer::windows::inifile; 75use installer::windows::java; 76use installer::windows::media; 77use installer::windows::msiglobal; | 1#************************************************************** 2# 3# Licensed to the Apache Software Foundation (ASF) under one 4# or more contributor license agreements. See the NOTICE file 5# distributed with this work for additional information 6# regarding copyright ownership. The ASF licenses this file 7# to you under the Apache License, Version 2.0 (the 8# "License"); you may not use this file except in compliance --- 61 unchanged lines hidden (view full) --- 70use installer::windows::file; 71use installer::windows::font; 72use installer::windows::icon; 73use installer::windows::idtglobal; 74use installer::windows::inifile; 75use installer::windows::java; 76use installer::windows::media; 77use installer::windows::msiglobal; |
78use installer::windows::msp; | |
79use installer::windows::patch; 80use installer::windows::property; 81use installer::windows::removefile; 82use installer::windows::registry; 83use installer::windows::selfreg; 84use installer::windows::shortcut; 85use installer::windows::strip; | 78use installer::windows::patch; 79use installer::windows::property; 80use installer::windows::removefile; 81use installer::windows::registry; 82use installer::windows::selfreg; 83use installer::windows::shortcut; 84use installer::windows::strip; |
86use installer::windows::update; | |
87use installer::windows::upgrade; 88use installer::worker; 89use installer::xpdinstaller; 90use installer::ziplist; 91 92################################################# 93# Main program 94################################################# --- 609 unchanged lines hidden (view full) --- 704 ################################################################### 705 # Reading an existing msi database, to prepare update and patch 706 ################################################################### 707 708 my $refdatabase = ""; 709 my $uniquefilename = ""; 710 my $revuniquefilename = ""; 711 my $revshortfilename = ""; | 85use installer::windows::upgrade; 86use installer::worker; 87use installer::xpdinstaller; 88use installer::ziplist; 89 90################################################# 91# Main program 92################################################# --- 609 unchanged lines hidden (view full) --- 702 ################################################################### 703 # Reading an existing msi database, to prepare update and patch 704 ################################################################### 705 706 my $refdatabase = ""; 707 my $uniquefilename = ""; 708 my $revuniquefilename = ""; 709 my $revshortfilename = ""; |
712 my $allupdatesequences = ""; 713 my $allupdatecomponents = ""; 714 my $allupdatefileorder = ""; | |
715 my $allupdatecomponentorder = ""; 716 my $shortdirname = ""; 717 my $componentid = ""; 718 my $componentidkeypath = ""; 719 my $alloldproperties = ""; | 710 my $allupdatecomponentorder = ""; 711 my $shortdirname = ""; 712 my $componentid = ""; 713 my $componentidkeypath = ""; 714 my $alloldproperties = ""; |
720 my $allupdatelastsequences = ""; 721 my $allupdatediskids = ""; | |
722 | 715 |
723 if ( $installer::globals::iswindowsbuild ) 724 { 725 if ( $allvariableshashref->{'UPDATE_DATABASE'} ) 726 { 727 $installer::logger::Info->print( "... analyzing update database ...\n" ); 728 $refdatabase = installer::windows::update::readdatabase($allvariableshashref, $languagestringref, $includepatharrayref); 729 730 if ( $installer::globals::updatedatabase ) 731 { 732 ($uniquefilename, $revuniquefilename, $revshortfilename, $allupdatesequences, $allupdatecomponents, $allupdatefileorder, $allupdatecomponentorder, $shortdirname, $componentid, $componentidkeypath, $alloldproperties, $allupdatelastsequences, $allupdatediskids) = installer::windows::update::create_database_hashes($refdatabase); 733 } 734 } 735 } 736 | |
737 ############################################## 738 # Setting global code variables for Windows 739 ############################################## 740 741 if (!($installer::globals::is_copy_only_project)) 742 { 743 if (( $installer::globals::iswindowsbuild ) && ( $installer::globals::packageformat ne "archive" ) && ( $installer::globals::packageformat ne "installed" )) 744 { --- 1190 unchanged lines hidden (view full) --- 1935 installer::windows::file::assign_cab_to_files($filesinproductlanguageresolvedarrayref); 1936 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles17a.log", $filesinproductlanguageresolvedarrayref); } 1937 installer::windows::file::assign_sequencenumbers_to_files($filesinproductlanguageresolvedarrayref); 1938 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles17b.log", $filesinproductlanguageresolvedarrayref); } 1939 1940 # Collection all available directory trees 1941 installer::windows::directory::collectdirectorytrees($directoriesforepmarrayref); 1942 | 716 ############################################## 717 # Setting global code variables for Windows 718 ############################################## 719 720 if (!($installer::globals::is_copy_only_project)) 721 { 722 if (( $installer::globals::iswindowsbuild ) && ( $installer::globals::packageformat ne "archive" ) && ( $installer::globals::packageformat ne "installed" )) 723 { --- 1190 unchanged lines hidden (view full) --- 1914 installer::windows::file::assign_cab_to_files($filesinproductlanguageresolvedarrayref); 1915 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles17a.log", $filesinproductlanguageresolvedarrayref); } 1916 installer::windows::file::assign_sequencenumbers_to_files($filesinproductlanguageresolvedarrayref); 1917 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles17b.log", $filesinproductlanguageresolvedarrayref); } 1918 1919 # Collection all available directory trees 1920 installer::windows::directory::collectdirectorytrees($directoriesforepmarrayref); 1921 |
1943 $filesinproductlanguageresolvedarrayref = installer::windows::file::create_files_table($filesinproductlanguageresolvedarrayref, \@allfilecomponents, $newidtdir, $allvariableshashref, $uniquefilename, $allupdatesequences, $allupdatecomponents, $allupdatefileorder); | 1922 $filesinproductlanguageresolvedarrayref = installer::windows::file::create_files_table($filesinproductlanguageresolvedarrayref, \@allfilecomponents, $newidtdir, $allvariableshashref, $uniquefilename); |
1944 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles17c.log", $filesinproductlanguageresolvedarrayref); } | 1923 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles17c.log", $filesinproductlanguageresolvedarrayref); } |
1945 if ( $installer::globals::updatedatabase ) { installer::windows::file::check_file_sequences($allupdatefileorder, $allupdatecomponentorder); } | |
1946 1947 installer::windows::directory::create_directory_table($directoriesforepmarrayref, $newidtdir, $allvariableshashref, $shortdirname, $loggingdir); 1948 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles18.log", $filesinproductlanguageresolvedarrayref); } 1949 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt1.log", $directoriesforepmarrayref); } 1950 1951 # Attention: The table "Registry.idt" contains language specific strings -> parameter: $languagesarrayref ! 1952 installer::windows::registry::create_registry_table($registryitemsinproductlanguageresolvedarrayref, \@allregistrycomponents, $newidtdir, $languagesarrayref, $allvariableshashref); 1953 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "registryitems4.log", $registryitemsinproductlanguageresolvedarrayref); } --- 7 unchanged lines hidden (view full) --- 1961 installer::windows::feature::add_uniquekey($modulesinproductlanguageresolvedarrayref); 1962 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "modules4a.log", $modulesinproductlanguageresolvedarrayref); } 1963 $modulesinproductlanguageresolvedarrayref = installer::windows::feature::sort_feature($modulesinproductlanguageresolvedarrayref); 1964 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "modules4b.log", $modulesinproductlanguageresolvedarrayref); } 1965 installer::windows::feature::create_feature_table($modulesinproductlanguageresolvedarrayref, $newidtdir, $languagesarrayref, $allvariableshashref); 1966 1967 installer::windows::featurecomponent::create_featurecomponent_table($filesinproductlanguageresolvedarrayref, $registryitemsinproductlanguageresolvedarrayref, $newidtdir); 1968 | 1924 1925 installer::windows::directory::create_directory_table($directoriesforepmarrayref, $newidtdir, $allvariableshashref, $shortdirname, $loggingdir); 1926 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles18.log", $filesinproductlanguageresolvedarrayref); } 1927 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt1.log", $directoriesforepmarrayref); } 1928 1929 # Attention: The table "Registry.idt" contains language specific strings -> parameter: $languagesarrayref ! 1930 installer::windows::registry::create_registry_table($registryitemsinproductlanguageresolvedarrayref, \@allregistrycomponents, $newidtdir, $languagesarrayref, $allvariableshashref); 1931 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "registryitems4.log", $registryitemsinproductlanguageresolvedarrayref); } --- 7 unchanged lines hidden (view full) --- 1939 installer::windows::feature::add_uniquekey($modulesinproductlanguageresolvedarrayref); 1940 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "modules4a.log", $modulesinproductlanguageresolvedarrayref); } 1941 $modulesinproductlanguageresolvedarrayref = installer::windows::feature::sort_feature($modulesinproductlanguageresolvedarrayref); 1942 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "modules4b.log", $modulesinproductlanguageresolvedarrayref); } 1943 installer::windows::feature::create_feature_table($modulesinproductlanguageresolvedarrayref, $newidtdir, $languagesarrayref, $allvariableshashref); 1944 1945 installer::windows::featurecomponent::create_featurecomponent_table($filesinproductlanguageresolvedarrayref, $registryitemsinproductlanguageresolvedarrayref, $newidtdir); 1946 |
1969 installer::windows::media::create_media_table($filesinproductlanguageresolvedarrayref, $newidtdir, $allvariableshashref, $allupdatelastsequences, $allupdatediskids); | 1947 installer::windows::media::create_media_table($filesinproductlanguageresolvedarrayref, $newidtdir, $allvariableshashref); |
1970 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles20.log", $filesinproductlanguageresolvedarrayref); } 1971 1972 installer::windows::font::create_font_table($filesinproductlanguageresolvedarrayref, $newidtdir); 1973 1974 # Attention: The table "Shortcut.idt" contains language specific strings -> parameter: $languagesarrayref ! 1975 # Attention: Shortcuts (Folderitems) have icon files, that have to be copied into the Icon directory (last parameter) 1976 my @iconfilecollector = (); 1977 --- 272 unchanged lines hidden (view full) --- 2250 # Analyzing the log file 2251 ####################################################### 2252 2253 my $is_success = 0; 2254 my $finalinstalldir = ""; 2255 installer::worker::clean_output_tree(); # removing directories created in the output tree 2256 ($is_success, $finalinstalldir) = installer::worker::analyze_and_save_logfile($loggingdir, $installdir, $installlogdir, $allsettingsarrayref, $languagestringref, $current_install_number); 2257 | 1948 if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles20.log", $filesinproductlanguageresolvedarrayref); } 1949 1950 installer::windows::font::create_font_table($filesinproductlanguageresolvedarrayref, $newidtdir); 1951 1952 # Attention: The table "Shortcut.idt" contains language specific strings -> parameter: $languagesarrayref ! 1953 # Attention: Shortcuts (Folderitems) have icon files, that have to be copied into the Icon directory (last parameter) 1954 my @iconfilecollector = (); 1955 --- 272 unchanged lines hidden (view full) --- 2228 # Analyzing the log file 2229 ####################################################### 2230 2231 my $is_success = 0; 2232 my $finalinstalldir = ""; 2233 installer::worker::clean_output_tree(); # removing directories created in the output tree 2234 ($is_success, $finalinstalldir) = installer::worker::analyze_and_save_logfile($loggingdir, $installdir, $installlogdir, $allsettingsarrayref, $languagestringref, $current_install_number); 2235 |
2258 ####################################################### 2259 # Creating Windows msp patches 2260 ####################################################### | |
2261 | 2236 |
2262 if (( $is_success ) && ( $installer::globals::updatedatabase ) && ( $allvariableshashref->{'CREATE_MSP_INSTALLSET'} )) 2263 { 2264 # Required: 2265 # Temp path for administrative installations: $installer::globals::temppath 2266 # Path of new installation set: $finalinstalldir 2267 # Path of old installation set: $installer::globals::updatedatabasepath 2268 my $mspdir = installer::windows::msp::create_msp_patch($finalinstalldir, $includepatharrayref, $allvariableshashref, $languagestringref, $languagesarrayref, $filesinproductlanguageresolvedarrayref); 2269 ($is_success, $finalinstalldir) = installer::worker::analyze_and_save_logfile($loggingdir, $mspdir, $installlogdir, $allsettingsarrayref, $languagestringref, $current_install_number); 2270 installer::worker::clean_output_tree(); # removing directories created in the output tree 2271 } 2272 | |
2273 ####################################################### 2274 # Creating download installation set 2275 ####################################################### 2276 2277 my $create_download = 0; 2278 my $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "downloadname"); 2279 if ( $installer::globals::languagepack ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "langpackdownloadname"); } 2280 if ( $installer::globals::patch ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "patchdownloadname"); } --- 32 unchanged lines hidden --- | 2237 ####################################################### 2238 # Creating download installation set 2239 ####################################################### 2240 2241 my $create_download = 0; 2242 my $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "downloadname"); 2243 if ( $installer::globals::languagepack ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "langpackdownloadname"); } 2244 if ( $installer::globals::patch ) { $downloadname = installer::ziplist::getinfofromziplist($allsettingsarrayref, "patchdownloadname"); } --- 32 unchanged lines hidden --- |