Creare il pacchetto di un'applicazione desktop con Desktop App ConverterPackage a desktop application using the Desktop App Converter

Nota

Lo strumento Desktop App Converter è deprecato.The Desktop App Converter tool is deprecated. Si consiglia invece di usare MSIX Packaging Tool.We recommend that you use the MSIX Packaging Tool instead.

Icona DAC

Desktop App Converter (DAC) consente di creare pacchetti per le applicazioni desktop da integrare con le funzionalità di Windows più recenti, tra cui la distribuzione e la manutenzione tramite Microsoft Store.The Desktop App Converter (DAC) creates packages for desktop applications to integrate with the latest Windows features, including distribution and servicing via the Microsoft Store. Sono incluse app Win32 e app che hai creato tramite .NET 4.6.1.This includes Win32 apps and apps that you've created by using .NET 4.6.1.

Scarica il convertitore di app desktopGet the Desktop App Converter

Sebbene il termine "Converter" compaia nel nome, questo strumento non converte effettivamente l'app.While the term "Converter" appears in the name of this tool, it doesn't actually convert your app. L'applicazione rimane invariata.Your application remains unchanged. Lo strumento genera, tuttavia, un pacchetto di app di Windows con identità pacchetto e la possibilità di chiamare una vasta gamma di API WinRT.However, this tool generates a Windows app package with a package identity and the ability to call a vast range of WinRT APIs.

Puoi installare il pacchetto usando il cmdlet di PowerShell Add-AppxPackage nel computer di sviluppo.You can install that package by using the Add-AppxPackage PowerShell cmdlet on your development machine.

Il convertitore esegue il programma di installazione desktop in un ambiente Windows isolato usando un'immagine di base pulita inclusa nel download del convertitore.The converter runs the desktop installer in an isolated Windows environment by using a clean base image provided as part of the converter download. Acquisisce qualsiasi I/O nel Registro di sistema e nel file system eseguito dal programma di installazione desktop e lo inserisce nel pacchetto come parte dell'output.It captures any registry and file system I/O made by the desktop installer and packages it as part of the output.

Importante

Desktop App Converter è supportato in Windows 10, versione 1607 e successive.Desktop App Converter is supported on Windows 10, version 1607, and later. Può essere usato solo in progetti destinati all'edizione Aggiornamento dell'anniversario di Windows 10 (10.0, build 14393) o una versione successiva in Visual Studio.It can only be used in projects that target Windows 10 Anniversary Update (10.0; Build 14393) or a later release in Visual Studio.

Desktop App Converter non genera semplicemente un pacchettoThe DAC does more than just generate a package for you

Di seguito sono riportate alcune ulteriori attività che può offrire all'utente.Here's a few extra things it can do for you.

Windows 10 Creators UpdateWindows 10 Creators Update

✔️ Registrazione automatica di gestori di anteprima, gestori ricerca, gestori proprietà, di regole del firewall e di contrassegni URL.Automatically register your preview handlers, thumbnail handlers, property handlers, firewall rules, URL flags.

✔️ Registrazione automatica di mapping di tipi di file che consentono agli utenti di raggruppare file usando la colonna Tipo in Esplora file.Automatically register file type mappings that enable users to group files by using the Kind column in File Explorer.

✔️ Registrazione dei server COM pubblici.Register your public COM servers.

Aggiornamento dell'anniversario di Windows 10 o versione successivaWindows 10 Anniversary Update or later

✔️ Firma automatica del pacchetto, in modo che tu possa testare la tua app.Automatically sign your package so that you can test your app.

✔️ Convalida dell'applicazione in base ai requisiti di Microsoft Store e dell'app in pacchetto.Validate your application against packaged app and Microsoft Store requirements.

Per un elenco completo di opzioni, vedi la sezione Parametri di questa Guida.To find a complete list of options, see the Parameters section of this guide.

Se sei pronto per la creazione del pacchetto, iniziamo.If you're ready to create your package, let's start.

Preparare prima di tutto l'applicazioneFirst, prepare your application

Prima di iniziare a creare un pacchetto per l'applicazione, rivedi questa guida: Prepararsi per la creazione del pacchetto di un'applicazione desktop.Review this guide before you begin creating a package for your application: Prepare to package a desktop application.

Assicurarsi che il sistema possa eseguire il convertitoreMake sure that your system can run the converter

Assicurati che il sistema soddisfi i requisiti seguenti:Make sure that your system meets the following requirements:

Avviare Desktop App ConverterStart the Desktop App Converter

  1. Scarica e installa Desktop App Converter.Download and install the Desktop App Converter.

  2. Esegui Desktop App Converter come amministratore.Run the Desktop App Converter as an administrator.

    Eseguire DAC come amministratore

    Verrà visualizzata una finestra della console.A console window appears. Userai questa finestra per eseguire i comandi.You'll use that console window to run commands.

Impostare alcune operazioni (solo app con programmi di installazione)Set a few things up (apps with installers only)

Se l'app non dispone di un programma di installazione, puoi passare alla sezione successiva.You can skip ahead to the next section if your application doesn't have an installer.

  1. Identifica il numero di versione del sistema operativo.Identify the version number of your operating system.

    A tale scopo, digita winver nella finestra di dialogo Esegui e scegli il pulsante OK.To do that, type winver in the Run dialog box, and then choose the OK button.

    Winver

    La versione della tua build di Windows è disponibile nella finestra di dialogo Informazioni su Windows.You'll find the version of your Windows build in the About Windows dialog box.

    Versione di Windows 10

  2. Scarica l'immagine di base di Desktop App Converter appropriata.Download the appropriate Desktop app Converter base image.

    Assicurati che il numero di versione che viene visualizzato nel nome del file corrisponda al numero di versione della tua build di Windows.Make sure that the version number that appears in the name of the file matches the version number of your Windows build.

    Importante

    Se usi il numero di build 15063 e la versione secondaria di tale build è uguale o maggiore di .483 (ad esempio 15063.540), assicurati di scaricare il file BaseImage-15063-UPDATE.wim.If you're using build number 15063, and the minor version of that build is equal to or greater than .483 (For example: 15063.540), make sure to download the BaseImage-15063-UPDATE.wim file. Se la versione secondaria di tale build è inferiore a .483, scarica il file BaseImage-15063.wim.If the minor version of that build is less than .483, download the BaseImage-15063.wim file. Se hai già configurato una versione non compatibile di questo file di base, puoi effettuarne la correzione.If you've already setup an incompatible version of this base file, you can fix it. Questo post di blog illustra come procedere.This blog post explains how to do that.

  3. Posiziona il file scaricato in qualsiasi punto nel computer dove potrai trovarlo in seguito.Place the downloaded file anywhere on your computer where you'll be able to find it later.

  4. Nella finestra della console visualizzata quando hai avviato Desktop App Converter esegui questo comando: Set-ExecutionPolicy bypass.In the console window that appeared when you started the Desktop App Converter, run this command: Set-ExecutionPolicy bypass.

  5. Configura il convertitore eseguendo questo comando: DesktopAppConverter.exe -Setup -BaseImage .\BaseImage-1XXXX.wim -Verbose.Set up the converter by running this command: DesktopAppConverter.exe -Setup -BaseImage .\BaseImage-1XXXX.wim -Verbose.

  6. Se richiesto, riavvia il computer.Restart your computer if you're prompted to do so.

    I messaggi di stato vengono visualizzati nella finestra della console quando il convertitore espande l'immagine di base.Status messages appear in the console window as the converter expands the base image. Se non vengono visualizzati, premi un tasto.If you don't see any status messages, press any key. In questo modo, viene aggiornato il contenuto della finestra della console.This can cause the contents of the console window to refresh.

    Messaggi di stato nella finestra della console

    Quando l'immagine di base è completamente espansa, passa alla sezione successiva.When the base image is fully expanded, move to the next section.

Creare il pacchetto di un'appPackage an app

Per creare il pacchetto della tua app, esegui il comando DesktopAppConverter.exe nella finestra della console aperta all'avvio di Desktop App Converter.To Package your app, run the DesktopAppConverter.exe command in the console window that opened when you started the Desktop App Converter.

Specifica il nome del pacchetto, l'editore e il numero di versione dell'applicazione usando i parametri.You'll specify the package name, publisher and version number of the application by using parameters.

Nota

Se in Microsoft Store hai riservato il nome dell'app, puoi recuperare i nomi del pacchetto e dell'editore usando il Centro per i partner.If you've reserved your app name in the Microsoft Store, you can obtain the package and publisher names by using Partner Center. Se intendi trasferire localmente l'app in altri sistemi, puoi fornire nomi personalizzati, purché il nome dell'editore scelto corrisponda al nome sul certificato usato per firmare l'app.If you plan to sideload your app onto other systems, you can provide your own names for these as long as the publisher name that you choose matches the name on the certificate you use to sign your app.

Un rapido sguardo ai parametri di comandoA quick look at command parameters

Di seguito sono riportati i parametri obbligatori.Here are the required parameters.

DesktopAppConverter.exe
-Installer <String>
-Destination <String>
-PackageName <String>
-Publisher <String>
-Version <Version>

Puoi trovare informazioni su ciascuno qui.You can read about each one here.

EsempiExamples

Ecco alcuni modi comuni per creare il pacchetto della tua app.Here's a few common ways to package your app.

Creare il pacchetto di un'applicazione con un file del programma di installazione (con estensione msi)Package an application that has an installer (.msi) file

Scegli il file del programma di installazione usando il parametro Installer.Point to the installer file by using the Installer parameter.

DesktopAppConverter.exe -Installer C:\Installer\MyAppSetup.msi -Destination C:\Output\MyApp -PackageName "MyApp" -Publisher "CN=MyPublisher" -Version 0.0.0.1

Importante

Ci sono due aspetti importanti da tenere presenti qui.There are two important things to keep in mind here. Per prima cosa, assicurati che il programma di installazione si trovi in una cartella indipendente e che solo i file correlati a tale programma siano nella stessa cartella.First, make sure that your installer is located in an independent folder and that only files related to that installer are in the same folder. Il convertitore copia tutto il contenuto della cartella nell'ambiente Windows isolato.The converter copies all of the contents of that folder to the isolated Windows environment.
In secondo luogo, se il Centro per i partner assegna al pacchetto un'identità che inizia con un numero, assicurati di passare anche il parametro -AppId e usa solo il suffisso stringa (dopo il punto) come valore del parametro.Secondly, if Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.

Se il programma di installazione include programmi di installazione per librerie o framework dipendenti, potrebbe essere necessario organizzare le cose in modo un po' diverso.If your installer includes installers for dependent libraries or frameworks, you might have to organize things a bit a differently. Vedi Concatenamento di più programmi di installazione con Desktop Bridge.See Chaining multiple installers with the Desktop Bridge.

Creare il pacchetto di un'applicazione con un file eseguibile di installazionePackage an application that has a setup executable file

Scegli il programma eseguibile di installazione usando il parametro Installer.Point to the setup executable by using the Installer parameter.

DesktopAppConverter.exe -Installer C:\Installer\MyAppSetup.exe -InstallerArguments "/S" -Destination C:\Output\MyApp -PackageName "MyApp" -Publisher "CN=MyPublisher" -Version 0.0.0.1

Importante

Se il Centro per i partner assegna al pacchetto un'identità che inizia con un numero, assicurati di passare anche il parametro -AppId e usa solo il suffisso stringa (dopo il punto) come valore del parametro.If Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.

InstallerArguments è un parametro facoltativo.The InstallerArguments parameter is an optional parameter. Poiché, tuttavia, Desktop App Converter richiede l'esecuzione del programma di installazione in modalità automatica, potrebbe essere necessario usarlo se l'applicazione deve eseguire contrassegni invisibili all'utente in modalità automatica.However, because the Desktop App Converter needs your installer to run in unattended mode, you might have to use it if your application needs silent flags to run silently. /S è un contrassegno invisibile all'utente molto comune, ma il contrassegno che usi potrebbe essere diverso a seconda della tecnologia del programma di installazione usata per creare il file di installazione.The /S flag is a very common silent flag, but the flag that you use might be different depending on which installer technology you used to create the setup file.

Creare il pacchetto di un'applicazione che non dispone di un programma di installazionePackage an application that doesn't have an installer

In questo esempio, usa il parametro Installer per scegliere la cartella radice dei file dell'applicazione.In this example, use the Installer parameter to point to the root folder of your application files.

Usa il parametro AppExecutable per scegliere il file eseguibile delle app.Use the AppExecutable parameter to point to your apps executable file.

DesktopAppConverter.exe -Installer C:\Installer\MyApp\ -AppExecutable MyApp.exe -Destination C:\Output\MyApp -PackageName "MyApp" -Publisher "CN=MyPublisher" -Version 0.0.0.1

Importante

Se il Centro per i partner assegna al pacchetto un'identità che inizia con un numero, assicurati di passare anche il parametro -AppId e usa solo il suffisso stringa (dopo il punto) come valore del parametro.If Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.

Creare il pacchetto di un'app, firmare l'app ed eseguire controlli di convalida sul pacchettoPackage an app, sign the app, and run validation checks on the package

Questo esempio è simile al primo, ad eccezione del fatto che mostra in che modo poter firmare l'applicazione per i test locali e, successivamente, convalidare l'applicazione rispetto ai requisiti dell'app in pacchetto e di Microsoft Store.This example is similar to first one except it shows how you can sign your application for local testing, and then validate your application against packaged app and Microsoft Store requirements.

DesktopAppConverter.exe -Installer C:\Installer\MyAppSetup.exe -InstallerArguments "/S" -Destination C:\Output\MyApp -PackageName "MyApp" -Publisher "CN=MyPublisher" -Version 0.0.0.1 -MakeAppx -Sign -Verbose -Verify

Importante

Se il Centro per i partner assegna al pacchetto un'identità che inizia con un numero, assicurati di passare anche il parametro -AppId e usa solo il suffisso stringa (dopo il punto) come valore del parametro.If Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.

Il parametro Sign genera un certificato con cui firma quindi l'applicazione.The Sign parameter generates a certificate and then signs your application with it. Per eseguire l'app, dovrai installare il certificato generato.To run your app, you'll have to install that generated certificate. Per altre informazioni, vedi la sezione Eseguire l'app in pacchetto di questa Guida.To learn how, see the Run the packaged app section of this guide.

Puoi convalidare l'applicazione usando il parametro Verify.You can validate you application by using the Verify parameter.

Un rapido sguardo ai parametri facoltativiA quick look at optional parameters

Sign e Verify sono parametri facoltativi.The Sign and Verify parameters are optional. Esistono molti altri parametri facoltativi.There are many more optional parameters. Ecco alcuni tra i più comunemente usati.Here are some of the more commonly used optional parameters.

[-ExpandedBaseImage <String>]
[-AppExecutable <String>]
[-AppFileTypes <String>]
[-AppId <String>]
[-AppDisplayName <String>]
[-AppDescription <String>]
[-PackageDisplayName <String>]
[-PackagePublisherDisplayName <String>]
[-MakeAppx]
[-LogFile <String>]
[<CommonParameters>]

Puoi leggere informazioni su ognuno nella sezione successiva.You can read about all of them in the next section.

Riferimento ai parametriParameter Reference

Ecco l'elenco completo dei parametri (raggruppati per categoria) che puoi usare quando esegui Desktop App Converter.Here's the complete list of parameters (organized by category) that you can use when you run the Desktop App Converter.

Puoi anche visualizzare l'intero elenco eseguendo il comando Get-Help nella finestra della console dell'app.You can also view the entire list by running the Get-Help command in the app console window.

Parametri di installazioneSetup parameters
-Setup [<SwitchParameter>]-Setup [<SwitchParameter>] ObbligatoriaRequired Esegue DesktopAppConverter in modalità di installazione.Runs DesktopAppConverter in setup mode. La modalità di installazione supporta l'espansione di un'immagine di base specificata.Setup mode supports expanding a provided base image.
-BaseImage <String>-BaseImage <String> ObbligatoriaRequired Percorso completo di un'immagine di base non espansa.Full path to an unexpanded base image. Questo parametro è obbligatorio se si specifica -Setup.This parameter is required if -Setup is specified.
-LogFile <String>-LogFile <String> FacoltativoOptional Specifica un file di log.Specifies a log file. Se omesso, verrà creato un percorso temporaneo del file di log.If omitted, a log file temporary location will be created.
-NatSubnetPrefix <String>-NatSubnetPrefix <String> FacoltativoOptional Valore di prefisso da usare per l'istanza di NAT.Prefix value to be used for the Nat instance. In genere, avrai la necessità di modificare questo valore solo se il computer host è associato allo stesso intervallo di subnet della NetNat del convertitore.Typically, you would want to change this only if your host machine is attached to the same subnet range as the converter's NetNat. Puoi recuperare la configurazione NetNat corrente del convertitore tramite il cmdlet Get-NetNat.You can query the current converter NetNat config by using the Get-NetNat cmdlet.
-NoRestart [<SwitchParameter>]-NoRestart [<SwitchParameter>] ObbligatoriaRequired Non richiedere il riavvio quando si esegue il programma di installazione (il riavvio è necessario per abilitare la funzionalità di contenitore).Don't prompt for reboot when running setup (reboot is required to enable the container feature).
Parametri di conversioneConversion parameters
-AppInstallPath <String>-AppInstallPath <String> FacoltativoOptional Percorso completo della cartella radice dell'applicazione per i file installati se venisse eseguita l'installazione (ad esempio, "C:\Programmi (x86) \MyApp").The full path to your application's root folder for the installed files if it were installed (e.g., "C:\Program Files (x86)\MyApp").
-Destination <String>-Destination <String> ObbligatoriaRequired Destinazione desiderata per l'output appx del convertitore. DesktopAppConverter può creare questo percorso se non esiste già.The desired destination for the converter's appx output - DesktopAppConverter can create this location if it doesn't already exist.
-Installer <String>-Installer <String> ObbligatoriaRequired Percorso del programma di installazione per l'applicazione (deve consentire l'esecuzione automatica/invisibile all'utente).The path to the installer for your application - must be able to run unattended/silently. Conversione No-installer, questo è il percorso della directory radice dei file dell'applicazione.No-installer conversion, this is the path to the root directory of your application files.
-InstallerArguments <String>-InstallerArguments <String> FacoltativoOptional Elenco delimitato da virgole o stringa di argomenti per forzare l'esecuzione automatica/invisibile all'utente del tuo programma di installazione.A comma-separated list or string of arguments to force your installer to run unattended/silently. Questo parametro è facoltativo se il programma di installazione è un file MSI.This parameter is optional if your installer is an msi. Per ottenere un log dal programma di installazione, specifica l'argomento di registrazione per il programma di installazione qui e usa il percorso <log_folder>, che è un token che il convertitore sostituisce con il percorso appropriato.To get a log from your installer, supply the logging argument for the installer here and use the path <log_folder>, which is a token that the converter replaces with the appropriate path.

NOTA: i contrassegni per l'installazione automatica/invisibile all'utente e gli argomenti per il log variano in base alle tecnologie del programma di installazione.NOTE: The unattended/silent flags and log arguments will vary between installer technologies.

Un esempio di utilizzo per questo parametro: -InstallerArguments "/silent /log <log_folder>\install.log". Un altro esempio che non genera un file di log potrebbe essere: -InstallerArguments "/quiet", "/norestart" Anche in questo caso, devi indirizzare letteralmente qualsiasi log al percorso del token <log_folder>, se vuoi che il convertitore lo acquisisca e lo inserisca nella cartella del log finale.An example usage for this parameter: -InstallerArguments "/silent /log <log_folder>\install.log" Another example that doesn't produce a log file may look like: -InstallerArguments "/quiet", "/norestart" Again, you must literally direct any logs to the token path <log_folder> if you want the converter to capture it and put it in the final log folder.
-InstallerValidExitCodes <Int32>-InstallerValidExitCodes <Int32> FacoltativoOptional Elenco delimitato da virgole di codici di uscita che indicano la corretta esecuzione del programma di installazione (ad esempio: 0, 1234, 5678).A comma-separated list of exit codes that indicate your installer ran successfully (for example: 0, 1234, 5678). Per impostazione predefinita, il codice è 0 per i file non MSI e 0, 1641, 3010 per i file MSI.By default this is 0 for non-msi, and 0, 1641, 3010 for msi.
-MakeAppx [<SwitchParameter>]-MakeAppx [<SwitchParameter>] FacoltativoOptional Opzione che, quando presente, indica allo script di chiamare MakeAppx sull'output.A switch that, when present, tells this script to call MakeAppx on the output.
-MakeMSIX [<SwitchParameter>]-MakeMSIX [<SwitchParameter>] FacoltativoOptional Opzione che, se presente, indica allo script di creare un pacchetto dell'output come pacchetto MSIX.A switch that, when present, tells this script to package the output as an MSIX Package.
Parametri di identità pacchettoPackage identity parameters
-PackageName <String>-PackageName <String> ObbligatoriaRequired Nome nel pacchetto di app di Windows universale.The name of your Universal Windows App package. Se il Centro per i partner assegna al pacchetto un'identità che inizia con un numero, assicurati di passare anche il parametro -AppId e usa solo il suffisso stringa (dopo il punto) come valore del parametro.If Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.
-Publisher <String>-Publisher <String> ObbligatoriaRequired Editore del pacchetto di app di Windows universaleThe publisher of your Universal Windows App package
-Version <Version>-Version <Version> ObbligatoriaRequired Numero di versione del pacchetto di app di Windows universaleThe version number for your Universal Windows App package
Parametri di manifesto del pacchettoPackage manifest parameters
-AppExecutable <String>-AppExecutable <String> FacoltativoOptional Il nome del file eseguibile principale dell'applicazione (ad esempio "MyApp.exe").The name of your application's main executable (eg "MyApp.exe"). Questo parametro è obbligatorio per una conversione No-installer.This parameter is required for a no-installer conversion.
-AppFileTypes <String>-AppFileTypes <String> FacoltativoOptional Elenco delimitato da virgole dei tipi di file a cui verrà associata l'applicazione.A comma-separated list of file types which the application will be associated with. Esempio di utilizzo: -AppFileTypes "'.md', '.markdown'".Example usage: -AppFileTypes "'.md', '.markdown'".
-AppId <String>-AppId <String> FacoltativoOptional Specifica un valore su cui impostare l'ID applicazione nel manifesto del pacchetto di app di Windows.Specifies a value to set Application Id to in the Windows app package manifest. Se non specificato, verrà impostato sul valore passato per PackageName.If it is not specified, it will be set to the value passed in for PackageName. In molti casi, usare PackageName è una scelta valida.In many cases, using the PackageName is fine. Se, tuttavia, il Centro per i partner assegna al pacchetto un'identità che inizia con un numero, assicurati di passare anche il parametro -AppId e usa solo il suffisso stringa (dopo il punto) come valore del parametro.However, if Partner Center assigns an identity to your package that begins with a number, make sure that you also pass in the -AppId parameter, and use only the string suffix (after the period separator) as the value of that parameter.
-AppDisplayName <String>-AppDisplayName <String> FacoltativoOptional Specifica un valore su cui impostare il nome visualizzato dell'applicazione nel manifesto del pacchetto di app di Windows.Specifies a value to set Application Display Name to in the Windows app package manifest. Se non specificato, verrà impostato sul valore passato per PackageName.If it is not specified, it will be set to the value passed in for PackageName.
-AppDescription <String>-AppDescription <String> FacoltativoOptional Specifica un valore su cui impostare la descrizione dell'applicazione nel manifesto del pacchetto di app di Windows.Specifies a value to set Application Description to in the Windows app package manifest. Se non specificato, verrà impostato sul valore passato per PackageName.If it is not specified, it will be set to the value passed in for PackageName.
-PackageDisplayName <String>-PackageDisplayName <String> FacoltativoOptional Specifica un valore su cui impostare il nome visualizzato del pacchetto nel manifesto del pacchetto di app di Windows.Specifies a value to set Package Display Name to in the Windows app package manifest. Se non specificato, verrà impostato sul valore passato per PackageName.If it is not specified, it will be set to the value passed in for PackageName.
-PackagePublisherDisplayName <String>-PackagePublisherDisplayName <String> FacoltativoOptional Specifica un valore su cui impostare il nome visualizzato dell'editore del pacchetto nel manifesto del pacchetto di app di Windows.Specifies a value to set Package Publisher Display Name to in the Windows app package manifest. Se non specificato, verrà impostato sul valore passato per Publisher.If it is not specified, it will be set to the value passed in for Publisher.
Parametri per la puliziaCleanup parameters
-Cleanup [<Option>]-Cleanup [<Option>] ObbligatoriaRequired Esegue la pulitura per gli artefatti DesktopAppConverter.Runs cleanup for the DesktopAppConverter artifacts. Per la modalità Cleanup esistono 3 opzioni valide.There are 3 valid options for the Cleanup mode.
-Cleanup All-Cleanup All Elimina tutte le immagini di base espanse, rimuove eventuali file temporanei del convertitore, rimuove la rete contenitore e disabilita la funzionalità facoltativa dei contenitori di Windows.Deletes all expanded base images, removes any temporary converter files, removes the container network, and disables the optional Windows feature, Containers.
-Cleanup WorkDirectory-Cleanup WorkDirectory ObbligatoriaRequired Rimuove tutti i file temporanei del convertitore.Removes all the temporary converter files.
-Cleanup ExpandedImage-Cleanup ExpandedImage ObbligatoriaRequired Elimina tutte le immagini di base espanse installate nel computer host.Deletes all the expanded base images installed on your host machine.
Parametri di architettura del pacchettoPackage architecture parameters
-PackageArch <String>-PackageArch <String> ObbligatoriaRequired Genera un pacchetto con l'architettura specificata.Generates a package with the specified architecture. Le opzioni valide sono "x86" o "x64", ad esempio -PackageArch -x86.Valid options are 'x86' or 'x64'; for example, -PackageArch x86. Questo parametro è facoltativo.This parameter is optional. Se non viene specificato, DesktopAppConverter cercherà di rilevare automaticamente l'architettura del pacchetto.If unspecified, the DesktopAppConverter will try to auto-detect package architecture. Se il rilevamento automatico non riesce, si ricorrerà all'impostazione predefinita del pacchetto x64.If auto-detection fails, it will default to x64 package.
Parametri variMiscellaneous parameters
-ExpandedBaseImage <String>-ExpandedBaseImage <String> FacoltativoOptional Percorso completo di un'immagine di base già espansa.Full path to an already expanded base image.
-LogFile <String>-LogFile <String> FacoltativoOptional Specifica un file di log.Specifies a log file. Se omesso, verrà creato un percorso temporaneo del file di log.If omitted, a log file temporary location will be created.
-Sign [<SwitchParameter>]-Sign [<SwitchParameter>] FacoltativoOptional Indica allo script di firmare il pacchetto di app di Windows di output usando un certificato generato a scopo di test.Tells this script to sign the output Windows app package by using a generated certificate for testing purposes. Questa opzione deve essere presente insieme all'opzione -MakeAppx.This switch should be present alongside the switch -MakeAppx.
<Parametri comuni><Common parameters> ObbligatoriaRequired Questo cmdlet supporta i parametri comuni Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable e OutVariable.This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. Per altre info, vedi about_CommonParameters.For more info, see about_CommonParameters.
-Verify [<SwitchParameter>]-Verify [<SwitchParameter>] FacoltativoOptional Opzione che, se presente, indica a Desktop App Converter (DAC) di convalidare il pacchetto dell'app rispetto ai requisiti dell'app in pacchetto e di Microsoft Store.A switch that, when present, tells the DAC to validate the app package against packaged app and Microsoft Store requirements. Il risultato è un rapporto di convalida "VerifyReport.xml", che viene visualizzato al meglio in un browser.The result is a validation report "VerifyReport.xml", which is best visualized in a browser. Questa opzione deve essere presente insieme all'opzione -MakeAppx.This switch should be present alongside the switch -MakeAppx.
-PublishComRegistrations-PublishComRegistrations FacoltativoOptional Analizza tutte le registrazioni COM pubbliche eseguite dal programma di installazione e pubblica quelle valide nel manifesto.Scans all public COM registrations made by your installer and publishes the valid ones in your manifest. Usa questo contrassegno solo se vuoi rendere disponibili queste registrazioni alle altre applicazioni.Use this flag only if you want to make these registrations available to other applications. Non devi usare questo contrassegno se le registrazioni verranno usate solo dalla tua applicazione.You don't need to use this flag if these registrations will be used only by your application.

Consulta questo articolo per assicurarti che il comportamento delle registrazioni COM sia quello previsto dopo la creazione del pacchetto dell'app.Review this article to make sure that your COM registrations behave as you expect after you package your app.

Eseguire l'app in pacchettoRun the packaged app

Esistono due modi per eseguire l'app.There's two ways to run your app.

Un modo consiste nell'aprire un prompt dei comandi di PowerShell e quindi digitare il comando seguente: Add-AppxPackage –Register AppxManifest.xml.One way is to open a PowerShell command prompt, and then type this command: Add-AppxPackage –Register AppxManifest.xml. È probabilmente il modo più semplice per eseguire l'applicazione perché non devi firmarla.It's probably the easiest way to run your application because you don't have to sign it.

Un altro modo è firmare l'applicazione con un certificato.Another way is to sign your application with a certificate. Se usi il parametro sign, Desktop App Converter ne genererà uno automaticamente che userai quindi per firmare l'applicazione.If you use the sign parameter, the Desktop App Converter will generate one for you, and then sign your application with it. Tale file è denominato auto-generated.cer e puoi trovarlo nella cartella radice della tua app in pacchetto.That file is named auto-generated.cer, and you can find it in the root folder of your packaged app.

Segui questi passaggi per installare il certificato generato, quindi esegui l'app.Follow these steps to install the generated certificate, and then run your app.

  1. Fai doppio clic sul file auto-generated.cer per installare il certificato.Double-click the auto-generated.cer file to install the certificate.

    File di certificato generato

    Nota

    Se ti viene richiesta l'immissione di una password, usa quella predefinita: "123456".If you're prompted for a password, use the default password "123456".

  2. Nella finestra di dialogo Certificato scegli il pulsante Installa certificato.In the Certificate dialog box, choose the Install Certificate button.

  3. In Importazione guidata certificati installa il certificato nel computer locale e inserisci il certificato nell'archivio certificati Persone attendibili.In the Certificate Import Wizard, install the certificate onto the Local Machine, and place the certificate into the Trusted People certificate store.

    Archivio persone attendibili

  4. Nella cartella radice della tua app in pacchetto fai doppio clic sul file del pacchetto di app di Windows.In root folder of your packaged app, double click the Windows app package file.

    File del pacchetto di app di Windows

  5. Installa l'app scegliendo il pulsante Installa.Install the app, by choosing the Install button.

    Pulsante Installa

Modificare l'app in pacchettoModify the packaged app

È probabile che dovrai apportare modifiche alla tua applicazione in pacchetto per correggere i bug, aggiungere gli asset visivi o per migliorare la tua applicazione con esperienze moderne, ad esempio i riquadri animati.You'll likely make changes to your packaged application to address bugs, add visual assets, or enhance your application with modern experiences such as live tiles.

Dopo aver apportato le modifiche, non è necessario eseguire nuovamente il convertitore.After you make your changes, you don't need to run the converter again. Nella maggior parte dei casi, puoi ricreare il pacchetto dell'applicazione tramite lo strumento MakeAppx e il file appxmanifest.xml generato da Desktop App Converter per l'app.In most cases, you can just repackage your application by using the MakeAppx tool and the appxmanifest.xml file the DAC generates for your app. Vedi Generare un pacchetto di app di Windows.See Generate a Windows app package.

Nota

Se apporti modifiche alle impostazioni del Registro di sistema eseguite dal programma di installazione, dovrai eseguire di nuovo Desktop App Converter per rendere disponibili le modifiche.If you make changes to registry settings that your installer makes, you will have to run the Desktop App Converter again to pick up those changes.

Nelle due sezioni seguenti vengono illustrate un paio di correzioni facoltative per l'app in pacchetto che potresti prendere in considerazione.The following two sections describe a couple of optional fix-ups to the packaged application that you might consider.

Eliminare chiavi del Registro di sistema e file non necessariDelete unnecessary files and registry keys

Desktop App Converter ha un approccio molto conservativo relativamente all'esclusione di file e ai disturbi di sistema nel contenitore.The desktop App Converter takes a very conservative approach to filtering out files and system noise in the container.

Se vuoi, puoi esaminare la cartella VFS ed eliminare tutti i file non necessari per il programma di installazione.If you want, you can review the VFS folder and delete any files that your installer doesn't need. Puoi inoltre esaminare il contenuto di Reg.dat ed eliminare le chiavi non installate/necessarie per l'app.You can also review the contents of Reg.dat and delete any keys that are not installed/needed by the app.

Correggere intestazioni PE danneggiateFix corrupted PE headers

Durante il processo di conversione, DesktopAppConverter esegue automaticamente lo strumento PEHeaderCertFixTool per correggere eventuali intestazioni PE danneggiate.During the conversion process, the DesktopAppConverter automatically runs the PEHeaderCertFixTool to fixup any corrupted PE headers. Lo strumento PEHeaderCertFixTool, tuttavia, può essere eseguito anche in un pacchetto di app di Windows della piattaforma UWP, in file separati o in un file binario specifico.However, you can also run the PEHeaderCertFixTool on a UWP Windows app package, loose files, or a specific binary. Ecco un esempio.Here's an example.

PEHeaderCertFixTool.exe <binary file>|<.appx package>|<folder> [/c] [/v]
 /c   -- check for corrupted certificate but do not fix (optional)
 /v   -- verbose (optional)
example1: PEHeaderCertFixTool app.exe
example2: PEHeaderCertFixTool c:\package.appx /c
example3: PEHeaderCertFixTool c:\myapp /c /v

Telemetria da Desktop App ConverterTelemetry from Desktop App Converter

Desktop App Converter potrebbe raccogliere informazioni su di te e sul tuo uso del software e inviare queste info a Microsoft.Desktop App Converter may collect information about you and your use of the software and send this info to Microsoft. Per altre informazioni sulla raccolta e l'uso dei dati da parte di Microsoft, vedi la documentazione del prodotto e l'Informativa sulla privacy di Microsoft.You can learn more about Microsoft's data collection and use in the product documentation and in the Microsoft Privacy Statement. Il licenziatario accetta di rispettare tutte le disposizioni applicabili contenute nell'Informativa sulla privacy di Microsoft.You agree to comply with all applicable provisions of the Microsoft Privacy Statement.

Per impostazione predefinita, la telemetria viene abilitata per Desktop App Converter.By default, telemetry will be enabled for the Desktop App Converter. Aggiungi la chiave del Registro di sistema seguente per configurare un'impostazione desiderata per la telemetria:Add the following registry key to configure telemetry to a desired setting:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DesktopAppConverter
  • Aggiungi o modifica il valore DisableTelemetry usando un DWORD impostato su 1.Add or edit the DisableTelemetry value by using a DWORD set to 1.
  • Per abilitare la telemetria, rimuovi la chiave o imposta il valore su 0.To enable telemetry, remove the key or set the value to 0.

Supporto delle lingueLanguage support

Desktop App Converter non supporta Unicode. Con questo strumento, quindi, non è possibile usare caratteri cinesi o non ASCII.The Desktop App Converter does not support Unicode; thus, no Chinese characters or non-ASCII characters can be used with the tool.

Problemi noti di Desktop App ConverterKnown issues with the Desktop App Converter

Errori E_CREATING_ISOLATED_ENV_FAILED ed E_STARTING_ISOLATED_ENV_FAILEDE_CREATING_ISOLATED_ENV_FAILED and E_STARTING_ISOLATED_ENV_FAILED errors

Se ricevi uno di questi errori, assicurati di usare un'immagine di base valida dall'Area download.If you receive either of these errors, make sure that you're using a valid base image from the download center. Se stai usando un'immagine di base valida, prova a usare -Cleanup All nel comando.If you’re using a valid base image, try using -Cleanup All in your command. Se il problema persiste, inviaci i log all'indirizzo converter@microsoft.com per aiutarci ad analizzare le cause.If that does not work, please send us your logs at converter@microsoft.com to help us investigate.

Errore New-ContainerNetwork: oggetto già esistenteNew-ContainerNetwork: The object already exists error

Potresti visualizzare questo errore durante la configurazione di una nuova immagine di base.You might receive this error when you setup a new base image. Questa situazione può verificarsi se disponi di una versione di anteprima di Windows Insider in un computer per sviluppatore in cui è stato installato Desktop App Converter.This can happen if you have a Windows Insider flight on a developer machine that previously had the Desktop App Converter installed.

Per risolvere il problema, prova a eseguire il comando Netsh int ipv4 reset da un prompt dei comandi con privilegi elevati, quindi riavvia il computer.To resolve this issue, try running the command Netsh int ipv4 reset from an elevated command prompt, and then reboot your machine.

L'applicazione .NET è compilata con l'opzione di compilazione "AnyCPU" e non viene installataYour .NET application is compiled with the "AnyCPU" build option and fails to install

Questa situazione può verificarsi se il file eseguibile principale o una delle dipendenze si trova in un qualsiasi punto nella gerarchia di cartelle Programmi o Windows\System32.This can happen if the main executable or any of the dependencies were placed anywhere in the Program Files or Windows\System32 folder hierarchy.

Per risolvere il problema, prova a usare il programma di installazione desktop specifico dell'architettura (a 32 o 64 bit) per generare un pacchetto di app di Windows.To resolve this issue, try using your architecture-specific desktop installer (32 bit or 64 bit) to generate a Windows app package.

Pubblicazione di assembly Fusion side-by-side pubblici non funzionantePublishing public side-by-side Fusion assemblies won't work

Durante l'installazione, un'applicazione può pubblicare assembly Fusion side-by-side pubblici, accessibili per qualsiasi altro processo.During install, an application can publish public side-by-side Fusion assemblies, accessible to any other process. Durante la creazione del contesto di attivazione del processo, questi assembly vengono recuperati da un processo di sistema denominato CSRSS.exe.During process activation context creation, these assemblies are retrieved by a system process named CSRSS.exe. Se questa operazione viene eseguita per un processo convertito, la creazione del contesto di attivazione e il caricamento del modulo di questi assembly avranno esito negativo.When this is done for a converted process, activation context creation and module loading of these assemblies will fail. Gli assembly Fusion side-by-side vengono registrati nelle posizioni seguenti:The side-by-side Fusion assemblies are registered in the following locations:

  • Registro di sistema: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\WinnersRegistry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide\Winners
  • File system: %windir%\SideBySideFile System: %windir%\SideBySide

Si tratta di una limitazione nota e non è disponibile alcuna soluzione alternativa.This is a known limitation and no workaround currently exists. Ciò detto, gli assembly predefiniti, come ComCtl, vengono forniti con il sistema operativo e, pertanto, è possibile creare una dipendenza per questi assembly in totale sicurezza.That said, Inbox assemblies, like ComCtl, are shipped with the OS, so taking a dependency on them is safe.

Errore nel file XML.Error found in XML. L'attributo 'Executable' non è valido: il valore 'MyApp.EXE' non è valido in relazione al tipo di datiThe 'Executable' attribute is invalid - The value 'MyApp.EXE' is invalid according to its datatype

Questa situazione può verificarsi se i file eseguibili nella tua applicazione presentano un'estensione in maiuscolo .EXE.This can happen if the executables in your application have a capitalized .EXE extension. Anche se l'uso di maiuscole o minuscole per l'estensione non dovrebbe influire sull'esecuzione dell'applicazione, questa condizione può causare la generazione dell'errore da parte di Desktop App Converter.Although, the casing of this extension shouldn't affect whether your application runs, this can cause the DAC to generate this error.

Per risolvere il problema, prova a specificare il contrassegno -AppExecutable durante la creazione del pacchetto e usa il minuscolo ".exe" come estensione del file eseguibile principale (ad esempio: MYAPP.exe).To resolve this issue, try specifying the -AppExecutable flag when you package, and use the lower case ".exe" as the extension of your main executable (For example: MYAPP.exe). In alternativa, puoi modificare da maiuscolo a minuscolo l'estensione di tutti i file eseguibili nella tua applicazione, ad esempio da .EXE a .exe.Alternately you can change the casing for all executables in your application from uppercase to lowercase (For example: from .EXE to .exe).

Firme Authenticode danneggiate o non valideCorrupted or malformed Authenticode signatures

Questa sezione contiene informazioni dettagliate su come identificare i problemi con il file PE (Portable Executable) nel pacchetto delle app di Windows che potrebbero contenere firme Authenticode danneggiate o non valide.This section contains details on how to identify issues with Portable Executable (PE) files in your Windows app package that may contain corrupted or malformed Authenticode signatures. Le firme Authenticode non valide nei file PE, che possono essere in qualsiasi formato binario (ad esempio con estensione exe, dll, chm e così via), impediranno la firma corretta del pacchetto e quindi la distribuzione da un pacchetto delle app di Windows.Invalid Authenticode signatures on your PE files, which may be in any binary format (e.g. .exe, .dll, .chm, etc.), will prevent your package from being signed properly, and thus prevent it from being deployable from an Windows app package.

La posizione della firma Authenticode di un file PE è specificata dalla voce della tabella dei certificati negli elenchi dei dati di intestazione facoltativi e nella tabella dei certificati attributo associata.The location of the Authenticode signature of a PE file is specified by the Certificate Table entry in the Optional Header Data Directories and the associated Attribute Certificate Table. Durante la verifica della firma, le informazioni specificate in queste strutture vengono usate per individuare la firma in un file PE.During signature verification, the information specified in these structures is used to locate the signature on a PE file. Se questi valori vengono danneggiati, è possibile che un file risulti firmato in modo non valido.If these values get corrupted then it is possible for a file to appear to be invalidly signed.

Affinché la firma Authenticode sia corretta, devono essere soddisfatti i requisiti seguenti:For the Authenticode signature to be correct, the following must be true of the Authenticode signature:

  • L'inizio della voce WIN_CERTIFICATE nel file PE non può estendersi oltre la fine dell'eseguibileThe start of the WIN_CERTIFICATE entry in the PE file cannot extend past the end of the executable
  • La voce WIN_CERTIFCATE deve trovarsi alla fine dell'immagineThe WIN_CERTIFCATE entry should be located at the end of the image
  • Le dimensioni della voce WIN_CERTIFICATE devono essere positiveThe size of the WIN_CERTIFICATE entry must be positive
  • La voce WIN_CERTIFICATE deve iniziare dopo la struttura IMAGE_NT_HEADERS32 per gli eseguibili a 32 bit e dopo la struttura IMAGE_NT_HEADERS64 per gli eseguibili a 64 bitThe WIN_CERTIFICATEentry must start after the IMAGE_NT_HEADERS32 structure for 32-bit executables and IMAGE_NT_HEADERS64 structure for 64-bit executables

Per altri dettagli, vedi la specifica per Autenthenticode Portable Executable e la specifica del formato di file PE.For more details, please refer to the Authenticode Portal Executable specification and the PE file format specification.

Tieni presente che SignTool.exe può restituire un elenco dei file binari danneggiati o non validi durante il tentativo di firma di un pacchetto delle app di Windows.Note that SignTool.exe can output a list of the corrupted or malformed binaries when attempting to sign an Windows app package. A tale scopo, abilita la registrazione dettagliata impostando la variabile di ambiente APPXSIP_LOG su 1 (ad esempio, set APPXSIP_LOG=1 ) ed esegui di nuovo SignTool.exe.To do this, enable verbose logging by setting the environment variable APPXSIP_LOG to 1 (e.g., set APPXSIP_LOG=1 ) and re-run SignTool.exe.

Per correggere questi file binari non validi, assicurati che siano conformi ai requisiti di cui sopra.To fix these malformed binaries, ensure they conform to the requirements above.

Passaggi successiviNext steps

Trova le risposte alle tue domandeFind answers to your questions

Hai domande?Have questions? Partecipa a Stack Overflow.Ask us on Stack Overflow. Il nostro team controlla costantemente questi tag.Our team monitors these tags. Puoi inviarci le tue domande anche qui.You can also ask us here.

Eseguire l'applicazione/trovare e correggere i problemiRun your application / find and fix issues

Vedi Eseguire, eseguire il debug e testare un'applicazione desktop in pacchettoSee Run, debug, and test a packaged desktop application

Distribuire l'appDistribute your app

Vedi Distribuire un'applicazione desktop in pacchetto.See Distribute a packaged desktop application