Electron-Windows-Store: CLI yang mengambil keluaran paket aplikasi Electron Anda, lalu mengubahnya menjadi paket AppX. Ini memungkinkan Anda mengirimkan aplikasi Electron Anda ke Windows Store?. Anda juga dapat mendistribusikan aplikasi Anda sebagai .appx
tanpa menggunakan Windows Store, sehingga pengguna cukup mengklik dua kali .appx
Anda untuk menginstalnya secara otomatis.
Untuk menginstal alat baris perintah ini, dapatkan langsung dari npm:
npm install -g electron-windows-store
Kemudian, konfigurasikan PowerShell Anda:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Untuk mengubah aplikasi Electron menjadi paket AppX, jalankan:
electron-windows-store --input-directory C:myelectronapp --output-directory C:outputmyelectronapp --package-version 1.0.0.0 --package-name myelectronapp
Alat ini mendukung dua metode untuk membuat paket AppX: Menggunakan operasi penyalinan file manual, atau menggunakan Windows Containers. Opsi pertama hanya memerlukan Windows 10 SDK, sedangkan opsi kedua juga memerlukan Desktop App Converter.
Sebelum menjalankan CLI Electron-Windows-Store, pastikan kita memiliki semua prasyarat yang ada. Anda akan membutuhkan:
node -v
) Kemas aplikasi menggunakan electron-packager (atau yang serupa). Pastikan untuk menghapus node_modules yang tidak Anda perlukan di aplikasi akhir Anda.
Outputnya akan terlihat seperti ini:
├── Ghost.exe
├── LICENSE
├── content_resources_200_percent.pak
├── node.dll
├── pdf.dll
├── resources
│ ├── app
│ └── atom.asar
├── snapshot_blob.bin
├── [... and more files]
Dari PowerShell yang ditinggikan (jalankan "sebagai Administrator") , jalankan electron-windows-store
dengan parameter yang diperlukan, meneruskan direktori input dan output, nama dan versi aplikasi. Jika Anda tidak memenuhi parameter ini, kami hanya akan menanyakannya kepada Anda.
electron-windows-store --input-directory C:myelectronapp --output-directory C:outputmyelectronapp --package-version 1.0.0.0 --package-name myelectronapp
Ini semua adalah opsi untuk CLI:
-h, --help output usage information
-V, --version output the version number
-c, --container-virtualization Create package using Windows Container virtualization
-b, --windows-build Display Windows Build information
-i, --input-directory <path> Directory containing your application
-o, --output-directory <path> Output directory for the appx
-p, --package-version <version> Version of the app package
-n, --package-name <name> Name of the app package
--package-display-name <displayName> Display name of the package
--package-description <description> Description of the package
--package-background-color <color> Background color for the app icon (example: #464646)
-e, --package-executable <executablePath> Path to the package executable
-a, --assets <assetsPath> Path to the visual assets for the appx
-m, --manifest <manifestPath> Path to a manifest, if you want to be overwritten
-d, --deploy <true|false> Should the app be deployed after creation?
--identity-name <name> Name for identity
--publisher <publisher> Publisher to use (example: CN=developmentca)
--publisher-display-name <publisherDisplayName> Publisher display name to use
--make-pri <true|false> Use makepri.exe (you don't need to unless you know you do)
--windows-kit <windows-kit> Path to the Windows Kit bin folder
--dev-cert <dev-cert> Path to the developer certificate to use
--cert-pass <cert-pass> Password to use when signing the application (only necessary if a p12 certication is used)
--desktop-converter <desktop-converter> Path to the desktop converter tools
--expanded-base-image <base-image> Path to the expanded base image
--makeappx-params <params> Additional parameters for Make-AppXPackage (example: --makeappx-params "/l","/d")
--signtool-params <params> Additional parameters for signtool.exe (example: --makeappx-params "/l","/d")
--create-config-params <params> Additional parameters for makepri.exe "createconfig" (example: --create-config-params "/l","/d")')
--create-pri-params <params> Additional parameters for makepri.exe "new" (example: --create-pri-params "/l","/d")')
--verbose <true|false> Enable debugging (similar to setting a DEBUG=electron-windows-store environment variable)
Anda dapat menghubungi paket ini secara langsung. Semua opsi sesuai dengan opsi CLI dan sama-sama opsional. Ada satu pengecualian: Anda dapat menyediakan fungsi finalSay
, yang akan dieksekusi tepat sebelum makeappx.exe
dipanggil. Ini memungkinkan Anda untuk memodifikasi folder keluaran tepat sebelum kita mengubahnya menjadi sebuah paket.
const convertToWindowsStore = require ( 'electron-windows-store' )
convertToWindowsStore ( {
containerVirtualization : false ,
inputDirectory : 'C:\input\' ,
outputDirectory : 'C:\output\' ,
packageVersion : '1.0.0.0' ,
packageName : 'Ghost' ,
packageDisplayName : 'Ghost Desktop' ,
packageDescription : 'Ghost for Desktops' ,
packageExecutable : 'app/Ghost.exe' ,
assets : 'C:\assets\' ,
manifest : 'C:\AppXManifest.xml' ,
deploy : false ,
publisher : 'CN=developmentca' ,
windowsKit : 'C:\windowskit' ,
devCert : 'C:\devcert.pfx' ,
certPass : 'abcd' ,
desktopConverter : 'C:\desktop-converter-tools' ,
expandedBaseImage : 'C:\base-image.wim' ,
makeappxParams : [ '/l' ] ,
signtoolParams : [ '/p' ] ,
makePri : true ,
createConfigParams : [ '/a' ] ,
createPriParams : [ '/b' ] ,
protocol : "ghost-app" ,
finalSay : function ( ) {
return new Promise ( ( resolve , reject ) => resolve ( ) )
}
} )
Desktop App Converter mampu menjalankan penginstal dan aplikasi Anda selama konversi di dalam Windows Container. Ini memerlukan instalasi Desktop App Converter dan memiliki persyaratan lebih lanjut.
appx
menggunakan wadah Windows, gunakan metode "Penyalinan File" yang dijelaskan di atas.
Pastikan komputer Anda mampu menjalankan container: Anda memerlukan prosesor 64 bit (x64), virtualisasi berbantuan perangkat keras, dan Level Address Translation (SLAT) kedua. Anda juga memerlukan Windows 10 Enterprise Edition.
Sebelum menjalankan CLI untuk pertama kalinya, Anda harus menyiapkan "Windows Desktop App Converter". Ini akan memakan waktu beberapa menit, tapi jangan khawatir - Anda hanya perlu melakukannya sekali. Unduh dan Pengonversi Aplikasi Desktop dari sini. Anda akan menerima dua file: DesktopAppConverter.zip
dan BaseImage-14316.wim
.
DesktopAppConverter.zip
. Dari PowerShell yang ditinggikan (dibuka dengan "jalankan sebagai Administrator"., pastikan bahwa kebijakan eksekusi sistem Anda memungkinkan kami menjalankan semua yang ingin kami jalankan dengan memanggil Set-ExecutionPolicy bypass
.BaseImage-14316.wim
), dengan memanggil .DesktopAppConverter.ps1 -Setup -BaseImage .BaseImage-14316.wim
. Kemudian, jalankan electron-windows-store
dengan tanda --container-virtualization
!
Setelah dijalankan, alat tersebut mulai berfungsi: Alat ini menerima aplikasi Electron Anda sebagai masukan. Kemudian, aplikasi Anda diarsipkan sebagai app.zip
. Menggunakan penginstal dan Kontainer Windows, alat ini membuat paket AppX yang "diperluas" - termasuk Manifes Aplikasi Windows ( AppXManifest.xml
) serta sistem file virtual dan registri virtual di dalam folder keluaran Anda.
Setelah kami memiliki file AppX yang diperluas, alat tersebut menggunakan Windows App Packager ( MakeAppx.exe
) untuk membuat paket AppX file tunggal dari file-file tersebut di disk. Terakhir, alat ini dapat digunakan untuk membuat sertifikat tepercaya di komputer Anda untuk menandatangani paket AppX baru. Dengan paket AppX yang ditandatangani, CLI juga dapat menginstal paket tersebut secara otomatis di mesin Anda.
Saat pertama kali Anda menjalankan alat ini, alat ini perlu mengetahui beberapa pengaturan. Ini hanya akan menanyakan Anda sekali dan menyimpan jawaban Anda di folder profil Anda dalam file .electron-windows-store
. Anda juga dapat memberikan nilai-nilai ini sebagai parameter saat menjalankan CLI.
{
"publisher" : " CN=developmentca " ,
"windowsKit" : " C: \ Program Files (x86) \ Windows Kits \ 10 \ bin \ x64 " ,
"devCert" : " C: \ Tools \ DesktopConverter \ Certs \ devcert.pfx " ,
"desktopConverter" : " C: \ Tools \ DesktopConverter " ,
"expandedBaseImage" : " C: \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 \ "
}
Anda dapat memasangkan aplikasi Electron Anda dengan sedikit efek samping UWP yang tidak terlihat, memungkinkan aplikasi Electron Anda memanggil semua API WinRT. Lihat contohnya di sini.
Paket AppX yang dikompilasi masih berisi win32 yang dapat dieksekusi - dan karenanya tidak akan berjalan di Xbox, HoloLens, atau Ponsel.
electron-windows-store
menggunakan Rilis Semantik untuk mengotomatiskan seluruh proses rilis. Untuk menggabungkan PR, pastikan PR Anda mengikuti pedoman penerapan sehingga robot kami dapat memahami perubahan Anda. Repositori ini menggunakan aturan conventional-changelog
default.
Berlisensi menggunakan Lisensi MIT (MIT); Hak Cipta (c) Felix Rieseberg dan Microsoft Corporation. Untuk informasi lebih lanjut, silakan lihat LISENSI.