summaryrefslogtreecommitdiffstats
path: root/src/sdk
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdk')
-rw-r--r--src/sdk/sdkapp.h24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/sdk/sdkapp.h b/src/sdk/sdkapp.h
index c5cc4ca50..d06cd9eb3 100644
--- a/src/sdk/sdkapp.h
+++ b/src/sdk/sdkapp.h
@@ -76,21 +76,26 @@ public:
installer binary itself, which contains the binary layout and the binary content. In case
of an maintenance tool, it will return a binary that has just a binary layout append.
- Note on OS X: For compatibility reason this function will return the a .dat file located
- inside the resource folder in the application bundle, as on OS X the binary layout cannot
- be appended to the actual installer / maintenance tool binary itself because of signing.
+ Note on OS X and Windows: For compatibility reason this function will return the .dat file
+ as the binary layout cannot be appended to the actual installer / maintenance tool binary
+ itself because of signing. .dat file is located inside the resource folder in the application
+ bundle in OS X and next to maintenance tool in Windows.
*/
QString binaryFile() const
{
QString binaryFile = QCoreApplication::applicationFilePath();
-#ifdef Q_OS_OSX
- // The installer binary on OSX does not contain the binary content, it's put into
- // the resources folder as separate file. Adjust the actual binary path. No error
- // checking here since we will fail later while reading the binary content.
+#if defined Q_OS_OSX || defined Q_OS_WIN
+ // The installer binary on OSX and Windows does not contain the binary
+ // content, it's put into the resources folder as separate file.
+ // Adjust the actual binary path. No error checking here since we
+ // will fail later while reading the binary content.
QDir resourcePath(QFileInfo(binaryFile).dir());
+
+#ifdef Q_OS_OSX
resourcePath.cdUp();
resourcePath.cd(QLatin1String("Resources"));
- return resourcePath.filePath(QLatin1String("installer.dat"));
+#endif
+ binaryFile = resourcePath.filePath(QLatin1String("installer.dat"));
#endif
return binaryFile;
}
@@ -114,6 +119,9 @@ public:
QString bundlePath;
if (QInstaller::isInBundle(fi.absoluteFilePath(), &bundlePath))
fi.setFile(bundlePath);
+#ifdef Q_OS_WIN
+ return fi.absoluteDir().filePath(qApp->applicationName() + QLatin1String(".dat"));
+#endif
return fi.absoluteDir().filePath(fi.baseName() + QLatin1String(".dat"));
}
return QString();