Index: package.json
diff --git a/package.json b/package.json
index 4656e9cb04173ec9adbaeab1a1e7c6a5f10eb7ce..d02d620e997056bd319af9755f769cc3f8a5b9be 100644
--- a/package.json
+++ b/package.json
@@ -3,6 +3,10 @@
   "repository": "https://hg.adblockplus.org/buildtools",
   "license": "MPL-2.0",
   "dependencies": {
+    "//": [
+      "'acorn' is a peer dependency of manifoldjs, we don't use it otherwise."
+    ],
+    "acorn": "^6.0.0",
     "jsdoc": "3.5.5",
     "manifoldjs": "0.7.6",
     "memory-fs": "0.4.1",
Index: packagerEdge.py
diff --git a/packagerEdge.py b/packagerEdge.py
index 9fd5094a83d143423db5942fb4d9b143f5cc4353..ea9af4a4d335fce85c859c8fe845274e1c5d14b2 100644
--- a/packagerEdge.py
+++ b/packagerEdge.py
@@ -37,8 +37,22 @@ def register_xml_namespaces(manifest_path):
     return ns
 
 
+def get_appx_version(metadata, build_num):
+    """Get the version number for usage in AppxManifest.xml.
+
+    As required by the Windows Store, the returned version string has four
+    components, where the 3rd component is replaced with the build number
+    if available, and the 4th component is always zero (e.g. 1.2.1000.0).
+    """
+    components = metadata.get('general', 'version').split('.')[:3]
+    components.extend(['0'] * (4 - len(components)))
+    if build_num:
+        components[2] = build_num
+    return '.'.join(components)
+
+
 def update_appx_manifest(manifest_path, base_dir, files, metadata,
-                         release_build):
+                         release_build, build_num):
     namespaces = register_xml_namespaces(manifest_path)
 
     v_min, v_max = metadata.get('compat', 'windows').split('/')
@@ -60,6 +74,7 @@ def update_appx_manifest(manifest_path, base_dir, files, metadata,
         ('_d:Identity', None, [
             ('Name', packager.get_app_id(release_build, metadata)),
             ('Publisher', metadata.get('general', 'publisher_id')),
+            ('Version', get_appx_version(metadata, build_num)),
         ]),
         ('_d:Properties/_d:PublisherDisplayName', author, []),
         ('_d:Properties/_d:Logo', assets[50], []),
@@ -170,7 +185,7 @@ def createBuild(baseDir, type='edge', outFile=None,  # noqa: preserve API.
         # update incomplete appxmanifest
         intermediate_manifest = os.path.join(manifest_folder, MANIFEST)
         update_appx_manifest(intermediate_manifest, baseDir, files, metadata,
-                             releaseBuild)
+                             releaseBuild, buildNum)
 
         # cleanup placeholders, copy actual images
         shutil.rmtree(asset_folder)
Index: tests/expecteddata/AppxManifest_edge_development_build.xml
diff --git a/tests/expecteddata/AppxManifest_edge_development_build.xml b/tests/expecteddata/AppxManifest_edge_development_build.xml
index f6abdd95437acc929f74c8f11778364d2991356b..4e3382a71376a809eacb372d1bdde7c8fdd1c91a 100644
--- a/tests/expecteddata/AppxManifest_edge_development_build.xml
+++ b/tests/expecteddata/AppxManifest_edge_development_build.xml
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='utf-8'?>
 <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" IgnorableNamespaces="uap3">
-	<Identity Name="EyeoGmbH.AdblockPlusdevelopmentbuild" Publisher="CN=4F066043-8AFE-41C9-B762-6C15E77E3F88" Version="1.2.3.1337" /> 
+	<Identity Name="EyeoGmbH.AdblockPlusdevelopmentbuild" Publisher="CN=4F066043-8AFE-41C9-B762-6C15E77E3F88" Version="1.2.1337.0" />
 
 	<Properties> 
 		<DisplayName>ms-resource:DisplayName</DisplayName> 
Index: tests/expecteddata/AppxManifest_edge_release_build.xml
diff --git a/tests/expecteddata/AppxManifest_edge_release_build.xml b/tests/expecteddata/AppxManifest_edge_release_build.xml
index 31140ca33c1e107a4d44f6b217c20517b8224b03..2722d685d62cb2f640f67fbd88dd65c193d3f187 100644
--- a/tests/expecteddata/AppxManifest_edge_release_build.xml
+++ b/tests/expecteddata/AppxManifest_edge_release_build.xml
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='utf-8'?>
 <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" IgnorableNamespaces="uap3">
-	<Identity Name="EyeoGmbH.AdblockPlus" Publisher="CN=4F066043-8AFE-41C9-B762-6C15E77E3F88" Version="0.1.2.3" /> 
+	<Identity Name="EyeoGmbH.AdblockPlus" Publisher="CN=4F066043-8AFE-41C9-B762-6C15E77E3F88" Version="1.2.3.0" />
 
 	<Properties> 
 		<DisplayName>ms-resource:DisplayName</DisplayName> 
