summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagercore_p.cpp
diff options
context:
space:
mode:
authorKarsten Heimrich <karsten.heimrich@theqtcompany.com>2015-06-04 13:18:59 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2015-06-04 13:18:59 +0000
commit8a1d8a4e5292644848bad2a4a8c33e7c9b9529de (patch)
treec7ee24660a2d1c0ce53a635e03d883dd76f9c1ed /src/libs/installer/packagemanagercore_p.cpp
parent014bee19ae7939e0468f61c5b5ce18684df7df5b (diff)
parent1be5082af805e71ce2ca6ed04ff5de0f069da770 (diff)
Merge "Merge remote-tracking branch 'origin/2.0'"
Diffstat (limited to 'src/libs/installer/packagemanagercore_p.cpp')
-rw-r--r--src/libs/installer/packagemanagercore_p.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp
index 9103526ae..8959634e5 100644
--- a/src/libs/installer/packagemanagercore_p.cpp
+++ b/src/libs/installer/packagemanagercore_p.cpp
@@ -997,6 +997,15 @@ void PackageManagerCorePrivate::writeMaintenanceToolBinary(QFile *const input, q
QInstaller::appendInt64(&dataOut, 4 * sizeof(qint64)); // data block size
QInstaller::appendInt64(&dataOut, BinaryContent::MagicUninstallerMarker);
QInstaller::appendInt64(&dataOut, BinaryContent::MagicCookie);
+
+ {
+ QFile dummy(resourcePath.filePath(QLatin1String("installer.dat")));
+ if (dummy.exists() && !dummy.remove()) {
+ throw Error(tr("Could not remove data file '%1': %2").arg(dummy.fileName(),
+ dummy.errorString()));
+ }
+ }
+
if (!dataOut.rename(resourcePath.filePath(QLatin1String("installer.dat")))) {
throw Error(tr("Could not write maintenance tool data to %1: %2").arg(out.fileName(),
out.errorString()));