패키지, 저장소 및 앱 카테고리 검색

패키지 상세v3.18.0

msix

Flutter Windows 빌드 파일에서 Msix 설치 프로그램을 생성하는 명령줄 도구입니다.

Windows
30일 다운로드
27.6만
좋아요
990
Pub 점수
130

패키지 설치

flutter pub add msix

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

msix 패키지는 Windows용으로 빌드된 Flutter 애플리케이션에서 MSIX 설치 프로그램을 생성하도록 설계된 명령줄 도구입니다. 기존의 Windows 빌드 출력물을 배포 가능한 MSIX 패키지로 변환함으로써 패키징 과정을 간소화합니다. MSIX 패키지는 Windows 앱 배포를 위한 현대적인 표준입니다. 이 도구는 Flutter 빌드 워크플로우와 원활하게 통합되어 개발자가 Microsoft 스토어를 통해 데스크톱 앱을 출시하거나 직접 사이드로드하여 설치할 수 있도록 합니다. 자동 서명 및 구성 기능을 지원하여 Windows 플랫폼용 릴리스 관리를 간소화합니다.

사용 사례

  • Windows 데스크톱 앱용 MSIX 설치 프로그램 만들기
  • Flutter 앱을 Microsoft Store에 게시하기
  • CI/CD 파이프라인에서 Windows 앱 패키징 자동화
  • 사이드로딩을 통한 플러터 앱 배포
  • 기업 배포를 위한 서명된 MSIX 패키지 생성

주요 기능

  • Flutter Windows 빌드 파일을 MSIX 형식으로 변환합니다
  • 자동 서명 및 매니페스트 생성을 지원합니다
  • Flutter 빌드 시스템과 통합
  • Microsoft 스토어 게시를 활성화합니다
  • YAML 설정을 통해 구성 가능

적합한 대상

  • 윈도우 데스크톱을 대상으로 하는 플러터 개발자
  • Microsoft 스토어에 앱을 배포하는 팀
  • Windows 앱을 위한 CI/CD 워크플로
  • 엔터프라이즈 소프트웨어 배포

고려 사항

  • 실행을 위해 Windows OS가 필요합니다
  • Windows 플랫폼 전용
  • Microsoft Store 제출을 위해 수동 설정이 필요합니다
  • 정확한 Flutter 빌드 아티팩트에 의존합니다
  • 추가 인증서 관리가 필요할 수 있습니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

MSIX

Flutter Favorite Badge

pub package MSIX toolkit package issues-closed issues-open Codemagic build status

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:

msix_config:
  display_name: Flutter App
  publisher_display_name: Company Name
  identity_name: company.suite.flutterapp
  msix_version: 1.0.0.0
  logo_path: C:\path\to\logo.png
  capabilities: internetClient, location, microphone, webcam

See Configurations Examples And Use Cases.

Available Configurations
MSIX configuration (click to expand)
YAML name Command-line argument Description (from Microsoft Package manifest schema reference) Example
display_name --display-name -d A friendly app name that can be displayed to users. Flutter App
publisher_display_name --publisher-display-name -u A friendly name for the publisher that can be displayed to users. Company Name
identity_name --identity-name -i Defines the unique identifier for the app. company.suite.flutterapp
msix_version --version The version number of the package, in a.b.c.d format. see how the msix version is determined. 1.0.0.0
logo_path --logo-path -l Path to an image file for use as the app icon (size recommended at least 400x400px). C:\images\logo.png
trim_logo --trim-logo <true/false> If false, don't trim the logo image, default is true. true
capabilities --capabilities -e List of the capabilities the app requires. internetClient,location,microphone,webcam
languages --languages Declares the language resources contained in the package. en-us, ja-jp
file_extension --file-extension -f File extensions that the app may be registered to open. .picture, .image
protocol_activation --protocol-activation Protocols activation that will activate the app. http,https
app_uri_handler_hosts --app-uri-handler-hosts Enable apps for websites using app URI handlers app. test.com, test2.info
execution_alias --execution-alias Execution alias command (cmd) that will activate the app. myapp
enable_at_startup --enable-at-startup App start at startup or user log-in. true
store --store Generate a MSIX file for publishing to the Microsoft Store. false
os_min_version --os-min-version Set minimum OS version, default is 10.0.17763.0 10.0.17763.0
Toast Notifications configuration
Startup Task configuration pass the app values (args) on startup or user log-in
Context Menu configuration Use your context menu dll with your app
Build configuration (click to expand)
YAML name Command-line argument Description Example
debug --debug or --release 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 signed test 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.

microsoft store icon 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)
App Installer configuration example:
msix_config:
  display_name: Flutter App
  app_installer: #<-- app installer configuration
    publish_folder_path: c:\path\to\myPublishFolder
    hours_between_update_checks: 0
    automatic_background_task: true
    update_blocks_activation: true
    show_prompt: true
    force_update_from_any_version: false
  msix_version: 1.0.3.0
YAML name Command-line argument Description (from Microsoft schema reference) Example
publish_folder_path --publish-folder-path 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

dart run msix:pack

Tags: msi windows win10 win11 windows10 windows11 windows store windows installer windows packaging appx AppxManifest SignTool MakeAppx

카테고리

의존성

의존성 목록 9 개

소스 저장소

이 패키지를 사용하는 프로젝트

순위