diff options
author | Karsten Heimrich <karsten.heimrich@theqtcompany.com> | 2015-06-04 13:18:59 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2015-06-04 13:18:59 +0000 |
commit | 8a1d8a4e5292644848bad2a4a8c33e7c9b9529de (patch) | |
tree | c7ee24660a2d1c0ce53a635e03d883dd76f9c1ed /src/libs/installer/packagemanagercore_p.cpp | |
parent | 014bee19ae7939e0468f61c5b5ce18684df7df5b (diff) | |
parent | 1be5082af805e71ce2ca6ed04ff5de0f069da770 (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.cpp | 9 |
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())); |