Electron-Windows-Store: واجهة سطر الأوامر (CLI) التي تأخذ المخرجات المجمعة لتطبيق Electron الخاص بك، ثم تقوم بتحويلها إلى حزمة AppX. يتيح لك هذا إرسال تطبيق Electron الخاص بك إلى متجر Windows؟. يمكنك أيضًا توزيع تطبيقك كملف .appx
دون استخدام متجر Windows، مما يسمح للمستخدمين بالنقر المزدوج على .appx
لتثبيته تلقائيًا.
لتثبيت أداة سطر الأوامر هذه، احصل عليها مباشرةً من npm:
npm install -g electron-windows-store
ثم قم بتكوين PowerShell الخاص بك:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
لتحويل تطبيق Electron إلى حزمة AppX، قم بتشغيل:
electron-windows-store --input-directory C:myelectronapp --output-directory C:outputmyelectronapp --package-version 1.0.0.0 --package-name myelectronapp
تدعم هذه الأداة طريقتين لإنشاء حزم AppX: إما باستخدام عمليات نسخ الملفات اليدوية، أو باستخدام حاويات Windows. يتطلب الخيار الأول Windows 10 SDK فقط، بينما يتطلب الخيار الثاني أيضًا محول تطبيقات سطح المكتب.
قبل تشغيل Electron-Windows-Store CLI، دعونا نتأكد من أن لدينا جميع المتطلبات الأساسية في مكانها الصحيح. سوف تحتاج إلى:
node -v
) قم بتعبئة التطبيق باستخدام أداة التغليف الإلكتروني (أو شيء مشابه). تأكد من إزالة وحدات العقدة التي لا تحتاجها في تطبيقك النهائي.
يجب أن يبدو الإخراج تقريبًا مثل هذا:
├── Ghost.exe
├── LICENSE
├── content_resources_200_percent.pak
├── node.dll
├── pdf.dll
├── resources
│ ├── app
│ └── atom.asar
├── snapshot_blob.bin
├── [... and more files]
من PowerShell مرتفع (قم بتشغيله "كمسؤول") ، قم بتشغيل electron-windows-store
مع المعلمات المطلوبة، وتمرير كل من دليلي الإدخال والإخراج، واسم التطبيق وإصداره. إذا لم تقم باجتياز هذه المعلمات، فسنطلبها منك ببساطة.
electron-windows-store --input-directory C:myelectronapp --output-directory C:outputmyelectronapp --package-version 1.0.0.0 --package-name myelectronapp
هذه كلها خيارات لـ 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)
يمكنك الاتصال بهذه الحزمة مباشرة. تتوافق جميع الخيارات مع خيارات CLI وهي اختيارية بنفس القدر. هناك استثناء واحد: يمكنك توفير دالة finalSay
، والتي سيتم تنفيذها مباشرة قبل استدعاء makeappx.exe
. يتيح لك هذا تعديل مجلد الإخراج مباشرة قبل تحويله إلى حزمة.
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 تشغيل برنامج التثبيت وتطبيقك أثناء التحويل داخل حاوية Windows. يتطلب هذا تثبيت Desktop App Converter وله متطلبات أكثر تقدمًا.
appx
الخاص بك باستخدام حاوية Windows، استخدم طريقة "نسخ الملفات" الموضحة أعلاه.
تأكد من أن جهاز الكمبيوتر الخاص بك قادر على تشغيل الحاويات: ستحتاج إلى معالج 64 بت (x64) ومحاكاة افتراضية مدعومة بالأجهزة وترجمة عنوان المستوى الثاني (SLAT). ستحتاج أيضًا إلى Windows 10 Enterprise Edition.
قبل تشغيل واجهة سطر الأوامر للمرة الأولى، سيتعين عليك إعداد "محول تطبيقات سطح مكتب Windows". سيستغرق هذا بضع دقائق، لكن لا تقلق، ما عليك سوى القيام بذلك مرة واحدة. قم بتنزيل ومحول تطبيقات سطح المكتب من هنا. سوف تتلقى ملفين: DesktopAppConverter.zip
و BaseImage-14316.wim
.
DesktopAppConverter.zip
. من PowerShell مرتفع (مفتوح باستخدام "تشغيل كمسؤول"، تأكد من أن سياسة تنفيذ الأنظمة الخاصة بك تسمح لنا بتشغيل كل ما نعتزم تشغيله عن طريق استدعاء Set-ExecutionPolicy bypass
.BaseImage-14316.wim
) عن طريق الاتصال بـ .DesktopAppConverter.ps1 -Setup -BaseImage .BaseImage-14316.wim
. بعد ذلك، قم بتشغيل electron-windows-store
باستخدام علامة --container-virtualization
!
بمجرد تنفيذها، تبدأ الأداة في العمل: فهي تقبل تطبيق Electron الخاص بك كمدخل. وبعد ذلك، يقوم بأرشفة تطبيقك كـ app.zip
. باستخدام أداة التثبيت وحاوية Windows، تقوم الأداة بإنشاء حزمة AppX "موسعة" - بما في ذلك Windows Application Manifest ( AppXManifest.xml
) بالإضافة إلى نظام الملفات الظاهري والسجل الظاهري داخل مجلد الإخراج الخاص بك.
بمجرد حصولنا على ملفات AppX الموسعة، تستخدم الأداة Windows App Packager ( MakeAppx.exe
) لإنشاء حزمة AppX أحادية الملف من تلك الملفات الموجودة على القرص. وأخيرًا، يمكن استخدام الأداة لإنشاء شهادة موثوقة على جهاز الكمبيوتر الخاص بك للتوقيع على حزمة AppX pacakge الجديدة. باستخدام حزمة AppX الموقعة، يمكن لواجهة سطر الأوامر (CLI) أيضًا تثبيت الحزمة تلقائيًا على جهازك.
في المرة الأولى التي تقوم فيها بتشغيل هذه الأداة، فإنها تحتاج إلى معرفة بعض الإعدادات. سيطلب منك مرة واحدة فقط ويخزن إجاباتك في مجلد ملف التعريف الخاص بك في ملف .electron-windows-store
. يمكنك أيضًا توفير هذه القيم كمعلمة عند تشغيل واجهة سطر الأوامر (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 \ "
}
يمكنك إقران تطبيق Electron الخاص بك مع القليل من الركلات الجانبية غير المرئية UWP، مما يتيح لتطبيق Electron الخاص بك الاتصال بجميع واجهات برمجة تطبيقات WinRT. تحقق من مثال هنا.
لا تزال حزمة AppX المترجمة تحتوي على ملف win32 القابل للتنفيذ - وبالتالي لن يتم تشغيلها على Xbox أو HoloLens أو الهواتف.
يستخدم electron-windows-store
الإصدار الدلالي لأتمتة عملية الإصدار بأكملها. من أجل دمج العلاقات العامة، يرجى التأكد من أن العلاقات العامة الخاصة بك تتبع إرشادات الالتزام حتى تتمكن الروبوتات لدينا من فهم التغيير الذي أجريته. يستخدم هذا المستودع قواعد conventional-changelog
الافتراضية.
مرخص باستخدام ترخيص MIT (MIT)؛ حقوق الطبع والنشر (ج) لشركة Felix Rieseberg وشركة Microsoft. لمزيد من المعلومات، يرجى الاطلاع على الترخيص.