Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa guida illustra come configurare l'ambiente di sviluppo Electron per lo sviluppo di API Windows. Si installeranno gli strumenti necessari, si inizializzeranno i project e si configureranno gli SDK di Windows.
Al termine di questa guida, si avrà un'app Electron che:
- Chiama le API di Windows moderne (Windows SDK e Windows App SDK)
- Può usare componenti aggiuntivi nativi con funzionalità di intelligenza artificiale (Phi Silica o WinML)
- Viene eseguito con l'identità dell'app per testare le API protette
- Può essere inserita in un pacchetto come MSIX firmato per la distribuzione
Prerequisiti
- Windows 11 (Copilot+ PC se si utilizza Phi Silica)
-
Node.js -
winget install OpenJS.NodeJS --source winget -
.NET SDK v10 -
winget install Microsoft.DotNet.SDK.10 --source winget -
Visual Studio con il workload desktop nativo -
winget install --id Microsoft.VisualStudio.Community --source winget --override "--add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --passive --wait"
Passaggio 1: Creare una nuova app Electron
Iniziare con una nuova app Electron usando Electron Forge. Se si dispone di un'app esistente, ignorare questo passaggio.
npm create electron-app@latest my-windows-app
cd my-windows-app
Verificare che l'app funzioni correttamente:
npm start
Passaggio 2: Installare il CLI di winapp
npm install --save-dev @microsoft/winappcli
Passaggio 3: Inizializzare il project per lo sviluppo di Windows
npx winapp init
Quando richiesto:
- Nome pacchetto: premere INVIO per accettare il valore predefinito (my-windows-app)
- Publisher nome: premere INVIO per accettare il valore predefinito o immettere il nome
- Versione: premere INVIO per accettare 1.0.0.0
- Punto di ingresso: premere INVIO per accettare il valore predefinito (my-windows-app.exe)
- SDK di installazione: selezionare "SDK stabili"
Che cosa fa winapp init?
Questo comando configura tutto ciò che serve per lo sviluppo di Windows:
-
Crea la cartella
.winapp/contenente intestazioni e librerie da Windows SDK e Windows App SDK -
Genera
appxmanifest.xml- Manifesto dell'app necessario per l'identità dell'app e la creazione di pacchetti MSIX -
Crea
Assets/una cartella : contiene icone dell'app e asset visivi -
Crea
winapp.yaml- Tiene traccia delle versioni dell'SDK e della configurazione del progetto - Installa Windows App SDK runtime - Componenti di runtime necessari per le API moderne
- Abilita la modalità sviluppatore in Windows - Obbligatorio per il debug
Annotazioni
La cartella .winapp/ viene aggiunta automaticamente a .gitignore e non deve essere inserita nel controllo del codice sorgente.
Passaggio 4: Aggiungere il ripristino alla pipeline di compilazione
Aggiungere uno script postinstall al package.json per assicurarsi che gli SDK di Windows siano disponibili quando altri sviluppatori clonano il project:
{
"scripts": {
"postinstall": "winapp restore && winapp node add-electron-debug-identity"
}
}
Questo script viene eseguito dopo npm install e:
-
winapp restore- Scarica e ripristina tutti i pacchetti di Windows SDK -
winapp node add-electron-debug-identity- Registra la tua app Electron con l'identità di debug
Per i progetti multipiattaforma, creare scripts/postinstall.js:
if (process.platform === 'win32') {
const { execSync } = require('child_process');
try {
execSync('npx winapp restore && npx winapp cert generate --if-exists skip && npx winapp node add-electron-debug-identity', {
stdio: 'inherit'
});
} catch (error) {
console.warn('Warning: Windows-specific setup failed.');
}
} else {
console.log('Skipping Windows-specific setup on non-Windows platform.');
}
Quindi aggiorna
{
"scripts": {
"postinstall": "node scripts/postinstall.js"
}
}
Passaggio 5: Comprensione dell'identità di debug
Il comando winapp node add-electron-debug-identity:
- Legge il tuo
appxmanifest.xmlper ottenere i dettagli e le funzionalità dell'app - Registra
electron.exenelnode_modulescon un'identità temporanea. - Consente di testare le API necessarie per l'identità senza creare un pacchetto MSIX completo
Esegui questo comando manualmente ogni volta che modifichi appxmanifest.xml o le risorse collegate.
npx winapp node add-electron-debug-identity
Testare la configurazione:
npm start
Annotazioni
Esiste un bug noto di Windows con pacchetti sparse di applicazioni Electron che possono causare arresti anomali o finestre vuote. Aggiungere --no-sandbox allo script iniziale come soluzione alternativa: "start": "electron-forge start -- --no-sandbox". Questo problema non influisce sulla creazione di pacchetti MSIX completi. Per annullare l'identità di debug, eseguire npx winapp node clear-electron-debug-identity.
Passaggi successivi
Ora che l'ambiente di sviluppo è configurato, creare componenti aggiuntivi nativi e chiamare le API di Windows:
- Creazione di un componente aggiuntivo di notifica C++ - Chiamare le API di notifica di Windows da un componente aggiuntivo C++
- Creazione di un componente aggiuntivo Phi Silica - Usare l'intelligenza artificiale sul dispositivo per il riepilogo del testo
- Creare un componente aggiuntivo WinML - Esegui modelli di apprendimento automatico ONNX
- Creazione di pacchetti per la distribuzione - Creare un pacchetto MSIX firmato