summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaurice Kalinowski <maurice.kalinowski@qt.io>2016-07-08 10:11:32 +0200
committerMaurice Kalinowski <maurice.kalinowski@qt.io>2016-07-20 14:22:21 +0000
commit20faf717c87f3095bfa3be3781f97744b75935e2 (patch)
tree9a20420e5ef741f1b700330675c92f567cfc2f5c
parent727fddbe90954ac125268b1b95f54954ee53402d (diff)
downloadqttools-20faf717c87f3095bfa3be3781f97744b75935e2.tar.gz
Skip deployment of dependencies with lower version number
Depending on the setup there might be a newer version of a dependency on the target device compared to the local setup. For instance one can have a preview build installed, but the development environment runs on a stable version. In that case deployment of the C-Runtime is rejected as a newer version is available. Instead of returning an error, report a warning and continue, relying on the fact that the newer version stays binary compatible. Unfortunately, there is no "proper" error code for this, so we need to use the value itself. Task-number: QTBUG-54251 Change-Id: I83b66653c776665a4aae6ab138d8d292def426f5 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
-rw-r--r--src/winrtrunner/appxphoneengine.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/winrtrunner/appxphoneengine.cpp b/src/winrtrunner/appxphoneengine.cpp
index edbb58ea5..a71d03936 100644
--- a/src/winrtrunner/appxphoneengine.cpp
+++ b/src/winrtrunner/appxphoneengine.cpp
@@ -332,7 +332,12 @@ bool AppxPhoneEngine::installPackage(IAppxManifestReader *reader, const QString
_bstr_t packagePath(wchar(QDir::toNativeSeparators(filePath)));
hr = connection->InstallApplication(productId, productId, deploymentFlagsAsGenre,
packageTypeAsIconPath, packagePath);
- RETURN_FALSE_IF_FAILED("Failed to install the package");
+ if (hr == 0x80073d06) { // No public E_* macro available
+ qCWarning(lcWinRtRunner) << "Found a newer version of " << filePath
+ << " on the target device, skipping...";
+ } else {
+ RETURN_FALSE_IF_FAILED("Failed to install the package");
+ }
return true;
}