From 81fd6b084b0f3c0eb5a97c77592f5ceb21d2dfb1 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Thu, 2 Aug 2012 18:10:03 +0200 Subject: fdo#53006 Force reinstall of all bundled extensions on upgrade ...as the per-user data about bundled extensions can otherwise contain stale $BUNDLED_EXTENSIONS_PREREG references if the old installation used share/prereg/bundled/, the new one does not (cf. the fixing for fdo#51252 "LO cannot start (reports runtime error with Visual C++ Runtime Library)"), and a bundled extension did not change version. It is safe to tie this behavior to the existing "force" parameter of dp_misc::syncRepositories, as the only place that calls it with force=true is the call to Desktop::SynchronizeExtensionRepositories(newInst) in Desktop::Main, where newInst=true is the relevant condition for this behavior, too. As stated in XExtensionManager.idl, "this [...] can go again once no exisiting UserInstallation's user/extensions/bundled/ data can contain any $BUNDLED_EXTENSIONS_PREREG references any longer." Change-Id: I630dec8f2d20282ee47c65ac61ed2c9b062448e1 --- offapi/com/sun/star/deployment/XPackageManager.idl | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'offapi/com/sun/star/deployment/XPackageManager.idl') diff --git a/offapi/com/sun/star/deployment/XPackageManager.idl b/offapi/com/sun/star/deployment/XPackageManager.idl index 65cb24a6ac0f..842efdf3b5e4 100644 --- a/offapi/com/sun/star/deployment/XPackageManager.idl +++ b/offapi/com/sun/star/deployment/XPackageManager.idl @@ -259,6 +259,10 @@ interface XPackageManager Added extensions will be added to the database and removed extensions will be removed from the database. + @param force + whether to reinstall all extensions even if their versions have not + changed (see forceBundled parameter of + XExtensionManager.synchronize) @param xAddedExtension new extensions which may need to be registered. @@ -268,7 +272,9 @@ interface XPackageManager If true - then at least one extension was removed or added. Otherwise nothing was changed. */ - boolean synchronize([in] com::sun::star::task::XAbortChannel xAbortChannel, + boolean synchronize( + [in] boolean force, + [in] com::sun::star::task::XAbortChannel xAbortChannel, [in] com::sun::star::ucb::XCommandEnvironment xCmdEnv ) raises (DeploymentException, com::sun::star::ucb::CommandFailedException, -- cgit