From 1e96d7d75ab2fd674d80788d7ebd52ce97fb0d17 Mon Sep 17 00:00:00 2001 From: Ingo Schmidt Date: Wed, 26 May 2010 14:44:44 +0200 Subject: native305 #i92977# new Windows INSTALLLOCATION settings --- .../windows/msi_templates/ControlE.idt | 1 - .../windows/msi_templates/CustomAc.idt | 3 - .../windows/msi_templates/InstallE.idt | 3 - .../windows/msi_templates/AdminExe.idt | 3 - .../windows/msi_templates/AppSearc.idt | 12 -- .../windows/msi_templates/CustomAc.idt | 3 - .../windows/msi_templates/InstallE.idt | 3 - .../windows/msi_templates/RegLocat.idt | 6 - .../inc_ure/windows/msi_templates/AdminExe.idt | 1 - .../inc_ure/windows/msi_templates/CustomAc.idt | 1 - .../inc_ure/windows/msi_templates/InstallE.idt | 1 - instsetoo_native/util/makefile.mk | 4 +- instsetoo_native/util/openoffice.lst | 7 - scp2/source/javafilter/registryitem_javafilter.scp | 8 +- scp2/source/ooo/common_brand.scp | 6 +- scp2/source/ooo/ooo_brand.scp | 2 +- scp2/source/ooo/registryitem_ooo.scp | 22 +-- scp2/source/ooo/ure.scp | 2 +- scp2/source/ooo/ure_standalone.scp | 18 +- scp2/source/sdkoo/sdkoo.scp | 10 +- .../winexplorerext/registryitem_winexplorerext.scp | 24 +-- solenv/bin/make_installer.pl | 6 +- solenv/bin/modules/installer/globals.pm | 8 +- solenv/bin/modules/installer/scriptitems.pm | 12 -- solenv/bin/modules/installer/windows/component.pm | 16 +- solenv/bin/modules/installer/windows/directory.pm | 193 ++++++++++----------- solenv/bin/modules/installer/windows/idtglobal.pm | 38 ---- solenv/bin/modules/installer/windows/property.pm | 12 -- solenv/bin/modules/installer/windows/registry.pm | 8 +- solenv/bin/modules/installer/windows/shortcut.pm | 4 +- solenv/bin/modules/installer/worker.pm | 3 +- 31 files changed, 158 insertions(+), 282 deletions(-) mode change 100755 => 100644 scp2/source/winexplorerext/registryitem_winexplorerext.scp diff --git a/instsetoo_native/inc_ooolangpack/windows/msi_templates/ControlE.idt b/instsetoo_native/inc_ooolangpack/windows/msi_templates/ControlE.idt index 3ab09afdb990..dea5e9767a6e 100644 --- a/instsetoo_native/inc_ooolangpack/windows/msi_templates/ControlE.idt +++ b/instsetoo_native/inc_ooolangpack/windows/msi_templates/ControlE.idt @@ -56,7 +56,6 @@ InstallChangeFolder Cancel NewDialog DestinationFolder 1 2 InstallChangeFolder Cancel Reset 0 1 1 InstallChangeFolder OK NewDialog DestinationFolder 1 3 InstallChangeFolder OK SetTargetPath [_BrowseProperty] 1 2 -InstallChangeFolder OK DoAction SetOfficeInstallLocation 1 4 InstallChangeFolder Up DirectoryListUp 0 1 0 InstallWelcome Back NewDialog SplashBitmap Display_IsBitmapDlg 1 InstallWelcome Cancel SpawnDialog CancelSetup 1 0 diff --git a/instsetoo_native/inc_ooolangpack/windows/msi_templates/CustomAc.idt b/instsetoo_native/inc_ooolangpack/windows/msi_templates/CustomAc.idt index d9971918d3f5..7af1c7b26429 100644 --- a/instsetoo_native/inc_ooolangpack/windows/msi_templates/CustomAc.idt +++ b/instsetoo_native/inc_ooolangpack/windows/msi_templates/CustomAc.idt @@ -5,9 +5,6 @@ setAllUsersProfile2K 51 ALLUSERSPROFILE [%ALLUSERSPROFILE] SetAllUsersProfileNT 51 ALLUSERSPROFILE [%SystemRoot]\Profiles\All Users setUserProfileNT 51 USERPROFILE [%USERPROFILE] SetARPInstallLocation 51 ARPINSTALLLOCATION [INSTALLLOCATION] -SetOfficeInstallLocation 51 OFFICEINSTALLLOCATION [OFFICEDIRECTORYGID] -SetBasisInstallLocation 51 BASISINSTALLLOCATION [BASISDIRECTORYGID] -SetUreInstallLocation 51 UREINSTALLLOCATION [UREDIRECTORYGID] NewProductFound 19 OOO_CUSTOMACTION_1 SameProductFound 19 OOO_CUSTOMACTION_2 RunningOffice 19 OOO_CUSTOMACTION_4 diff --git a/instsetoo_native/inc_ooolangpack/windows/msi_templates/InstallE.idt b/instsetoo_native/inc_ooolangpack/windows/msi_templates/InstallE.idt index 5db654cb045c..90ba9c6a6005 100644 --- a/instsetoo_native/inc_ooolangpack/windows/msi_templates/InstallE.idt +++ b/instsetoo_native/inc_ooolangpack/windows/msi_templates/InstallE.idt @@ -56,9 +56,6 @@ ScheduleReboot ISSCHEDULEREBOOT 3125 SelfRegModules 2850 SelfUnregModules 1100 SetARPInstallLocation 990 -SetOfficeInstallLocation Not Installed 575 -SetBasisInstallLocation Not Installed 576 -SetUreInstallLocation Not Installed 577 SetODBCFolders 550 StartServices VersionNT 2800 StopServices VersionNT 950 diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/AdminExe.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/AdminExe.idt index 0be369431d84..ede3f7cb4f42 100644 --- a/instsetoo_native/inc_openoffice/windows/msi_templates/AdminExe.idt +++ b/instsetoo_native/inc_openoffice/windows/msi_templates/AdminExe.idt @@ -11,6 +11,3 @@ InstallFinalize 400 InstallInitialize 250 InstallValidate 200 ScheduleReboot ISSCHEDULEREBOOT 375 -SetOfficeInstallLocation 410 -SetBasisInstallLocation 420 -SetUreInstallLocation 430 diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt index a4a5415fd928..9bb051e56492 100644 --- a/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt +++ b/instsetoo_native/inc_openoffice/windows/msi_templates/AppSearc.idt @@ -1,17 +1,5 @@ Property Signature_ s72 s72 AppSearch Property Signature_ -UREUNINSTALLLOCATION ureuninstalluser -UREUNINSTALLLOCATION ureuninstallmachine -BASISUNINSTALLLOCATION basisuninstalluser -BASISUNINSTALLLOCATION basisuninstallmachine -OFFICEUNINSTALLLOCATION officeuninstalluser -OFFICEUNINSTALLLOCATION officeuninstallmachine -UREINSTALLLOCATION ureuninstalluser -UREINSTALLLOCATION ureuninstallmachine -BASISINSTALLLOCATION basisuninstalluser -BASISINSTALLLOCATION basisuninstallmachine -OFFICEINSTALLLOCATION officeuninstalluser -OFFICEINSTALLLOCATION officeuninstallmachine INSTALLLOCATION installuser INSTALLLOCATION installmachine diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/CustomAc.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/CustomAc.idt index 80514fd1904b..17a47e8e9889 100644 --- a/instsetoo_native/inc_openoffice/windows/msi_templates/CustomAc.idt +++ b/instsetoo_native/inc_openoffice/windows/msi_templates/CustomAc.idt @@ -122,9 +122,6 @@ setAllUsersProfile2K 51 ALLUSERSPROFILE [%ALLUSERSPROFILE] SetAllUsersProfileNT 51 ALLUSERSPROFILE [%SystemRoot]\Profiles\All Users setUserProfileNT 51 USERPROFILE [%USERPROFILE] SetARPInstallLocation 51 ARPINSTALLLOCATION [INSTALLLOCATION] -SetOfficeInstallLocation 51 OFFICEINSTALLLOCATION [OFFICEDIRECTORYGID] -SetBasisInstallLocation 51 BASISINSTALLLOCATION [BASISDIRECTORYGID] -SetUreInstallLocation 51 UREINSTALLLOCATION [UREDIRECTORYGID] NewProductFound 19 OOO_CUSTOMACTION_1 SameProductFound 19 OOO_CUSTOMACTION_2 SetLanguageSelected 51 LANG_SELECTED 1 diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/InstallE.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/InstallE.idt index 11f97a0bb797..defde2299409 100644 --- a/instsetoo_native/inc_openoffice/windows/msi_templates/InstallE.idt +++ b/instsetoo_native/inc_openoffice/windows/msi_templates/InstallE.idt @@ -173,9 +173,6 @@ ScheduleReboot ISSCHEDULEREBOOT 3125 SelfRegModules 2850 SelfUnregModules 1100 SetARPInstallLocation 990 -SetOfficeInstallLocation Not Installed 575 -SetBasisInstallLocation Not Installed 576 -SetUreInstallLocation Not Installed 577 SetODBCFolders 550 StartServices VersionNT 2800 StopServices VersionNT 950 diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/RegLocat.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/RegLocat.idt index 349aa0604ca3..2fb2d2963727 100644 --- a/instsetoo_native/inc_openoffice/windows/msi_templates/RegLocat.idt +++ b/instsetoo_native/inc_openoffice/windows/msi_templates/RegLocat.idt @@ -1,11 +1,5 @@ Signature_ Root Key Name Type s72 i2 s255 S255 I2 RegLocator Signature_ -ureuninstalluser 1 Software\OpenOffice.org\LAYERNAMETEMPLATE\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION] UREINSTALLLOCATION 2 -ureuninstallmachine 2 Software\OpenOffice.org\LAYERNAMETEMPLATE\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION] UREINSTALLLOCATION 2 -basisuninstalluser 1 Software\OpenOffice.org\LAYERNAMETEMPLATE\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION] BASISINSTALLLOCATION 2 -basisuninstallmachine 2 Software\OpenOffice.org\LAYERNAMETEMPLATE\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION] BASISINSTALLLOCATION 2 -officeuninstalluser 1 Software\OpenOffice.org\LAYERNAMETEMPLATE\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION] OFFICEINSTALLLOCATION 2 -officeuninstallmachine 2 Software\OpenOffice.org\LAYERNAMETEMPLATE\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION] OFFICEINSTALLLOCATION 2 installuser 1 Software\OpenOffice.org\LAYERNAMETEMPLATE\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION] INSTALLLOCATION 2 installmachine 2 Software\OpenOffice.org\LAYERNAMETEMPLATE\[DEFINEDPRODUCT]\[BRANDPACKAGEVERSION] INSTALLLOCATION 2 diff --git a/instsetoo_native/inc_ure/windows/msi_templates/AdminExe.idt b/instsetoo_native/inc_ure/windows/msi_templates/AdminExe.idt index b9a99b9fb502..ede3f7cb4f42 100644 --- a/instsetoo_native/inc_ure/windows/msi_templates/AdminExe.idt +++ b/instsetoo_native/inc_ure/windows/msi_templates/AdminExe.idt @@ -11,4 +11,3 @@ InstallFinalize 400 InstallInitialize 250 InstallValidate 200 ScheduleReboot ISSCHEDULEREBOOT 375 -SetUreInstallLocation 430 diff --git a/instsetoo_native/inc_ure/windows/msi_templates/CustomAc.idt b/instsetoo_native/inc_ure/windows/msi_templates/CustomAc.idt index c6607481274c..ed030dc3e17c 100644 --- a/instsetoo_native/inc_ure/windows/msi_templates/CustomAc.idt +++ b/instsetoo_native/inc_ure/windows/msi_templates/CustomAc.idt @@ -6,6 +6,5 @@ setAllUsersProfile2K 51 ALLUSERSPROFILE [%ALLUSERSPROFILE] SetAllUsersProfileNT 51 ALLUSERSPROFILE [%SystemRoot]\Profiles\All Users setUserProfileNT 51 USERPROFILE [%USERPROFILE] SetARPInstallLocation 51 ARPINSTALLLOCATION [INSTALLLOCATION] -SetUreInstallLocation 51 UREINSTALLLOCATION [UREDIRECTORYGID] SameProductFound 19 The same version of this product is already installed. NewProductFound 19 A newer version of [ProductName] was found. To install an older version, the newer version needs to be removed first. diff --git a/instsetoo_native/inc_ure/windows/msi_templates/InstallE.idt b/instsetoo_native/inc_ure/windows/msi_templates/InstallE.idt index 0fbfa4bcf8b6..c1de8e4a19fe 100644 --- a/instsetoo_native/inc_ure/windows/msi_templates/InstallE.idt +++ b/instsetoo_native/inc_ure/windows/msi_templates/InstallE.idt @@ -56,7 +56,6 @@ ScheduleReboot ISSCHEDULEREBOOT 3125 SelfRegModules 2850 SelfUnregModules 1100 SetARPInstallLocation Not Installed 990 -SetUreInstallLocation Not Installed 577 SetODBCFolders 550 StartServices VersionNT 2800 StopServices VersionNT 950 diff --git a/instsetoo_native/util/makefile.mk b/instsetoo_native/util/makefile.mk index b2f014f6ad58..c18f2dad2098 100644 --- a/instsetoo_native/util/makefile.mk +++ b/instsetoo_native/util/makefile.mk @@ -105,7 +105,7 @@ PKGFORMAT+=$(MAKETARGETS:e:s/.//) # Independent of PKGFORMAT, always build a default-language openoffice product # also in archive format, so that tests that require an OOo installation (like # smoketestoo_native) have one available: -openoffice_$(defaultlangiso) : $$@.archive +# openoffice_$(defaultlangiso) : $$@.archive .IF "$(VERBOSE)"=="TRUE" VERBOSESWITCH=-verbose @@ -209,7 +209,7 @@ $(MAKETARGETS){$(PKGFORMAT:^".")} : $(ADDDEPS) .ENDIF # "$(MAKETARGETS:e)"=="" && "$(MAKETARGETS:s/_//)"!="$(MAKETARGETS)" .ENDIF # "$(MAKETARGETS)"!="" openoffice_%{$(PKGFORMAT:^".") .archive} : - $(PERL) -w $(SOLARENV)$/bin$/make_installer.pl -f $(PRJ)$/util$/openoffice.lst -l $(subst,$(@:s/_/ /:1)_, $(@:b)) -p OpenOffice -u $(OUT) -buildid $(BUILD) -msitemplate $(MSIOFFICETEMPLATEDIR) -msilanguage $(COMMONMISC)$/win_ulffiles -format $(@:e:s/.//) $(VERBOSESWITCH) + $(PERL) -w $(SOLARENV)$/bin$/make_installer.pl -f $(PRJ)$/util$/openoffice.lst -l $(subst,$(@:s/_/ /:1)_, $(@:b)) -p OpenOffice -u $(OUT) -buildid $(BUILD) -msitemplate $(MSIOFFICETEMPLATEDIR) -msilanguage $(COMMONMISC)$/win_ulffiles -format $(@:e:s/.//) $(VERBOSESWITCH) -log $(PERL) -w $(SOLARENV)$/bin$/gen_update_info.pl --buildid $(BUILD) --arch "$(RTL_ARCH)" --os "$(RTL_OS)" --lstfile $(PRJ)$/util$/openoffice.lst --product OpenOffice --languages $(subst,$(@:s/_/ /:1)_, $(@:b)) $(PRJ)$/util$/update.xml > $(MISC)/$(@:b)_$(RTL_OS)_$(RTL_ARCH)$(@:e).update.xml $(foreach,i,$(alllangiso) openofficewithjre_$i) : $$@{$(PKGFORMAT:^".")} diff --git a/instsetoo_native/util/openoffice.lst b/instsetoo_native/util/openoffice.lst index 5ce50111d519..4715beabcc27 100644 --- a/instsetoo_native/util/openoffice.lst +++ b/instsetoo_native/util/openoffice.lst @@ -82,7 +82,6 @@ OpenOffice OPENSOURCE 1 SETSTATICPATH 1 OOODOWNLOADNAME 1 - PROGRAMFILESROOT 1 XPDINSTALLER 0 BETAUPGRADECODE STUBUPGRADECODE {0E7B27B8-D658-4BF9-98D6-EC361582EB4A} @@ -148,7 +147,6 @@ OpenOffice_wJRE OPENSOURCE 1 SETSTATICPATH 1 OOODOWNLOADNAME 1 - PROGRAMFILESROOT 1 XPDINSTALLER 1 BETAUPGRADECODE STUBUPGRADECODE {0E7B27B8-D658-4BF9-98D6-EC361582EB4A} @@ -220,7 +218,6 @@ OpenOffice_Dev OPENSOURCE 1 SETSTATICPATH 1 OOODOWNLOADNAME 1 - PROGRAMFILESROOT 1 XPDINSTALLER 1 BETAUPGRADECODE STUBUPGRADECODE {0E7B27B8-D658-4BF9-98D6-EC361582EB4A} @@ -270,7 +267,6 @@ URE SERVICESPROJEKT 1 SETSTATICPATH 1 NOVERSIONINDIRNAME 1 - PROGRAMFILESROOT 1 PCPFILENAME ure.pcp POOLPRODUCT 0 GLOBALFILEGID gid_File_Dl_Cppu @@ -429,7 +425,6 @@ BrOffice SPELLCHECKERFILE spellchecker_selection.txt OPENSOURCE 1 OOODOWNLOADNAME 1 - PROGRAMFILESROOT 1 XPDINSTALLER 0 BETAUPGRADECODE STUBUPGRADECODE {0E7B27B8-D658-4BF9-98D6-EC361582EB4A} @@ -500,7 +495,6 @@ BrOffice_wJRE SPELLCHECKERFILE spellchecker_selection.txt OPENSOURCE 1 OOODOWNLOADNAME 1 - PROGRAMFILESROOT 1 XPDINSTALLER 1 BETAUPGRADECODE STUBUPGRADECODE {0E7B27B8-D658-4BF9-98D6-EC361582EB4A} @@ -572,7 +566,6 @@ BrOffice_Dev SPELLCHECKERFILE spellchecker_selection.txt OPENSOURCE 1 OOODOWNLOADNAME 1 - PROGRAMFILESROOT 1 XPDINSTALLER 1 BETAUPGRADECODE STUBUPGRADECODE {0E7B27B8-D658-4BF9-98D6-EC361582EB4A} diff --git a/scp2/source/javafilter/registryitem_javafilter.scp b/scp2/source/javafilter/registryitem_javafilter.scp index 593c6177edad..1340d637e009 100644 --- a/scp2/source/javafilter/registryitem_javafilter.scp +++ b/scp2/source/javafilter/registryitem_javafilter.scp @@ -46,7 +46,7 @@ RegistryItem gid_Regitem_Clsid__43887c67_4d5d_4127_Baac_87a288494c7c__Inprocserv ParentID = PREDEFINED_HKEY_CLASSES_ROOT; Subkey = "CLSID\{43887C67-4D5D-4127-BAAC-87A288494C7C}\InProcServer32"; ModuleID = gid_Module_Optional_Javafilter_Pocketpc_Pocket_Excel; - Value = "[BASISINSTALLLOCATION]program\xmergesync.dll"; + Value = "[INSTALLLOCATION]Basis\program\xmergesync.dll"; End RegistryItem gid_Regitem_Clsid__43887c67_4d5d_4127_Baac_87a288494c7c__Inprocserver32_Threadingmodel @@ -106,7 +106,7 @@ RegistryItem gid_Regitem_Clsid__Bdd611c3_7bab_460f_8711_5b9ac9ef6020__Inprocserv ParentID = PREDEFINED_HKEY_CLASSES_ROOT; Subkey = "CLSID\{BDD611C3-7BAB-460F-8711-5B9AC9EF6020}\InProcServer32"; ModuleID = gid_Module_Optional_Javafilter_Pocketpc_Pocket_Word; - Value = "[BASISINSTALLLOCATION]program\xmergesync.dll"; + Value = "[INSTALLLOCATION]Basis\program\xmergesync.dll"; End RegistryItem gid_Regitem_Clsid__Bdd611c3_7bab_460f_8711_5b9ac9ef6020__Inprocserver32_Threadingmodel @@ -166,7 +166,7 @@ RegistryItem gid_Regitem_Clsid__C6ab3e74_9f4f_4370_8120_A8a6fabb7a7c__Inprocserv ParentID = PREDEFINED_HKEY_CLASSES_ROOT; Subkey = "CLSID\{C6AB3E74-9F4F-4370-8120-A8A6FABB7A7C}\InProcServer32"; ModuleID = gid_Module_Optional_Javafilter_Pocketpc_Pocket_Excel; - Value = "[BASISINSTALLLOCATION]program\xmergesync.dll"; + Value = "[INSTALLLOCATION]Basis\program\xmergesync.dll"; End RegistryItem gid_Regitem_Clsid__C6ab3e74_9f4f_4370_8120_A8a6fabb7a7c__Inprocserver32_Threadingmodel @@ -226,7 +226,7 @@ RegistryItem gid_Regitem_Clsid__Cb43f086_838d_4fa4_B5f6_3406b9a57439__Inprocserv ParentID = PREDEFINED_HKEY_CLASSES_ROOT; Subkey = "CLSID\{CB43F086-838D-4FA4-B5F6-3406B9A57439}\InProcServer32"; ModuleID = gid_Module_Optional_Javafilter_Pocketpc_Pocket_Word; - Value = "[BASISINSTALLLOCATION]program\xmergesync.dll"; + Value = "[INSTALLLOCATION]Basis\program\xmergesync.dll"; End RegistryItem gid_Regitem_Clsid__Cb43f086_838d_4fa4_B5f6_3406b9a57439__Inprocserver32_Threadingmodel diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp index b2023aabecd7..6558dd1a55ff 100644 --- a/scp2/source/ooo/common_brand.scp +++ b/scp2/source/ooo/common_brand.scp @@ -1190,7 +1190,7 @@ ProfileItem gid_Brand_Profileitem_Setup_Ureinstall Section = "Bootstrap"; Order = 4; Key = "UREINSTALLLOCATION"; - Value = "[UREINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]URE\\"; Inifiletablekey = "UreInstallLocation"; Inifiletableaction = "1"; Styles = (INIFILETABLE); @@ -1204,7 +1204,7 @@ ProfileItem gid_Brand_Profileitem_Setup_Basisinstall Section = "Bootstrap"; Order = 4; Key = "BASISINSTALLLOCATION"; - Value = "[BASISINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]Basis\\"; Inifiletablekey = "BasisInstallLocation"; Inifiletableaction = "1"; Styles = (INIFILETABLE); @@ -1218,7 +1218,7 @@ ProfileItem gid_Brand_Profileitem_Setup_Officeinstall Section = "Bootstrap"; Order = 4; Key = "OFFICEINSTALLLOCATION"; - Value = "[OFFICEINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]"; Inifiletablekey = "OfficeInstallLocation"; Inifiletableaction = "1"; Styles = (INIFILETABLE); diff --git a/scp2/source/ooo/ooo_brand.scp b/scp2/source/ooo/ooo_brand.scp index 7021f02efc4a..3cd20ef97142 100644 --- a/scp2/source/ooo/ooo_brand.scp +++ b/scp2/source/ooo/ooo_brand.scp @@ -35,7 +35,7 @@ Directory gid_Dir_Brand_Root #else HostName = "${UNIXPRODUCTNAME}${BRANDPACKAGEVERSION}"; #endif - Styles = (OFFICEDIRECTORY); + Styles = (OFFICEDIRECTORY,ISINSTALLLOCATION); End #endif diff --git a/scp2/source/ooo/registryitem_ooo.scp b/scp2/source/ooo/registryitem_ooo.scp index 47a053f225cd..59ef1673d727 100644 --- a/scp2/source/ooo/registryitem_ooo.scp +++ b/scp2/source/ooo/registryitem_ooo.scp @@ -289,7 +289,7 @@ RegistryItem gid_Regitem_Software_Manufacturer_Productname_Productversion_Produc Subkey = "Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\%PRODUCTCODE"; ModuleID = gid_Module_Root; Name = "OFFICEINSTALLLOCATION"; - Value = "[OFFICEINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]"; Styles = (LANGUAGEPACK,ALWAYS_REQUIRED,UPGRADEKEY); End @@ -307,7 +307,7 @@ RegistryItem gid_Regitem_Software_Manufacturer_Productname_Productversion_Upgrad Subkey = "Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\%UPGRADECODE"; ModuleID = gid_Module_Root; Name = "OFFICEINSTALLLOCATION"; - Value = "[OFFICEINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]"; Styles = (LANGUAGEPACK,ALWAYS_REQUIRED); End @@ -325,7 +325,7 @@ RegistryItem gid_Regitem_Software_OpenOfficeorg_Ooobaseversion_Officeinstall Subkey = "Software\OpenOffice.org\${REGISTRYLAYERNAME}\%PRODUCTNAME\%BRANDPACKAGEVERSION"; ModuleID = gid_Module_Root; Name = "OFFICEINSTALLLOCATION"; - Value = "[OFFICEINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]"; Styles = (ALWAYS_REQUIRED); End @@ -334,7 +334,7 @@ RegistryItem gid_Regitem_Software_Manufacturer_Productname_Productversion_Produc Subkey = "Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\%PRODUCTCODE"; ModuleID = gid_Module_Root; Name = "BASISINSTALLLOCATION"; - Value = "[BASISINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]Basis\\"; Styles = (LANGUAGEPACK,ALWAYS_REQUIRED); End @@ -343,7 +343,7 @@ RegistryItem gid_Regitem_Software_Manufacturer_Productname_Productversion_Upgrad Subkey = "Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\%UPGRADECODE"; ModuleID = gid_Module_Root; Name = "BASISINSTALLLOCATION"; - Value = "[BASISINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]Basis\\"; Styles = (LANGUAGEPACK,ALWAYS_REQUIRED); End @@ -352,7 +352,7 @@ RegistryItem gid_Regitem_Software_OpenOfficeorg_Ooobaseversion_Basisinstall Subkey = "Software\OpenOffice.org\${REGISTRYLAYERNAME}\Basis\%OOOBASEVERSION"; ModuleID = gid_Module_Root; Name = "BASISINSTALLLOCATION"; - Value = "[BASISINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]Basis\\"; Styles = (ALWAYS_REQUIRED,LAYER_REGISTRY,USE_OOOBASEVERSION); End @@ -361,7 +361,7 @@ RegistryItem gid_Regitem_Software_OpenOfficeorg_Ooobaseversion_Layer_Basisinstal Subkey = "Software\OpenOffice.org\${REGISTRYLAYERNAME}\%PRODUCTNAME\%BRANDPACKAGEVERSION"; ModuleID = gid_Module_Root; Name = "BASISINSTALLLOCATION"; - Value = "[BASISINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]Basis\\"; Styles = (ALWAYS_REQUIRED); End @@ -370,7 +370,7 @@ RegistryItem gid_Regitem_Software_Manufacturer_Productname_Productversion_Produc Subkey = "Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\%PRODUCTCODE"; ModuleID = gid_Module_Root; Name = "UREINSTALLLOCATION"; - Value = "[UREINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]URE\\"; Styles = (LANGUAGEPACK,ALWAYS_REQUIRED); End @@ -379,7 +379,7 @@ RegistryItem gid_Regitem_Software_Manufacturer_Productname_Productversion_Upgrad Subkey = "Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\%UPGRADECODE"; ModuleID = gid_Module_Root; Name = "UREINSTALLLOCATION"; - Value = "[UREINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]URE\\"; Styles = (LANGUAGEPACK,ALWAYS_REQUIRED); End @@ -388,7 +388,7 @@ RegistryItem gid_Regitem_Software_OpenOfficeorg_Ooobaseversion_Ureinstall Subkey = "Software\OpenOffice.org\${REGISTRYLAYERNAME}\URE\%URELAYERVERSION"; ModuleID = gid_Module_Root; Name = "UREINSTALLLOCATION"; - Value = "[UREINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]URE\\"; Styles = (ALWAYS_REQUIRED,LAYER_REGISTRY,USE_URELAYERVERSION); End @@ -397,7 +397,7 @@ RegistryItem gid_Regitem_Software_OpenOfficeorg_Ooobaseversion_Layer_Ureinstall Subkey = "Software\OpenOffice.org\${REGISTRYLAYERNAME}\%PRODUCTNAME\%BRANDPACKAGEVERSION"; ModuleID = gid_Module_Root; Name = "UREINSTALLLOCATION"; - Value = "[UREINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]URE\\"; Styles = (ALWAYS_REQUIRED); End diff --git a/scp2/source/ooo/ure.scp b/scp2/source/ooo/ure.scp index ca7a7222b074..ea0492235e91 100755 --- a/scp2/source/ooo/ure.scp +++ b/scp2/source/ooo/ure.scp @@ -1263,5 +1263,5 @@ RegistryItem gid_Regitem_Path ParentID = PREDEFINED_HKEY_CLASSES_ROOT; Subkey = "Software\OpenOffice.org\%PRODUCTNAME"; Name = "Path"; - Value = "[UREINSTALLLOCATION]"; + Value = "[INSTALLLOCATION]"; End diff --git a/scp2/source/ooo/ure_standalone.scp b/scp2/source/ooo/ure_standalone.scp index caa78335e509..5fad8fadcbba 100755 --- a/scp2/source/ooo/ure_standalone.scp +++ b/scp2/source/ooo/ure_standalone.scp @@ -46,6 +46,7 @@ Directory gid_Dir_Ooo_Openofficeorg #else HostName = "openoffice.org"; #endif + Styles = (ISINSTALLLOCATION); End Directory gid_Dir_Common_Ure @@ -105,21 +106,4 @@ RegistryItem gid_Regitem_Ure_Software_Manufacturer_Productname_Productversion_Up Styles = (ALWAYS_REQUIRED); End -RegistryItem gid_Regitem_Ure_Software_Manufacturer_Productname_Productversion_Productcode_Ureinstall - ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; - Subkey = "Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\%PRODUCTCODE"; - ModuleID = gid_Module_Root; - Name = "UREINSTALLLOCATION"; - Value = "[UREINSTALLLOCATION]"; - Styles = (ALWAYS_REQUIRED); -End - -RegistryItem gid_Regitem_Ure_Software_Manufacturer_Productname_Productversion_Upgradecode_Ureinstall - ParentID = PREDEFINED_HKEY_LOCAL_MACHINE; - Subkey = "Software\%MANUFACTURER\%PRODUCTNAME%PRODUCTADDON\%PRODUCTVERSION\%UPGRADECODE"; - ModuleID = gid_Module_Root; - Name = "UREINSTALLLOCATION"; - Value = "[UREINSTALLLOCATION]"; - Styles = (ALWAYS_REQUIRED); -End diff --git a/scp2/source/sdkoo/sdkoo.scp b/scp2/source/sdkoo/sdkoo.scp index 9794fa06719e..d47e14d0a63a 100644 --- a/scp2/source/sdkoo/sdkoo.scp +++ b/scp2/source/sdkoo/sdkoo.scp @@ -46,6 +46,14 @@ End #ifndef MACOSX +#ifdef WNT +Directory gid_Dir_Sdkoo_Root + ParentID = PREDEFINED_PROGDIR; + HostName = "${PRODUCTNAME}_${PRODUCTVERSION}_${POSTVERSIONEXTENSION}"; + Styles = (OFFICEDIRECTORY, ISINSTALLLOCATION); +End +#endif + #ifndef WNT Directory gid_Dir_Ooo_Openofficeorg_Sdk ParentID = PREDEFINED_PROGDIR; @@ -77,7 +85,7 @@ Directory gid_Dir_Basis_Sdk DosName = "OpenOffice.org${OOOBASEVERSION}_SDK"; #else #if defined WNT - ParentID = PREDEFINED_PROGDIR; + ParentID = gid_Dir_Sdkoo_Root; #else ParentID = gid_Dir_Ooo_Basis_Sdk; #endif diff --git a/scp2/source/winexplorerext/registryitem_winexplorerext.scp b/scp2/source/winexplorerext/registryitem_winexplorerext.scp old mode 100755 new mode 100644 index 7c932bac1f28..62911d24fd0e --- a/scp2/source/winexplorerext/registryitem_winexplorerext.scp +++ b/scp2/source/winexplorerext/registryitem_winexplorerext.scp @@ -35,8 +35,8 @@ RegistryItem gid_Regitem_Clsid_087B3AE3_E237_4467_B8DB_5A38AB959AC9_InProcServer ModuleID = gid_Module_Optional_Winexplorerext; Styles = (X64); Subkey = "CLSID\{087B3AE3-E237-4467-B8DB-5A38AB959AC9}\InprocServer32"; - Value = "[BASISINSTALLLOCATION]program\shlxthdl\shlxthdl.dll"; - Val64 = "[BASISINSTALLLOCATION]program\shlxthdl\shlxthdl_x64.dll"; + Value = "[INSTALLLOCATION]Basis\program\shlxthdl\shlxthdl.dll"; + Val64 = "[INSTALLLOCATION]Basis\program\shlxthdl\shlxthdl_x64.dll"; End RegistryItem gid_Regitem_Clsid_087B3AE3_E237_4467_B8DB_5A38AB959AC9_InProcServer32_ThreadingModel @@ -58,8 +58,8 @@ RegistryItem gid_Regitem_Clsid_3B092F0C_7696_40E3_A80F_68D74DA84210_InProcServer ModuleID = gid_Module_Optional_Winexplorerext; Styles = (X64); Subkey = "CLSID\{3B092F0C-7696-40E3-A80F-68D74DA84210}\InprocServer32"; - Value = "[BASISINSTALLLOCATION]program\shlxthdl\shlxthdl.dll"; - Val64 = "[BASISINSTALLLOCATION]program\shlxthdl\shlxthdl_x64.dll"; + Value = "[INSTALLLOCATION]Basis\program\shlxthdl\shlxthdl.dll"; + Val64 = "[INSTALLLOCATION]Basis\program\shlxthdl\shlxthdl_x64.dll"; End RegistryItem gid_Regitem_Clsid_3B092F0C_7696_40E3_A80F_68D74DA84210_InProcServer32_ThreadingModel @@ -90,8 +90,8 @@ RegistryItem gid_Regitem_Clsid_C52AF81D_F7A0_4AAB_8E87_F80A60CCD396_InProcServer ModuleID = gid_Module_Optional_Winexplorerext; Styles = (X64); Subkey = "CLSID\{C52AF81D-F7A0-4AAB-8E87-F80A60CCD396}\InprocServer32"; - Value = "[BASISINSTALLLOCATION]program\shlxthdl\shlxthdl.dll"; - Val64 = "[BASISINSTALLLOCATION]program\shlxthdl\shlxthdl_x64.dll"; + Value = "[INSTALLLOCATION]Basis\program\shlxthdl\shlxthdl.dll"; + Val64 = "[INSTALLLOCATION]Basis\program\shlxthdl\shlxthdl_x64.dll"; End RegistryItem gid_Regitem_Clsid_C52AF81D_F7A0_4AAB_8E87_F80A60CCD396_InProcServer32_ThreadingModel @@ -124,8 +124,8 @@ RegistryItem gid_Regitem_Clsid_7BC0E710_5703_45BE_A29D_5D46D8B39262_InProcServer ModuleID = gid_Module_Root; Subkey = "CLSID\{7BC0E710-5703-45BE-A29D-5D46D8B39262}\InprocServer32"; Styles = (X64); // Values: X64 / X64_ONLY - Value = "[BASISINSTALLLOCATION]program\shlxthdl\ooofilt.dll"; - Val64 = "[BASISINSTALLLOCATION]program\shlxthdl\ooofilt_x64.dll"; + Value = "[INSTALLLOCATION]Basis\program\shlxthdl\ooofilt.dll"; + Val64 = "[INSTALLLOCATION]Basis\program\shlxthdl\ooofilt_x64.dll"; End RegistryItem gid_Regitem_Clsid_7BC0E710_5703_45BE_A29D_5D46D8B39262_InProcServer32_ThreadingModel @@ -167,8 +167,8 @@ RegistryItem gid_Regitem_Clsid_63542C48_9552_494A_84F7_73AA6A7C99C1_InProcServer ModuleID = gid_Module_Optional_Winexplorerext; Styles = (X64); Subkey = "CLSID\{63542C48-9552-494A-84F7-73AA6A7C99C1}\InprocServer32"; - Value = "[BASISINSTALLLOCATION]program\shlxthdl\shlxthdl.dll"; - Val64 = "[BASISINSTALLLOCATION]program\shlxthdl\shlxthdl_x64.dll"; + Value = "[INSTALLLOCATION]Basis\program\shlxthdl\shlxthdl.dll"; + Val64 = "[INSTALLLOCATION]Basis\program\shlxthdl\shlxthdl_x64.dll"; End RegistryItem gid_Regitem_Clsid_63542C48_9552_494A_84F7_73AA6A7C99C1_InProcServer32_ThreadingModel @@ -201,8 +201,8 @@ RegistryItem gid_Regitem_Clsid_AE424E85_F6DF_4910_A6A9_438797986431_InProcServer ComponentCondition = "VersionNT >= 600"; Styles = (X64); Subkey = "CLSID\{AE424E85-F6DF-4910-A6A9-438797986431}\InprocServer32"; - Value = "[BASISINSTALLLOCATION]program\shlxthdl\propertyhdl.dll"; - Val64 = "[BASISINSTALLLOCATION]program\shlxthdl\propertyhdl_x64.dll"; + Value = "[INSTALLLOCATION]Basis\program\shlxthdl\propertyhdl.dll"; + Val64 = "[INSTALLLOCATION]Basis\program\shlxthdl\propertyhdl_x64.dll"; End RegistryItem gid_Regitem_Clsid_AE424E85_F6DF_4910_A6A9_438797986431_InProcServer32_ThreadingModel diff --git a/solenv/bin/make_installer.pl b/solenv/bin/make_installer.pl index 197f985bbf83..e844be9d5736 100644 --- a/solenv/bin/make_installer.pl +++ b/solenv/bin/make_installer.pl @@ -1982,7 +1982,7 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ ) if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles17c.log", $filesinproductlanguageresolvedarrayref); } if ( $installer::globals::updatedatabase ) { installer::windows::file::check_file_sequences($allupdatefileorder, $allupdatecomponentorder); } - installer::windows::directory::create_directory_table($directoriesforepmarrayref, $newidtdir, $allvariableshashref, $shortdirname); + installer::windows::directory::create_directory_table($directoriesforepmarrayref, $newidtdir, $allvariableshashref, $shortdirname, $loggingdir); if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "productfiles18.log", $filesinproductlanguageresolvedarrayref); } if ( $installer::globals::globallogging ) { installer::files::save_array_of_hashes($loggingdir . "directoriesforidt1.log", $directoriesforepmarrayref); } @@ -2143,10 +2143,6 @@ for ( my $n = 0; $n <= $#installer::globals::languageproducts; $n++ ) push(@installer::globals::logfileinfo, $infoline); } - # include office directory in CustomAction table - - installer::windows::idtglobal::add_officedir_to_database($languageidtdir, $allvariableshashref); - # include a component into environment table if required installer::windows::component::set_component_in_environment_table($languageidtdir, $filesinproductlanguageresolvedarrayref); diff --git a/solenv/bin/modules/installer/globals.pm b/solenv/bin/modules/installer/globals.pm index 564df06e79e2..1b71bd33ecd2 100644 --- a/solenv/bin/modules/installer/globals.pm +++ b/solenv/bin/modules/installer/globals.pm @@ -378,6 +378,8 @@ BEGIN %spellcheckerfilehash = (); $registryrootcomponent = ""; + $installlocationdirectory = ""; + $installlocationdirectoryset = 0; $officeinstalldirectory = ""; $officeinstalldirectoryset = 0; $basisinstalldirectory = ""; @@ -396,9 +398,9 @@ BEGIN $sundirgid = ""; %sign_extensions = ("dll" => "1", "exe" => "1", "cab" => "1"); - %treestyles = ("UREDIRECTORY" => "INSTALLURE", "BASISDIRECTORY" => "INSTALLBASIS", "OFFICEDIRECTORY" => "INSTALLOFFICE"); - %installlocations = ("INSTALLLOCATION" => "1", "BASISINSTALLLOCATION" => "1", "OFFICEINSTALLLOCATION" => "1", "UREINSTALLLOCATION" => "1"); - %treelayername = ("UREDIRECTORY" => "URE", "BASISDIRECTORY" => "BASIS", "OFFICEDIRECTORY" => "BRAND"); + %treestyles = (); + %installlocations = ("INSTALLLOCATION" => "1"); + %treelayername = (); %hostnametreestyles = (); %treeconditions = (); %usedtreeconditions = (); diff --git a/solenv/bin/modules/installer/scriptitems.pm b/solenv/bin/modules/installer/scriptitems.pm index ecda4f9a4e0b..0b60f5e6240b 100644 --- a/solenv/bin/modules/installer/scriptitems.pm +++ b/solenv/bin/modules/installer/scriptitems.pm @@ -541,18 +541,6 @@ sub set_global_directory_hostnames $installer::globals::officedirgid = $onedir->{'gid'}; $allvariables->{'OFFICEDIRECTORYHOSTNAME'} = $installer::globals::officedirhostname; } - if ( $styles =~ /\bBASISDIRECTORY\b/ ) - { - $installer::globals::basisdirhostname = $onedir->{'HostName'}; - $installer::globals::basisdirgid = $onedir->{'gid'}; - $allvariables->{'BASISDIRECTORYHOSTNAME'} = $installer::globals::basisdirhostname; - } - if ( $styles =~ /\bUREDIRECTORY\b/ ) - { - $installer::globals::uredirhostname = $onedir->{'HostName'}; - $installer::globals::uredirgid = $onedir->{'gid'}; - $allvariables->{'UREDIRECTORYHOSTNAME'} = $installer::globals::uredirhostname; - } if ( $styles =~ /\bSUNDIRECTORY\b/ ) { $installer::globals::sundirhostname = $onedir->{'HostName'}; diff --git a/solenv/bin/modules/installer/windows/component.pm b/solenv/bin/modules/installer/windows/component.pm index 125c8607f249..38989858a4b6 100644 --- a/solenv/bin/modules/installer/windows/component.pm +++ b/solenv/bin/modules/installer/windows/component.pm @@ -162,6 +162,11 @@ sub get_file_component_directory } $uniquedir = $onedir->{'uniquename'}; + + if ( $uniquedir eq $installer::globals::officeinstalldirectory ) + { + $uniquedir = "INSTALLLOCATION"; + } } $onefile->{'uniquedirname'} = $uniquedir; # saving it in the file collection @@ -176,16 +181,7 @@ sub get_file_component_directory sub get_registry_component_directory { - my $componentdir = ""; - - if ( $installer::globals::officeinstalldirectoryset ) - { - $componentdir = $installer::globals::officeinstalldirectory; - } - else - { - $componentdir = "INSTALLLOCATION"; - } + my $componentdir = "INSTALLLOCATION"; return $componentdir; } diff --git a/solenv/bin/modules/installer/windows/directory.pm b/solenv/bin/modules/installer/windows/directory.pm index 2a9463f508a1..6dde28120a44 100644 --- a/solenv/bin/modules/installer/windows/directory.pm +++ b/solenv/bin/modules/installer/windows/directory.pm @@ -110,7 +110,7 @@ sub create_unique_directorynames } else { - $uniqueparentname = "INSTALLLOCATION"; + $uniqueparentname = $installer::globals::programfilesfolder; } if ( $styles =~ /\bPROGRAMFILESFOLDER\b/ ) { $uniqueparentname = $installer::globals::programfilesfolder; } @@ -130,29 +130,50 @@ sub create_unique_directorynames $onedir->{'uniquename'} = $uniquename; $onedir->{'uniqueparentname'} = $uniqueparentname; - # setting the office installation directory - if ( $styles =~ /\bOFFICEDIRECTORY\b/ ) + # setting the installlocation directory + if ( $styles =~ /\bISINSTALLLOCATION\b/ ) { - if ( $installer::globals::officeinstalldirectoryset ) { installer::exiter::exit_program("ERROR: Directory with flag OFFICEDIRECTORY alread set: \"$installer::globals::officeinstalldirectory\".", "create_unique_directorynames"); } - $installer::globals::officeinstalldirectory = $uniquename; - $installer::globals::officeinstalldirectoryset = 1; - if ( $installer::globals::officeinstalldirectory =~ /sun_/i ) { $installer::globals::sundirexists = 1; } + if ( $installer::globals::installlocationdirectoryset ) { installer::exiter::exit_program("ERROR: Directory with flag ISINSTALLLOCATION alread set: \"$installer::globals::installlocationdirectory\".", "create_unique_directorynames"); } + $installer::globals::installlocationdirectory = $uniquename; + $installer::globals::installlocationdirectoryset = 1; + if ( $installer::globals::installlocationdirectory =~ /oracle_/i ) { $installer::globals::sundirexists = 1; } } + } +} + +##################################################### +# The directory with the style ISINSTALLLOCATION +# will be replaced by INSTALLLOCATION +##################################################### + +sub set_installlocation_directory +{ + my ( $directoryref ) = @_; + + if ( ! $installer::globals::installlocationdirectoryset ) { installer::exiter::exit_program("ERROR: Directory with flag ISINSTALLLOCATION not set!", "set_installlocation_directory"); } - # setting the bais installation directory - if ( $styles =~ /\bBASISDIRECTORY\b/ ) + for ( my $i = 0; $i <= $#{$directoryref}; $i++ ) + { + my $onedir = ${$directoryref}[$i]; + + if ( $onedir->{'uniquename'} eq $installer::globals::installlocationdirectory ) { - if ( $installer::globals::basisinstalldirectoryset ) { installer::exiter::exit_program("ERROR: Directory with flag BASISDIRECTORY alread set: \"$installer::globals::basisinstalldirectory\".", "create_unique_directorynames"); } - $installer::globals::basisinstalldirectory = $uniquename; - $installer::globals::basisinstalldirectoryset = 1; + $onedir->{'uniquename'} = "INSTALLLOCATION"; + + if (($installer::globals::addchildprojects) || + ($installer::globals::patch) || + ($installer::globals::languagepack) || + ($allvariableshashref->{'CHANGETARGETDIR'})) + { + + my $sourcediraddon = "\:\."; + $onedir->{'defaultdir'} = $onedir->{'defaultdir'} . $sourcediraddon; + } } - # setting the ure installation directory - if ( $styles =~ /\bUREDIRECTORY\b/ ) + if ( $onedir->{'uniqueparentname'} eq $installer::globals::installlocationdirectory ) { - if ( $installer::globals::ureinstalldirectoryset ) { installer::exiter::exit_program("ERROR: Directory with flag UREDIRECTORY alread set: \"$installer::globals::ureinstalldirectory\".", "create_unique_directorynames"); } - $installer::globals::ureinstalldirectory = $uniquename; - $installer::globals::ureinstalldirectoryset = 1; + $onedir->{'uniqueparentname'} = "INSTALLLOCATION"; } } } @@ -266,27 +287,19 @@ sub add_root_directories { my ($directorytableref, $allvariableshashref) = @_; - my $oneline = "TARGETDIR\t\tSourceDir\n"; - push(@{$directorytableref}, $oneline); +# my $sourcediraddon = ""; +# if (($installer::globals::addchildprojects) || +# ($installer::globals::patch) || +# ($installer::globals::languagepack) || +# ($allvariableshashref->{'CHANGETARGETDIR'})) +# { +# $sourcediraddon = "\:\."; +# } - my $sourcediraddon = ""; - if (($installer::globals::addchildprojects) || - ($installer::globals::patch) || - ($installer::globals::languagepack) || - ($allvariableshashref->{'CHANGETARGETDIR'})) - { - $sourcediraddon = "\:\."; - } + my $oneline = ""; - if (!($installer::globals::product =~ /ada/i )) # the following directories not for ada products + if (( ! $installer::globals::patch ) && ( ! $installer::globals::languagepack ) && ( ! $allvariableshashref->{'DONTUSESTARTMENUFOLDER'} )) { - $oneline = "$installer::globals::programfilesfolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); - - # my $manufacturer = $installer::globals::manufacturer; - # my $shortmanufacturer = installer::windows::idtglobal::make_eight_three_conform($manufacturer, "dir"); # third parameter not used - # $shortmanufacturer =~ s/\s/\_/g; # changing empty space to underline - my $productname = $allvariableshashref->{'PRODUCTNAME'}; my $productversion = $allvariableshashref->{'PRODUCTVERSION'}; my $baseproductversion = $productversion; @@ -318,83 +331,63 @@ sub add_root_directories my $shortproductkey = installer::windows::idtglobal::make_eight_three_conform($productkey, "dir"); # third parameter not used $shortproductkey =~ s/\s/\_/g; # changing empty space to underline - if ( $allvariableshashref->{'SUNDIR'} ) - { - if ( $allvariableshashref->{'SUNDIRNAME'} ) { $installer::globals::sundirname = $allvariableshashref->{'SUNDIRNAME'}; } - $oneline = "sundirectory\t$installer::globals::programfilesfolder\t$installer::globals::sundirname$sourcediraddon\n"; - push(@{$directorytableref}, $oneline); - - $oneline = "INSTALLLOCATION\tsundirectory\t$shortproductkey|$productkey$sourcediraddon\n"; - push(@{$directorytableref}, $oneline); - } - else - { - if ( $allvariableshashref->{'PROGRAMFILESROOT'} ) - { - $oneline = "INSTALLLOCATION\t$installer::globals::programfilesfolder\t.\n"; - } - else - { - $oneline = "INSTALLLOCATION\t$installer::globals::programfilesfolder\t$shortproductkey|$productkey$sourcediraddon\n"; - } - - push(@{$directorytableref}, $oneline); - } - - $oneline = "$installer::globals::programmenufolder\tTARGETDIR\t.\n"; + $oneline = "$installer::globals::officemenufolder\t$installer::globals::programmenufolder\t$shortproductkey|$realproductkey\n"; push(@{$directorytableref}, $oneline); + } - if (( ! $installer::globals::patch ) && ( ! $installer::globals::languagepack ) && ( ! $allvariableshashref->{'DONTUSESTARTMENUFOLDER'} )) - { - $oneline = "$installer::globals::officemenufolder\t$installer::globals::programmenufolder\t$shortproductkey|$realproductkey\n"; - push(@{$directorytableref}, $oneline); - } + $oneline = "TARGETDIR\t\tSourceDir\n"; + push(@{$directorytableref}, $oneline); - $oneline = "$installer::globals::startupfolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); + $oneline = "$installer::globals::programfilesfolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - $oneline = "$installer::globals::desktopfolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); + $oneline = "$installer::globals::programmenufolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - $oneline = "$installer::globals::startmenufolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); + $oneline = "$installer::globals::startupfolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - $oneline = "$installer::globals::commonfilesfolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); + $oneline = "$installer::globals::desktopfolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - $oneline = "$installer::globals::commonappdatafolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); + $oneline = "$installer::globals::startmenufolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - $oneline = "$installer::globals::localappdatafolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); + $oneline = "$installer::globals::commonfilesfolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - if ( $installer::globals::usesharepointpath ) - { - $oneline = "SHAREPOINTPATH\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); - } + $oneline = "$installer::globals::commonappdatafolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - $oneline = "$installer::globals::systemfolder\tTARGETDIR\t.\n"; - push(@{$directorytableref}, $oneline); + $oneline = "$installer::globals::localappdatafolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - my $localtemplatefoldername = $installer::globals::templatefoldername; - my $directorytableentry = $localtemplatefoldername; - my $shorttemplatefoldername = installer::windows::idtglobal::make_eight_three_conform($localtemplatefoldername, "dir"); - if ( $shorttemplatefoldername ne $localtemplatefoldername ) { $directorytableentry = "$shorttemplatefoldername|$localtemplatefoldername"; } - $oneline = "$installer::globals::templatefolder\tTARGETDIR\t$directorytableentry\n"; + if ( $installer::globals::usesharepointpath ) + { + $oneline = "SHAREPOINTPATH\tTARGETDIR\t.\n"; push(@{$directorytableref}, $oneline); + } - if ( $installer::globals::fontsdirname ) - { - $oneline = "$installer::globals::fontsfolder\t$installer::globals::fontsdirparent\t$installer::globals::fontsfoldername\:$installer::globals::fontsdirname\n"; - } - else - { - $oneline = "$installer::globals::fontsfolder\tTARGETDIR\t$installer::globals::fontsfoldername\n"; - } + $oneline = "$installer::globals::systemfolder\tTARGETDIR\t.\n"; + push(@{$directorytableref}, $oneline); - push(@{$directorytableref}, $oneline); + my $localtemplatefoldername = $installer::globals::templatefoldername; + my $directorytableentry = $localtemplatefoldername; + my $shorttemplatefoldername = installer::windows::idtglobal::make_eight_three_conform($localtemplatefoldername, "dir"); + if ( $shorttemplatefoldername ne $localtemplatefoldername ) { $directorytableentry = "$shorttemplatefoldername|$localtemplatefoldername"; } + $oneline = "$installer::globals::templatefolder\tTARGETDIR\t$directorytableentry\n"; + push(@{$directorytableref}, $oneline); + + if ( $installer::globals::fontsdirname ) + { + $oneline = "$installer::globals::fontsfolder\t$installer::globals::fontsdirparent\t$installer::globals::fontsfoldername\:$installer::globals::fontsdirname\n"; } + else + { + $oneline = "$installer::globals::fontsfolder\tTARGETDIR\t$installer::globals::fontsfoldername\n"; + } + + push(@{$directorytableref}, $oneline); } @@ -404,7 +397,7 @@ sub add_root_directories sub create_directory_table { - my ($directoryref, $basedir, $allvariableshashref, $shortdirnamehashref) = @_; + my ($directoryref, $basedir, $allvariableshashref, $shortdirnamehashref, $loggingdir) = @_; # Structure of the directory table: # Directory Directory_Parent DefaultDir @@ -419,7 +412,11 @@ sub create_directory_table overwrite_programfilesfolder($allvariableshashref); create_unique_directorynames($directoryref); + 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); + 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); create_directorytable_from_collection(\@directorytable, $directoryref); diff --git a/solenv/bin/modules/installer/windows/idtglobal.pm b/solenv/bin/modules/installer/windows/idtglobal.pm index b82f5175250b..dd8151485afc 100644 --- a/solenv/bin/modules/installer/windows/idtglobal.pm +++ b/solenv/bin/modules/installer/windows/idtglobal.pm @@ -1023,44 +1023,6 @@ sub add_officedir_to_database } } - if ( $installer::globals::basisinstalldirectoryset ) - { - $found = 0; - - for ( my $i = 0; $i <= $#{$customacfile}; $i++ ) - { - if ( ${$customacfile}[$i] =~ /\bBASISDIRECTORYGID\b/ ) - { - ${$customacfile}[$i] =~ s/\bBASISDIRECTORYGID\b/$installer::globals::basisinstalldirectory/; - $found = 1; - } - } - - if (( ! $found ) && ( ! $allvariables->{'IGNOREDIRECTORYLAYER'} )) - { - installer::exiter::exit_program("ERROR: \"BASISDIRECTORYGID\" not found in \"$customactionfilename\" !", "add_officedir_to_database"); - } - } - - if ( $installer::globals::ureinstalldirectoryset ) - { - $found = 0; - - for ( my $i = 0; $i <= $#{$customacfile}; $i++ ) - { - if ( ${$customacfile}[$i] =~ /\bUREDIRECTORYGID\b/ ) - { - ${$customacfile}[$i] =~ s/\bUREDIRECTORYGID\b/$installer::globals::ureinstalldirectory/; - $found = 1; - } - } - - if (( ! $found ) && ( ! $allvariables->{'IGNOREDIRECTORYLAYER'} )) - { - installer::exiter::exit_program("ERROR: \"UREDIRECTORYGID\" not found in \"$customactionfilename\" !", "add_officedir_to_database"); - } - } - # Saving the file installer::files::save_file($customactionfilename ,$customacfile); diff --git a/solenv/bin/modules/installer/windows/property.pm b/solenv/bin/modules/installer/windows/property.pm index 2ef083178122..e9f122a54d86 100644 --- a/solenv/bin/modules/installer/windows/property.pm +++ b/solenv/bin/modules/installer/windows/property.pm @@ -318,18 +318,6 @@ sub set_important_properties push(@{$propertyfile}, $onepropertyline); } - if ( $installer::globals::basisdirhostname ) - { - my $onepropertyline = "BASISDIRHOSTNAME" . "\t" . $installer::globals::basisdirhostname . "\n"; - push(@{$propertyfile}, $onepropertyline); - } - - if ( $installer::globals::uredirhostname ) - { - my $onepropertyline = "UREDIRHOSTNAME" . "\t" . $installer::globals::uredirhostname . "\n"; - push(@{$propertyfile}, $onepropertyline); - } - if ( $installer::globals::sundirhostname ) { my $onepropertyline = "SUNDIRHOSTNAME" . "\t" . $installer::globals::sundirhostname . "\n"; diff --git a/solenv/bin/modules/installer/windows/registry.pm b/solenv/bin/modules/installer/windows/registry.pm index f2edd8d0e830..33583ce711a2 100644 --- a/solenv/bin/modules/installer/windows/registry.pm +++ b/solenv/bin/modules/installer/windows/registry.pm @@ -203,8 +203,8 @@ sub get_registry_value if ( $registry->{'Value'} ) { $value = $registry->{'Value'}; } $value =~ s/\\\"/\"/g; # no more masquerading of '"' - $value =~ s/\/\[OFFICEINSTALLLOCATION\]/; - $value =~ s/\[OFFICEINSTALLLOCATION\]\\/\[OFFICEINSTALLLOCATION\]/; # removing "\" after "[OFFICEINSTALLLOCATION]" + $value =~ s/\/\[INSTALLLOCATION\]/; + $value =~ s/\[INSTALLLOCATION\]\\/\[INSTALLLOCATION\]/; # removing "\" after "[INSTALLLOCATION]" if ( $value =~ /\%/ ) { $value = installer::worker::replace_variables_in_string($value, $allvariableshashref); } @@ -224,8 +224,8 @@ sub get_registry_val64 if ( $registry->{'Val64'} ) { $value = $registry->{'Val64'}; } $value =~ s/\\\"/\"/g; # no more masquerading of '"' - $value =~ s/\/\[OFFICEINSTALLLOCATION\]/; - $value =~ s/\[OFFICEINSTALLLOCATION\]\\/\[OFFICEINSTALLLOCATION\]/; # removing "\" after "[OFFICEINSTALLLOCATION]" + $value =~ s/\/\[INSTALLLOCATION\]/; + $value =~ s/\[INSTALLLOCATION\]\\/\[INSTALLLOCATION\]/; # removing "\" after "[INSTALLLOCATION]" if ( $value =~ /\%/ ) { $value = installer::worker::replace_variables_in_string($value, $allvariableshashref); } diff --git a/solenv/bin/modules/installer/windows/shortcut.pm b/solenv/bin/modules/installer/windows/shortcut.pm index b15c7418352f..76039baf10c9 100644 --- a/solenv/bin/modules/installer/windows/shortcut.pm +++ b/solenv/bin/modules/installer/windows/shortcut.pm @@ -111,7 +111,7 @@ sub get_shortcut_directory $directory = $onedir->{'uniquename'}; - if ($directory eq "") { $directory = "OFFICEINSTALLLOCATION"; } # Shortcuts in the root directory + if ($directory eq "") { $directory = "INSTALLLOCATION"; } # Shortcuts in the root directory return $directory; } @@ -343,7 +343,7 @@ sub get_folderitem_wkdir $directory = $onedir->{'uniquename'}; - if ($directory eq "") { $directory = "OFFICEINSTALLLOCATION"; } + if ($directory eq "") { $directory = "INSTALLLOCATION"; } } return $directory; diff --git a/solenv/bin/modules/installer/worker.pm b/solenv/bin/modules/installer/worker.pm index 6cc3c1e3f5db..3a2eb46817ee 100644 --- a/solenv/bin/modules/installer/worker.pm +++ b/solenv/bin/modules/installer/worker.pm @@ -1059,8 +1059,7 @@ sub write_content_into_inf_file if ( $registryitem->{'Value'} ) { $value = $registryitem->{'Value'}; } if ( $value =~ /\/ ) { $value =~ s/\\\"/\"\"/g; } # Quoting for INF is done by double "" $value =~ s/\\\"/\"/g; # no more masquerading of '"' - $value =~ s/\/\%OFFICEINSTALLLOCATION\%/g; - # $value =~ s/\%OFFICEINSTALLLOCATION\%\\/\%OFFICEINSTALLLOCATION\%/g; # removing "\" after "%OFFICEINSTALLLOCATION%" + $value =~ s/\/\%INSTALLLOCATION\%/g; if ( $value ne "" ) { $value = "\"" . $value . "\""; } my $oneline = $regroot . "," . $subkey . "," . $valueentryname . "," . $flag . "," . $value . "\n"; -- cgit From a76e94f5f77b03807a01635d9d95eb0fb31fc934 Mon Sep 17 00:00:00 2001 From: Ingo Schmidt Date: Thu, 27 May 2010 14:50:25 +0200 Subject: native305 #i92977# new Windows INSTALLLOCATION settings --- .../windows/msi_templates/Property.idt | 2 +- instsetoo_native/util/openoffice.lst | 3 -- solenv/bin/modules/installer/globals.pm | 2 + solenv/bin/modules/installer/windows/directory.pm | 45 ++++++++++++++++------ solenv/bin/modules/installer/windows/idtglobal.pm | 3 +- solenv/bin/modules/installer/windows/registry.pm | 2 + 6 files changed, 41 insertions(+), 16 deletions(-) diff --git a/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt b/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt index 6009edf00041..edc952694014 100644 --- a/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt +++ b/instsetoo_native/inc_openoffice/windows/msi_templates/Property.idt @@ -44,7 +44,7 @@ Quickstarterlinkname QUICKSTARTERLINKNAMETEMPLATE 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 diff --git a/instsetoo_native/util/openoffice.lst b/instsetoo_native/util/openoffice.lst index 4715beabcc27..c7ce93820104 100644 --- a/instsetoo_native/util/openoffice.lst +++ b/instsetoo_native/util/openoffice.lst @@ -92,7 +92,6 @@ OpenOffice 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 @@ -158,7 +157,6 @@ OpenOffice_wJRE 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 @@ -230,7 +228,6 @@ OpenOffice_Dev 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 diff --git a/solenv/bin/modules/installer/globals.pm b/solenv/bin/modules/installer/globals.pm index 1b71bd33ecd2..788fca64f130 100644 --- a/solenv/bin/modules/installer/globals.pm +++ b/solenv/bin/modules/installer/globals.pm @@ -380,6 +380,8 @@ BEGIN $installlocationdirectory = ""; $installlocationdirectoryset = 0; + $vendordirectory = ""; + $vendordirectoryset = 0; $officeinstalldirectory = ""; $officeinstalldirectoryset = 0; $basisinstalldirectory = ""; diff --git a/solenv/bin/modules/installer/windows/directory.pm b/solenv/bin/modules/installer/windows/directory.pm index 6dde28120a44..ba6f9a3b75bd 100644 --- a/solenv/bin/modules/installer/windows/directory.pm +++ b/solenv/bin/modules/installer/windows/directory.pm @@ -138,9 +138,36 @@ sub create_unique_directorynames $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 @@ -148,7 +175,7 @@ sub create_unique_directorynames 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"); } @@ -159,16 +186,12 @@ sub set_installlocation_directory if ( $onedir->{'uniquename'} eq $installer::globals::installlocationdirectory ) { $onedir->{'uniquename'} = "INSTALLLOCATION"; + check_sourcedir_addon($onedir, $allvariableshashref); + } - if (($installer::globals::addchildprojects) || - ($installer::globals::patch) || - ($installer::globals::languagepack) || - ($allvariableshashref->{'CHANGETARGETDIR'})) - { - - my $sourcediraddon = "\:\."; - $onedir->{'defaultdir'} = $onedir->{'defaultdir'} . $sourcediraddon; - } + if ( $onedir->{'uniquename'} eq $installer::globals::vendordirectory ) + { + check_sourcedir_addon($onedir, $allvariableshashref); } if ( $onedir->{'uniqueparentname'} eq $installer::globals::installlocationdirectory ) @@ -415,7 +438,7 @@ sub create_directory_table 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); diff --git a/solenv/bin/modules/installer/windows/idtglobal.pm b/solenv/bin/modules/installer/windows/idtglobal.pm index dd8151485afc..64dc2f34a12a 100644 --- a/solenv/bin/modules/installer/windows/idtglobal.pm +++ b/solenv/bin/modules/installer/windows/idtglobal.pm @@ -1596,7 +1596,8 @@ sub include_subdirname_into_directory_table { 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"; diff --git a/solenv/bin/modules/installer/windows/registry.pm b/solenv/bin/modules/installer/windows/registry.pm index 33583ce711a2..cf87ba174dd0 100644 --- a/solenv/bin/modules/installer/windows/registry.pm +++ b/solenv/bin/modules/installer/windows/registry.pm @@ -203,6 +203,7 @@ sub get_registry_value 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/\/\[INSTALLLOCATION\]/; $value =~ s/\[INSTALLLOCATION\]\\/\[INSTALLLOCATION\]/; # removing "\" after "[INSTALLLOCATION]" @@ -224,6 +225,7 @@ sub get_registry_val64 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/\/\[INSTALLLOCATION\]/; $value =~ s/\[INSTALLLOCATION\]\\/\[INSTALLLOCATION\]/; # removing "\" after "[INSTALLLOCATION]" -- cgit From 3496d8389e25cd75f98d4a5359d1405b323f2325 Mon Sep 17 00:00:00 2001 From: Ingo Schmidt Date: Fri, 28 May 2010 12:31:50 +0200 Subject: native305 #i92977# new Windows INSTALLLOCATION settings --- solenv/bin/modules/installer/windows/admin.pm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/solenv/bin/modules/installer/windows/admin.pm b/solenv/bin/modules/installer/windows/admin.pm index d22a1299e9c9..3564770e76ba 100644 --- a/solenv/bin/modules/installer/windows/admin.pm +++ b/solenv/bin/modules/installer/windows/admin.pm @@ -419,6 +419,12 @@ sub create_directory_structure 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; } -- cgit From 5ce94ca44025131ce60f0455c13ebb10baf42038 Mon Sep 17 00:00:00 2001 From: Ingo Schmidt Date: Tue, 1 Jun 2010 10:37:26 +0200 Subject: native305 #i92977# new Windows INSTALLLOCATION settings --- instsetoo_native/util/makefile.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instsetoo_native/util/makefile.mk b/instsetoo_native/util/makefile.mk index c18f2dad2098..f0b4ace16342 100644 --- a/instsetoo_native/util/makefile.mk +++ b/instsetoo_native/util/makefile.mk @@ -105,7 +105,7 @@ PKGFORMAT+=$(MAKETARGETS:e:s/.//) # Independent of PKGFORMAT, always build a default-language openoffice product # also in archive format, so that tests that require an OOo installation (like # smoketestoo_native) have one available: -# openoffice_$(defaultlangiso) : $$@.archive +openoffice_$(defaultlangiso) : $$@.archive .IF "$(VERBOSE)"=="TRUE" VERBOSESWITCH=-verbose -- cgit