diff --git a/ports/libsimpleservo/api/Cargo.toml b/ports/libsimpleservo/api/Cargo.toml
index 0dd05e38561b..dc4241bf92cb 100644
--- a/ports/libsimpleservo/api/Cargo.toml
+++ b/ports/libsimpleservo/api/Cargo.toml
@@ -50,6 +50,7 @@ no-wgl = ["libservo/no-wgl"]
oculusvr = ["libservo/oculusvr"]
profilemozjs = ["libservo/profilemozjs"]
refcell_backtrace = ["libservo/refcell_backtrace"]
-webdriver = ["libservo/webdriver"]
uwp = ["libservo/uwp", "webxr/openxr-api"]
+vslatestinstalled = ["libservo/vslatestinstalled"]
+webdriver = ["libservo/webdriver"]
webgl_backtrace = ["libservo/webgl_backtrace"]
diff --git a/ports/libsimpleservo/capi/Cargo.toml b/ports/libsimpleservo/capi/Cargo.toml
index 2c629587c8f3..f019848ee0be 100644
--- a/ports/libsimpleservo/capi/Cargo.toml
+++ b/ports/libsimpleservo/capi/Cargo.toml
@@ -46,5 +46,6 @@ oculusvr = ["simpleservo/oculusvr"]
profilemozjs = ["simpleservo/profilemozjs"]
refcell_backtrace = ["simpleservo/refcell_backtrace"]
uwp = ["simpleservo/uwp"]
+vslatestinstalled = ["simpleservo/vslatestinstalled"]
webdriver = ["simpleservo/webdriver"]
webgl_backtrace = ["simpleservo/webgl_backtrace"]
diff --git a/python/servo/package_commands.py b/python/servo/package_commands.py
index a663763a3985..b4341f1af538 100644
--- a/python/servo/package_commands.py
+++ b/python/servo/package_commands.py
@@ -209,8 +209,11 @@ class PackageCommands(CommandBase):
default=None,
action='append',
help='Create an APPX package')
+ @CommandArgument('--ms-app-store',
+ default=None,
+ action='store_true')
def package(self, release=False, dev=False, android=None, magicleap=None, debug=False,
- debugger=None, target=None, flavor=None, maven=False, uwp=None):
+ debugger=None, target=None, flavor=None, maven=False, uwp=None, ms_app_store=False):
if android is None:
android = self.config["build"]["android"]
if target and android:
@@ -234,7 +237,7 @@ def package(self, release=False, dev=False, android=None, magicleap=None, debug=
target_dir = path.dirname(binary_path)
if uwp:
vs_info = self.vs_dirs()
- build_uwp(uwp, dev, vs_info['msbuild'])
+ build_uwp(uwp, dev, vs_info['msbuild'], not ms_app_store)
elif magicleap:
if platform.system() not in ["Darwin"]:
raise Exception("Magic Leap builds are only supported on macOS.")
@@ -739,7 +742,7 @@ def call_git(cmd, **kwargs):
return 0
-def build_uwp(platforms, dev, msbuild_dir):
+def build_uwp(platforms, dev, msbuild_dir, sign_package):
if any(map(lambda p: p not in ['x64', 'x86', 'arm64'], platforms)):
raise Exception("Unsupported appx platforms: " + str(platforms))
if dev and len(platforms) > 1:
@@ -764,7 +767,8 @@ def build_uwp(platforms, dev, msbuild_dir):
)
build_file.close()
# Generate an appxbundle.
- subprocess.check_call([msbuild, "/m", build_file.name])
+ sign_package_value = "true" if sign_package else "false"
+ subprocess.check_call([msbuild, "/m", build_file.name, "/p:AppxPackageSigningEnabled=" + sign_package_value])
os.unlink(build_file.name)
print("Creating ZIP")
diff --git a/support/hololens/ServoApp/ServoApp.vcxproj b/support/hololens/ServoApp/ServoApp.vcxproj
index 86873e5dda82..4fa93f76ef6a 100644
--- a/support/hololens/ServoApp/ServoApp.vcxproj
+++ b/support/hololens/ServoApp/ServoApp.vcxproj
@@ -62,6 +62,7 @@
+ ServoApp_TemporaryKey.pfx
False
False
Always
@@ -69,7 +70,6 @@
1
OnApplicationRun
False
- 45A22CA001C9C6BE412BF449FBE70FEDE635831F
diff --git a/support/hololens/ServoApp/ServoApp_TemporaryKey.pfx b/support/hololens/ServoApp/ServoApp_TemporaryKey.pfx
index 8917164b3bb5..a1224301b62b 100644
Binary files a/support/hololens/ServoApp/ServoApp_TemporaryKey.pfx and b/support/hololens/ServoApp/ServoApp_TemporaryKey.pfx differ
diff --git a/support/hololens/package.msbuild b/support/hololens/package.msbuild
index d673876c3500..8d25a8d3fd65 100644
--- a/support/hololens/package.msbuild
+++ b/support/hololens/package.msbuild
@@ -9,6 +9,6 @@
+ Properties="Configuration=%(ConfigAndPlatform.Identity);Platform=%(ConfigAndPlatform.Platform);AppxBundle=Always;AppxBundlePlatforms=%%PACKAGE_PLATFORMS%%;UseSubFolderForOutputDirDuringMultiPlatformBuild=false"/>
-
\ No newline at end of file
+