├── .github └── FUNDING.yml ├── PackageFiles ├── AppxManifest.xml ├── Assets │ ├── AppLargeTile.scale-100.png │ ├── AppLargeTile.scale-125.png │ ├── AppLargeTile.scale-150.png │ ├── AppLargeTile.scale-200.png │ ├── AppLargeTile.scale-400.png │ ├── AppList.scale-100.png │ ├── AppList.scale-125.png │ ├── AppList.scale-150.png │ ├── AppList.scale-200.png │ ├── AppList.scale-400.png │ ├── AppList.targetsize-16.png │ ├── AppList.targetsize-16_altform-unplated.png │ ├── AppList.targetsize-24.png │ ├── AppList.targetsize-24_altform-unplated.png │ ├── AppList.targetsize-256.png │ ├── AppList.targetsize-256_altform-unplated.png │ ├── AppList.targetsize-32.png │ ├── AppList.targetsize-32_altform-unplated.png │ ├── AppList.targetsize-48.png │ ├── AppList.targetsize-48_altform-unplated.png │ ├── AppMedTile.scale-100.png │ ├── AppMedTile.scale-125.png │ ├── AppMedTile.scale-150.png │ ├── AppMedTile.scale-200.png │ ├── AppMedTile.scale-400.png │ ├── AppSmallTile.scale-100.png │ ├── AppSmallTile.scale-125.png │ ├── AppSmallTile.scale-150.png │ ├── AppSmallTile.scale-200.png │ ├── AppSmallTile.scale-400.png │ ├── AppStoreLogo.scale-100.png │ ├── AppStoreLogo.scale-125.png │ ├── AppStoreLogo.scale-150.png │ ├── AppStoreLogo.scale-200.png │ ├── AppStoreLogo.scale-400.png │ ├── AppWideTile.scale-100.png │ ├── AppWideTile.scale-125.png │ ├── AppWideTile.scale-150.png │ ├── AppWideTile.scale-200.png │ └── AppWideTile.scale-400.png ├── app.exe ├── app.jar ├── resources.pri ├── resources.scale-100.pri ├── resources.scale-125.pri ├── resources.scale-150.pri └── resources.scale-200.pri ├── README.md ├── auto-generated.cer ├── auto-generated.pfx ├── createAppx-cyg.sh ├── createAppx.sh └── launch4j.xml /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [crramirez] 4 | -------------------------------------------------------------------------------- /PackageFiles/AppxManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | SwingSet 6 | SwingSet 7 | Assets\AppStoreLogo.png 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /PackageFiles/Assets/AppLargeTile.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppLargeTile.scale-100.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppLargeTile.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppLargeTile.scale-125.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppLargeTile.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppLargeTile.scale-150.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppLargeTile.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppLargeTile.scale-200.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppLargeTile.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppLargeTile.scale-400.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.scale-100.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.scale-125.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.scale-150.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.scale-200.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.scale-400.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.targetsize-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.targetsize-16.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.targetsize-16_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.targetsize-16_altform-unplated.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.targetsize-24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.targetsize-24.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.targetsize-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.targetsize-256.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.targetsize-256_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.targetsize-256_altform-unplated.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.targetsize-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.targetsize-32.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.targetsize-32_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.targetsize-32_altform-unplated.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.targetsize-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.targetsize-48.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppList.targetsize-48_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppList.targetsize-48_altform-unplated.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppMedTile.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppMedTile.scale-100.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppMedTile.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppMedTile.scale-125.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppMedTile.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppMedTile.scale-150.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppMedTile.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppMedTile.scale-200.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppMedTile.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppMedTile.scale-400.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppSmallTile.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppSmallTile.scale-100.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppSmallTile.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppSmallTile.scale-125.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppSmallTile.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppSmallTile.scale-150.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppSmallTile.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppSmallTile.scale-200.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppSmallTile.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppSmallTile.scale-400.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppStoreLogo.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppStoreLogo.scale-100.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppStoreLogo.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppStoreLogo.scale-125.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppStoreLogo.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppStoreLogo.scale-150.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppStoreLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppStoreLogo.scale-200.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppStoreLogo.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppStoreLogo.scale-400.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppWideTile.scale-100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppWideTile.scale-100.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppWideTile.scale-125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppWideTile.scale-125.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppWideTile.scale-150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppWideTile.scale-150.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppWideTile.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppWideTile.scale-200.png -------------------------------------------------------------------------------- /PackageFiles/Assets/AppWideTile.scale-400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/Assets/AppWideTile.scale-400.png -------------------------------------------------------------------------------- /PackageFiles/app.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/app.exe -------------------------------------------------------------------------------- /PackageFiles/app.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/app.jar -------------------------------------------------------------------------------- /PackageFiles/resources.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/resources.pri -------------------------------------------------------------------------------- /PackageFiles/resources.scale-100.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/resources.scale-100.pri -------------------------------------------------------------------------------- /PackageFiles/resources.scale-125.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/resources.scale-125.pri -------------------------------------------------------------------------------- /PackageFiles/resources.scale-150.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/resources.scale-150.pri -------------------------------------------------------------------------------- /PackageFiles/resources.scale-200.pri: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/PackageFiles/resources.scale-200.pri -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # uwp_bridge_java 2 | Skeleton for packing Java applications for publishing them on Windows Store 3 | 4 | # Background 5 | 6 | Every desktop application converted using the Desktop App Converter is placed in a directory with some extra files and an **AppxManifest.xml** which describe its content. 7 | 8 | This project is the result of running the Desktop App Converter to obtain a runnable Java application on Windows Store. Also it includes an executable made with launch4j to run the included java application. 9 | 10 | You won't have to run the Desktop App Converter. Also you don't need to have an installer for your Java application. 11 | 12 | This project and the following steps are completely based on this documentation: https://docs.microsoft.com/en-us/windows/uwp/porting/. Please read it and if you have any doubt about the material in this page go there. 13 | 14 | # Quick Start 15 | 16 | This project includes the example included with the JDK called SwingSet2. Follow these intructions to pack SwingeSet2 as a Windows 10 Application. 17 | 18 | 1. Download the latest Java JRE for Windows in TAR format from: http://www.oracle.com/technetwork/java/javase/downloads/index.html the file name is like: **jre-8u131-windows-x64.tar.gz** put it in the project folder. 19 | 2. Download and install (If you don't have it already) the latest Windows 10 SDK. 20 | 3. If you have Cygwin or Windows Subsystem for Linux (WSL) you can run one of the two scripts included: **createAppx-cyg.sh** or **createAppx.sh** respectively. First change the environment variable **WINDOWSSDK** with the installation path of your SDK. 21 | 4. If you don't want or can't run the script, do the following steps. 22 | 5. Expand the **jre-8u###-windows-x64.tar.gz** in the **PackageFiles** subdirectory and rename the resulting folder to **jre** 23 | 6. Call _yourwindows10sdkhome_\ `makeappx.exe" pack /d PackageFiles /p SwingSet.appx /o /v /l` 24 | 7. Call _yourwindows10sdkhome_\ `signtool.exe" sign /a /fd SHA256 /f auto-generated.pfx /p 123456 SwingSet.appx` 25 | 26 | If someone can contribute with a .bat or powershell script whould be greatly appreciated. 27 | ## Run the resulting package 28 | 1. Double-click the **auto-generated.cer** file to install the certificate. 29 | 30 | ![alt text](https://docs.microsoft.com/en-us/windows/uwp/porting/images/desktop-to-uwp/generated-cert-file.png "Cert file") 31 | 32 | 2. In the **Certificate** dialog box, choose the **Install Certificate** button. 33 | 3. In the **Certificate Import Wizard**, install the certificate onto the **Local Machine**, and place the certificate into the **Trusted People** certificate store. 34 | 35 | ![alt text](https://docs.microsoft.com/en-us/windows/uwp/porting/images/desktop-to-uwp/trusted-people-store.png "Trusted People Store") 36 | 37 | 4. In root folder of the packaged app, double click the Windows app package file (SwingSet.appx). 38 | 5. Install the app, by choosing the Install button. 39 | 40 | ![alt text](https://docs.microsoft.com/en-us/windows/uwp/porting/images/desktop-to-uwp/install.png "Install button") 41 | 42 | # Pack your own application 43 | 44 | _In progress_ 45 | 46 | -------------------------------------------------------------------------------- /auto-generated.cer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/auto-generated.cer -------------------------------------------------------------------------------- /auto-generated.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crramirez/uwp_bridge_java/756b4d22fd0e338aae875d8aa929df6f90208d1c/auto-generated.pfx -------------------------------------------------------------------------------- /createAppx-cyg.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | cd "$(dirname "$0")" 4 | 5 | if [ ! -e PackageFiles/jre ]; then 6 | tar -xvzf jre-8u*-windows-x64.tar.gz 7 | mv jre1.8.* PackageFiles/jre 8 | fi 9 | 10 | export WINDOWSSDK="/cygdrive/c/Program Files (x86)/Windows Kits/10/bin/10.0.15063.0/x64" 11 | 12 | #Make appx 13 | "${WINDOWSSDK}/makeappx.exe" pack /d PackageFiles /p SwingSet.appx /o /v /l 14 | 15 | #Sign 16 | "${WINDOWSSDK}/signtool.exe" sign /a /fd SHA256 /f auto-generated.pfx /p 123456 SwingSet.appx 17 | -------------------------------------------------------------------------------- /createAppx.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | cd "$(dirname "$0")" 4 | 5 | if [ ! -e PackageFiles/jre ]; then 6 | tar -xvzf jre-8u*-windows-x64.tar.gz 7 | mv jre1.8.* PackageFiles/jre 8 | fi 9 | 10 | export WINDOWSSDK="/mnt/c/Program Files (x86)/Windows Kits/10/bin/10.0.15063.0/x64" 11 | 12 | #Make appx 13 | "${WINDOWSSDK}/makeappx.exe" pack /d PackageFiles /p SwingSet.appx /o /v /l 14 | 15 | #Sign 16 | "${WINDOWSSDK}/signtool.exe" sign /a /fd SHA256 /f auto-generated.pfx /p 123456 SwingSet.appx 17 | -------------------------------------------------------------------------------- /launch4j.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | true 4 | gui 5 | app.jar 6 | PackageFiles\app.exe 7 | 8 | 9 | . 10 | normal 11 | http://java.com/download 12 | 13 | false 14 | false 15 | 16 | 17 | 18 | jre 19 | true 20 | false 21 | 22 | 23 | preferJre 24 | 64/32 25 | 26 | --------------------------------------------------------------------------------