diff --git a/res/appstore/AppxManifest.xml b/res/appstore/AppxManifest.xml
index f13c17c5..b6725cc0 100644
--- a/res/appstore/AppxManifest.xml
+++ b/res/appstore/AppxManifest.xml
@@ -9,7 +9,7 @@
Rufus
diff --git a/res/appstore/README.txt b/res/appstore/README.txt
deleted file mode 100644
index 20209c28..00000000
--- a/res/appstore/README.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-This directory contains the resources to create a Windows Store package.
-
-However, since Microsoft doesn't allow elevated applications into the Windows
-Store, and, even if you install it manually, Windows 10 will also refuse to
-elevate it (so you have to explicitly select to run it as admin *every time*),
-this is rather pointless.
-
-Still, you can find the latest signed application package at:
-https://rufus.akeo.ie/testing/
diff --git a/res/appstore/packme.cmd b/res/appstore/packme.cmd
index 30a3480d..ff13afc4 100644
--- a/res/appstore/packme.cmd
+++ b/res/appstore/packme.cmd
@@ -1,27 +1,69 @@
@echo off
+setlocal EnableExtensions DisableDelayedExpansion
set VERSION=3.4
-rem Make sure you don't have anything you don't want included in the package, as anything residing in the
-rem current directory will be included, including any previous .appx, which makes for nice recursion...
del /q *.appx >NUL 2>&1
+del /q *.appxbundle >NUL 2>&1
+del /q *.map >NUL 2>&1
-rem As per the link below, you need "altform-unplated" icons and run MakePri to get transparent icons:
-rem https://social.msdn.microsoft.com/Forums/windowsapps/en-US/dc505f68-d120-43e3-a9e1-d7c77746d588/uwpdesktop-bridgeunplated-taskbar-icons-in-desktop-bridge-apps
-mkdir Assets >NUL 2>&1
-copy "..\icons\rufus-44.png" "Assets\Square44x44Logo.png"
-copy "..\icons\rufus-48.png" "Assets\Square44x44Logo.targetsize-48.png"
-copy "..\icons\rufus-48.png" "Assets\Square44x44Logo.targetsize-48_altform-unplated.png"
-copy "..\icons\rufus-150.png" "Assets\Square150x150Logo.png"
-copy "..\..\rufus-%VERSION%.exe" "rufus.exe"
-"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64\MakePri" createconfig /o /dq en-US /cf priconfig.xml
-"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64\MakePri" new /o /pr . /cf priconfig.xml
-"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64\MakeAppx" pack /o /d . /p Rufus-%VERSION%.appx
+set WDK_PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64
+set MANIFEST=AppxManifest.xml
+set ARCHS=x86 x64 arm arm64
+
+cd /d "%~dp0"
+setlocal EnableDelayedExpansion
+set FILES_TO_SIGN=
+for %%a in (%ARCHS%) do (
+ if not exist "..\..\%%a\Release\rufus.exe" (
+ echo The %%a VS2017 Release build of Rufus does not exist!
+ goto out
+ )
+ set FILES_TO_SIGN=!FILES_TO_SIGN! "..\..\%%a\Release\rufus.exe"
+)
+"%WDK_PATH%\SignTool" sign /v /sha1 9ce9a71ccab3b38a74781b975f1c228222cf7d3b /fd SHA256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp %FILES_TO_SIGN%
if ERRORLEVEL 1 goto out
-"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64\SignTool" sign /v /sha1 9ce9a71ccab3b38a74781b975f1c228222cf7d3b /fd SHA256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp Rufus-%VERSION%.appx
+endlocal
+
+echo [Files]> bundle.map
+
+for %%a in (%ARCHS%) do (
+ echo Creating %%a appx...
+ cd /d "%~dp0"
+ echo "Rufus-%%a.appx" "Rufus-%%a.appx">> bundle.map
+ mkdir %%a >NUL 2>&1
+ copy %MANIFEST% %%a\%MANIFEST% >NUL 2>&1
+ cd %%a
+ for /f "delims=" %%i in ('type %MANIFEST% ^& break ^> %MANIFEST%') do (
+ set "line=%%i"
+ setlocal EnableDelayedExpansion
+ >>%MANIFEST% echo(!line:@ARCH@=%%a!
+ endlocal
+ )
+ mkdir Assets >NUL 2>&1
+ copy "..\..\icons\rufus-44.png" "Assets\Square44x44Logo.png" >NUL 2>&1
+ copy "..\..\icons\rufus-48.png" "Assets\Square44x44Logo.targetsize-48.png" >NUL 2>&1
+ copy "..\..\icons\rufus-48.png" "Assets\Square44x44Logo.targetsize-48_altform-unplated.png" >NUL 2>&1
+ copy "..\..\icons\rufus-150.png" "Assets\Square150x150Logo.png" >NUL 2>&1
+ copy "..\..\..\%%a\Release\rufus.exe" "rufus.exe" >NUL 2>&1
+ "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64\MakePri" createconfig /o /dq en-US /cf priconfig.xml
+ "%WDK_PATH%\MakePri" new /o /pr . /cf priconfig.xml
+ "%WDK_PATH%\MakeAppx" pack /o /d . /p ../Rufus-%%a.appx
+ if ERRORLEVEL 1 goto out
+)
+
+cd /d "%~dp0"
+"%WDK_PATH%\SignTool" sign /v /sha1 9ce9a71ccab3b38a74781b975f1c228222cf7d3b /fd SHA256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp *.appx
+if ERRORLEVEL 1 goto out
+"%WDK_PATH%\MakeAppx" bundle /f bundle.map /p Rufus-%VERSION%.appxbundle
+"%WDK_PATH%\SignTool" sign /v /sha1 9ce9a71ccab3b38a74781b975f1c228222cf7d3b /fd SHA256 /tr http://sha256timestamp.ws.symantec.com/sha256/timestamp Rufus-%VERSION%.appxbundle
+
:out
-del /q rufus.exe
-del /q priconfig.xml
-del /q resources.pri
-rmdir /s /q Assets
+cd /d "%~dp0"
+for %%a in (%ARCHS%) do (
+ rd /S /Q %%a >NUL 2>&1
+)
+del /q *.map >NUL 2>&1
+del /q *.appx >NUL 2>&1
+rename *.appxbundle *.appx >NUL 2>&1
pause
exit
diff --git a/src/rufus.rc b/src/rufus.rc
index bd5f98a5..bedda02a 100644
--- a/src/rufus.rc
+++ b/src/rufus.rc
@@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG DIALOGEX 12, 12, 232, 326
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_ACCEPTFILES
-CAPTION "Rufus 3.4.1416"
+CAPTION "Rufus 3.4.1417"
FONT 9, "Segoe UI Symbol", 400, 0, 0x0
BEGIN
LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP
@@ -392,8 +392,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,4,1416,0
- PRODUCTVERSION 3,4,1416,0
+ FILEVERSION 3,4,1417,0
+ PRODUCTVERSION 3,4,1417,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -411,13 +411,13 @@ BEGIN
VALUE "Comments", "https://akeo.ie"
VALUE "CompanyName", "Akeo Consulting"
VALUE "FileDescription", "Rufus"
- VALUE "FileVersion", "3.4.1416"
+ VALUE "FileVersion", "3.4.1417"
VALUE "InternalName", "Rufus"
VALUE "LegalCopyright", "© 2011-2018 Pete Batard (GPL v3)"
VALUE "LegalTrademarks", "https://www.gnu.org/copyleft/gpl.html"
VALUE "OriginalFilename", "rufus-3.4.exe"
VALUE "ProductName", "Rufus"
- VALUE "ProductVersion", "3.4.1416"
+ VALUE "ProductVersion", "3.4.1417"
END
END
BLOCK "VarFileInfo"