פרסום ל-Microsoft Store: MSIX, אישור, CI/CD
מפתחים נתקלים לעיתים קרובות בדחיית אישור עקב מניפסט או אייקונים לא תקינים. השגיאה The package manifest is not valid ב-WACK היא בעיה אופיינית אפילו עבור צוותים מנוסים. הוסיפו מורכבות נוספת: האפליקציה חייבת לפעול כראוי על ארכיטקטורות שונות (x86, x64, ARM64) וגרסאות Windows 10/11. קישור שגוי לבנייה ספציפית הוא גורם נפוץ לכשל ב-WACK. אנו עוזרים לנווט בנתיב זה תוך 3–5 ימים—מאריזת MSIX ועד פרסום מלא. ציינו את המקרה שלכם ואנו נכין את האפליקציה שלכם לשחרור.
Microsoft Store תומך בשלושה פורמטים: MSIX ארוז (Win32), UWP ו-PWA. MSIX מבטיח התקנה והסרה נקייה ללא עקבות. Electron ופריימוורקים חוצי-פלטפורמות אחרים מתפרסמים דרך MSIX—זה מאפשר שימוש ב-API המלא של Win32 ללא כתיבה מחדש ב-WinRT.
פורמטי פרסום ב-Microsoft Store
| פורמט | קהל יעד | מאפיינים |
|---|---|---|
| MSIX (Win32 ארוז) | כל Windows 10/11 | גישה מלאה ל-API של Win32, תמיכה ב-Electron |
| UWP | Windows 10/11 (Store) | ארגז חול, גישה מוגבלת למערכת הקבצים |
| PWA | Windows 10/11 (Edge) | אפליקציות אינטרנט בלבד, ללא תכונות שולחן עבודה |
איך לארוז אפליקציית Electron ל-MSIX?
# electron-builder.yml win: target: - target: nsis - target: msix icon: build/icon.ico msix: applicationId: com.company.AppName backgroundColor: "#transparent" displayName: "App Name" publisherDisplayName: "Company Name" identityName: "CompanyName.AppName" יכול לבנות MSIX ישירות. דוגמת תצורה:
---
# electron-builder.yml
win:
target:
- target: nsis
- target: msix
icon: build/icon.ico
msix:
applicationId: com.company.AppName
backgroundColor: "#transparent"
displayName: "App Name"
publisherDisplayName: "Company Name"
identityName: "CompanyName.AppName"
--- npx electron-builder --win msix חתימת החבילה דורשת אישור מפתח מ-CA מהימן (DigiCert, GlobalSign) או אישור מ-Partner Center. אישורים בחתימה עצמית אינם מתקבלים. אנו משתמשים בחתימה אוטומטית דרך npx electron-builder --win msix ו-CSC_LINK ב-CI.
למה MSIX הוא הפורמט המועדף ל-Store?
MSIX מספק סביבה מבודדת, מבטיח הסרה ועדכונים נכונים דרך ה-Store. בניגוד ל-UWP, חבילות MSIX יכולות להשתמש ב-API של Win32, כך שאפליקציות קיימות אינן דורשות כתיבה מחדש מלאה. הפורמט מאושר על ידי WACK, שבודק עמידה בדרישות Microsoft. שגיאות WACK הן הסיבה העיקרית לדחייה, ולכן אנו שמים דגש מיוחד על בדיקה מוקדמת.
מקרה אמיתי: צמצום זמן האישור משבועיים ל-3 ימים
בפרויקט אחרון לכלי אנליטיקה מבוסס Electron, הלקוח נכשל ב-WACK שלוש פעמים עקב גדלי אייקונים שגויים ומוציא לאור לא תואם במניפסט. ניתחנו את החבילה, בנינו אותה מחדש עם מניפסטים נכונים, יצרנו אייקונים מתאימים והרצנו WACK מקומית מראש. התיקון לקח יום אחד, והאפליקציה עברה אישור בהגשה הראשונה מחדש. כל התהליך—מניתוח ראשוני ועד פרסום ב-Store—לקח שלושה ימים.
איך לעבור אישור WACK בניסיון הראשון?
לפני ההעלאה, תמיד הריצו WACK מקומית:
& "C:\Program Files (x86)\Windows Kits\10\App Certification Kit\appcert.exe" `
test -apppackagepath .\AppName.msix -reportoutputpath .\report.xml
WACK בודק: מניפסט תקין, ללא API אסורים, אייקונים נכונים (נדרשים Square44x44, Square150x150, StoreLogo 300x300). בדקו את Publisher במניפסט: הוא חייב להתאים לאישור. הניסיון שלנו—5+ שנים בפרסום אפליקציות Windows, מעל 30 שחרורים מוצלחים ל-Store. אנו מבטיחים מעבר WACK בניסיון הראשון.
מה אם WACK נותן שגיאה?
| שגיאה | סיבה | פתרון |
|---|---|---|
| Publisher לא תקין במניפסט | שונה מהאישור | השתמשו ב-Publisher מהאישור |
| חסרים אייקונים חובה | לא כל הגדלים במניפסט | הוסיפו Square44x44, Square150x150, StoreLogo |
| שימוש ב-API אסורים | אי-תאימות ל-Store | החליפו ב-API מקבילים של Win32 |
| חריגה מגודל החבילה | >10 GB (מגבלת Store) | בצעו אופטימיזציה או פיצול |
רישום ב-Partner Center
- רשמו חשבון מפתח (תשלום חד-פעמי).
- צרו אפליקציה חדשה: Partner Center → Apps → New product.
- שמרו את השם ומלאו מטא-דאטה: תיאור, צילומי מסך (מינימום 3, רזולוציה מ-1366×768), קטגוריה, דירוג גיל.
- הגדירו מודל תמחור (מוצר חינמי או בתשלום).
מילוי מטא-דאטה הוא קריטי: דירוג גיל שגוי או קטגוריה לא נכונה מובילים לדחייה. אנו ממליצים להפקיד עבודה זו בידי המומחים שלנו.
אוטומציה של פרסום עדכונים
השתמשו ב-GitHub Actions עם CSC_KEY_PASSWORD. דוגמת workflow:
---
- name: Build MSIX
run: npx electron-builder --win msix
env:
CSC_LINK: ${{ secrets.WIN_CERTIFICATE }}
CSC_KEY_PASSWORD: ${{ secrets.WIN_CERTIFICATE_PWD }}
- name: Upload to Partner Center
uses: microsoft/store-submission-action@v1
with:
seller-id: ${{ secrets.MS_SELLER_ID }}
product-id: ${{ secrets.MS_PRODUCT_ID }}
package-path: dist/AppName.msix
tenant-id: ${{ secrets.MS_TENANT_ID }}
client-id: ${{ secrets.MS_CLIENT_ID }}
client-secret: ${{ secrets.MS_CLIENT_SECRET }}
לאחר ההעלאה, Microsoft מבצעת בדיקה (1–3 ימי עסקים). עדכונים עוברים מהר יותר—תוך 1–2 ימים. עבור GitLab CI, התצורה דומה—השתמשו ב-action המתאים או בסקריפט shell עם Azure CLI.
מה כלול בעבודה?
- ניתוח אפליקציה ובחירת פורמט (MSIX, UWP או PWA)
- יצירת חבילת MSIX עם מניפסט ואייקונים נכונים
- אישור WACK ופתרון שגיאות
- רישום ב-Partner Center ומילוי מטא-דאטה
- הגדרת CI/CD לפרסום אוטומטי (GitHub Actions, GitLab CI)
- הבטחת פרסום מוצלח בניסיון הראשון
לוח זמנים
הכנת MSIX, אישור WACK ופרסום ראשון: 3–5 ימי עסקים. עבור אפליקציות מורכבות (עם דרייברים, הרחבות), לוח הזמנים עשוי להתארך ל-7–10 ימים. העלות מחושבת באופן אישי לפי מורכבות הפרויקט.
יש לנו ניסיון רב שנים, עם עשרות פרויקטים שפורסמו ב-Microsoft Store. המהנדסים שלנו מחזיקים באישורי Microsoft ומוכנים לפתור בעיות לא סטנדרטיות. קבלו ייעוץ—נעריך את הפרויקט שלכם ונציע את הנתיב האופטימלי.







