Orientação gerada a partir de informações públicas. Apenas para referência.
O pacote msix é uma ferramenta de linha de comando projetada para gerar instaladores MSIX a partir de aplicativos Flutter compilados para Windows. Ela simplifica o processo de empacotamento convertendo saídas de compilação do Windows existentes em pacotes MSIX distribuíveis, que são o padrão moderno para implantação de aplicativos no Windows. Esta ferramenta se integra perfeitamente ao fluxo de construção do Flutter, permitindo que desenvolvedores publiquem seus aplicativos desktop pela Microsoft Store ou os instalem diretamente. Suporta assinatura e configuração automatizadas, agilizando a gestão de lançamentos para plataformas Windows.
Casos de uso
Criando instaladores MSIX para aplicativos desktop do Windows
Publicando aplicativos Flutter na Microsoft Store
Automatizando o empacotamento de aplicativos Windows em pipelines CI/CD
Distribuindo aplicativos Flutter por side-loading
Gerando pacotes MSIX assinados para implantação empresarial
Principais recursos
Converte arquivos de build do Flutter Windows para formato MSIX
Suporte à assinatura automática e geração de manifesto
Integra-se com o sistema de compilação do Flutter
Habilita a publicação na Microsoft Store
Configurável por meio de configurações YAML
Indicado para
Desenvolvedores Flutter voltados para desktop Windows
Equipes implantando aplicativos na Microsoft Store
Fluxos de CI/CD para aplicativos Windows
distribuição de software corporativo
Considerações
Requer sistema operacional Windows para execução
Limitado apenas à plataforma Windows
Configuração manual necessária para envio à Microsoft Store
Depende dos artefatos de compilação corretos do Flutter
Pode exigir gerenciamento adicional de certificados
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
MSIX is a Windows app packaging format from Microsoft that combines the best
features of MSI, .appx, App-V, and ClickOnce to provide a modern and reliable
packaging experience.
This package offers a command line tool for creating MSIX installers from your
Flutter app, making it easy to publish your app to the Microsoft Store or host
it on a website.
📋 Installation
In your pubspec.yaml, add the msix package as a new dev dependency with
the following command:
flutter pub add --dev msix
📦 Creating an MSIX installer
To create a MSIX installer, run the following command:
dart run msix:create
⚙️ Configuring your installer
You will almost certainly want to customize various settings in the MSIX
installer, such as the application title, the default icon, and which Windows
capabilities your application needs. You can customize the generated MSIX
installer by adding declarations to an msix_config: node in your
pubspec.yaml file:
Create MSIX from the debug or release build files (\build\windows\runner\<Debug/Release>), release is the default.
true
output_path
--output-path-o
The directory where the output MSIX file should be stored.
C:\src\some\folder
output_name
--output-name-n
The filename that should be given to the created MSIX file.
flutterApp_dev
architecture
--architecture-h
Describes the architecture of the code in the package, x64 or arm64, x64 is default.
x64
build_windows
--build-windows <true/false>
If false, don't run the build command flutter build windows, default is true.
true
windows_build_args
--windows-build-args
Any arguments for the flutter build windows command.
--obfuscate --split-debug-info=C:\Users\me\folder
Sign configuration (click to expand)
YAML name
Command-line argument
Description
Example
certificate_path
--certificate-path-c
Path to the certificate content to place in the store.
C:\certs\signcert.pfx or C:\certs\signcert.crt
certificate_password
--certificate-password-p
Password for the certificate.
1234
publisher
--publisher-b
The Subject value in the certificate. Required only if publish to the store, or if the Publisher will not found automatically by this package.
CN=BF212345-5644-46DF-8668-014043C1B138 or CN=Contoso Software, O=Contoso Corporation, C=US
signtool_options
--signtool-options
Options to be provided to the signtool for app signing (see below.)
/v /fd SHA256 /f C:/Users/me/Desktop/my.cer
sign_msix
--sign-msix <true/false>
If false, don't sign the msix file, default is true. Note: when false, publisher is Required.
true
install_certificate
--install-certificate <true/false>
If false, don't try to install the certificate, default is true.
true
✒️ Signing options
Published MSIX installers should be signed with a certificate, to help ensure
that app installs and updates come from trustworthy sources.
For development purposes, this package is configured by default to
automatically sign your app with a self signedtest certificate, which makes it easy
to test your install prior to release.
If you publish your app to the Microsoft Store, the installation package
will be signed automatically by the store.
If you need to use your own signing certificate, for example to release
the app outside of the Microsoft Store, you can use the configuration fields
certificate_path and certificate_password to configure a certificate of
your choice.
You can also provide custom options to the signing tool with the
--signtool-options command, as shown above. For more information on available
options, see the signtool documentation. Note that using this option overrides
the certificate_path and certificate_password fields.
Note: By default, the MSIX package will install the certificate on your
machine. You can disable this by using the --install-certificate false option, or the YAML
option install_certificate: false.
Publishing to the Microsoft Store
To generate an MSIX file for publishing to the Microsoft Store, use the
--store flag, or alternatively add store: true to the YAML configuration.
Note: For apps published to the Microsoft Store, the configuration values
publisher_display_name, identity_name, msix_version and publisher must
all be configured and should match the registered publisher and app name from
the Microsoft Store dashboard, as per this screenshot.
🌐 Publishing outside the store
You can use the App Installer file to enable your users to install and update the app from local file share.
Note: installing from the web ms-appinstaller: is disabled for now.
To create a App Installer file, first set the publish_folder_path configuration,
then run the following command:
dart run msix:publish
Available configurations for App Installer (click to expand)
A path to publish folder, where the msix versions and the .appinstaller file will be saved.
c:\path\to\myPublishFolder
hours_between_update_checks
--hours-between-update-checks
Defines the minimal time gap between update checks, when the user open the app. default is 0 (will check for update every time the app opened)
2
automatic_background_task
--automatic-background-task
Checks for updates in the background every 8 hours independently of whether the user launched the app.
false
update_blocks_activation
--update-blocks-activation
Defines the experience when an app update is checked for.
false
show_prompt
--show-prompt
Defines if a window is displayed when updates are being installed, and when updates are being checked for.
false
force_update_from_any_version
--force-update-from-any-version
Allows the app to update from version x to version x++ or to downgrade from version x to version x--.
false
⚠️ Unsupported Features
We added the most common features of Msix in this package, however, if you need to add or edit a feature that is not supported yet, you can do this manually.
First, create the unpackaged msix files with the following command
dart run msix:build
Then edit the files that were created in the build folder.
After that create a msix installer file from those files with the following command