From 76fd6e8f2953347ea0bf7a57b643968784bc9acc Mon Sep 17 00:00:00 2001 From: Katja Marttila Date: Thu, 5 May 2016 15:18:34 +0300 Subject: Allow signing maintenancetool in Windows Signing was not possible for maintenancetool since metadata was added to binary. Separated metadata to installer.dat like in OS X. Task-number: QTIFW-667 Change-Id: I74ef307c51a2f43059475dd943d6f0910925fa86 Reviewed-by: Iikka Eklund --- tools/devtool/main.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'tools/devtool/main.cpp') diff --git a/tools/devtool/main.cpp b/tools/devtool/main.cpp index c9aaab71c..27c459ecc 100644 --- a/tools/devtool/main.cpp +++ b/tools/devtool/main.cpp @@ -173,6 +173,11 @@ int main(int argc, char *argv[]) if (QInstaller::isInBundle(path, &bundlePath)) path = QDir(bundlePath).filePath(QLatin1String("Contents/Resources/installer.dat")); +#ifdef Q_OS_WIN + QDir resourcePath(path); + resourcePath.cdUp(); + path = resourcePath.filePath(QLatin1String("installer.dat")); +#endif int result = EXIT_FAILURE; QVector resourceMappings; quint64 cookie = QInstaller::BinaryContent::MagicCookie; @@ -191,8 +196,12 @@ int main(int argc, char *argv[]) QFileInfo fi(path); if (QInstaller::isInBundle(fi.absoluteFilePath(), &bundlePath)) fi.setFile(bundlePath); +#ifdef Q_OS_WIN + QFileInfo appName = arguments.first(); + path = fi.absoluteDir().filePath(appName.baseName() + QLatin1String(".dat")); +#else path = fi.absolutePath() + QLatin1Char('/') + fi.baseName() + QLatin1String(".dat"); - +#endif tmp.close(); tmp.setFileName(path); QInstaller::openForRead(&tmp); -- cgit v1.2.3