diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2019-05-22 19:17:44 +0300 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2020-05-13 17:41:05 +0200 |
commit | ef61fd353973f502688e2b609aed7d0f2fc14eda (patch) | |
tree | 29a8205e756d6583d7505f13d12d30d19a6579c4 /solenv | |
parent | 78f1920937c87cde73358c9eda713072639ba884 (diff) |
Register spsupp*.dll during installation
This registers SharePoint integration libraries using regsvr.exe.
Both 32-bit and 64-bit libraries are registered; registration of
LOSPSupport.OpenDocuments is unconditional.
This introduces a new hidden MSI feature, which is disabled for
installation: gm_SharePointSupport_SubstMSO. When installed, it
registers SharePoint.OpenDocuments class in registry, thus
overriding registration of this component by MS Office, allowing
LibreOffice to serve as MS Office replacement working in IE with
SharePoint. To install the feature, either a transform is needed
setting the feature's level <= 100, or a command line:
msiexec path-to-msi ADDLOCAL=gm_SharePointSupport_SubstMSO
Change-Id: I5517bbb68dcc6db8bcb2bbc2368394ee4a62d741
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86452
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86462
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/bin/modules/installer/windows/feature.pm | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/solenv/bin/modules/installer/windows/feature.pm b/solenv/bin/modules/installer/windows/feature.pm index 84d4e992d37f..c97be4a9c98e 100644 --- a/solenv/bin/modules/installer/windows/feature.pm +++ b/solenv/bin/modules/installer/windows/feature.pm @@ -125,13 +125,19 @@ sub get_feature_level my $level = "20"; # the default - my $localdefault = ""; - - if ( $onefeature->{'Default'} ) { $localdefault = $onefeature->{'Default'}; } - - if ( $localdefault eq "NO" ) # explicitly set Default = "NO" + if ( $onefeature->{'Disabled'} ) { - $level = "200"; # deselected in default installation, base is 100 + if ( $onefeature->{'Disabled'} eq "YES" ) # Disabled = "YES" + { + $level = "0"; # disabled for installation at any INSTALLLEVEL + } + } + elsif ( $onefeature->{'Default'} ) + { + if ( $onefeature->{'Default'} eq "NO" ) # explicitly set Default = "NO" + { + $level = "200"; # deselected in default installation, base is 100 + } } return $level @@ -162,6 +168,10 @@ sub get_feature_attributes my $attributes; + # 2 = msidbFeatureAttributesFollowParent + # 8 = msidbFeatureAttributesDisallowAdvertise + # 16 = msidbFeatureAttributesUIDisallowAbsent + # No advertising of features and no leaving on network. # Feature without parent must not have the "2" @@ -169,6 +179,7 @@ sub get_feature_attributes if ( $onefeature->{'ParentID'} ) { $parentgid = $onefeature->{'ParentID'}; } if (( $parentgid eq "" ) || ( $parentgid eq $installer::globals::rootmodulegid )) { $attributes = "8"; } + elsif ( $onefeature->{'Independent'} && ($onefeature->{'Independent'} eq "YES") ) { $attributes = "8"; } elsif ( get_feature_display($onefeature) eq "0" ) { $attributes = "26"; } # fdo#33798 else { $attributes = "10"; } |