summaryrefslogtreecommitdiffstats
path: root/src/winrtrunner/appxphoneengine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/winrtrunner/appxphoneengine.cpp')
-rw-r--r--src/winrtrunner/appxphoneengine.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/winrtrunner/appxphoneengine.cpp b/src/winrtrunner/appxphoneengine.cpp
index e7cbf6709..edbb58ea5 100644
--- a/src/winrtrunner/appxphoneengine.cpp
+++ b/src/winrtrunner/appxphoneengine.cpp
@@ -258,6 +258,14 @@ AppxPhoneEngine::~AppxPhoneEngine()
QString AppxPhoneEngine::extensionSdkPath() const
{
+#if _MSC_VER >= 1900
+ const QByteArray extensionSdkDirRaw = qgetenv("ExtensionSdkDir");
+ if (extensionSdkDirRaw.isEmpty()) {
+ qCWarning(lcWinRtRunner) << "The environment variable ExtensionSdkDir is not set.";
+ return QString();
+ }
+ return QString::fromLocal8Bit(extensionSdkDirRaw);
+#else // _MSC_VER < 1900
HKEY regKey;
LONG hr = RegOpenKeyEx(
HKEY_LOCAL_MACHINE,
@@ -278,6 +286,7 @@ QString AppxPhoneEngine::extensionSdkPath() const
return QString::fromWCharArray(pathData, (pathLength - 1) / sizeof(wchar_t))
+ QLatin1String("ExtensionSDKs");
+#endif // _MSC_VER < 1900
}
bool AppxPhoneEngine::installPackage(IAppxManifestReader *reader, const QString &filePath)
@@ -384,6 +393,9 @@ bool AppxPhoneEngine::install(bool removeFirst)
if (!createPackage(packageFileName))
return false;
+ if (!sign(packageFileName))
+ return false;
+
ComPtr<IStream> manifestStream;
hr = SHCreateStreamOnFile(wchar(d->manifest), STGM_READ, &manifestStream);
RETURN_FALSE_IF_FAILED("Failed to open manifest stream");