[003] 플러터 (Flutter) Windows App Tip - 윈도우 앱 빌드 및 스토어 배포하기 (msix 및 인증서 사용)

2023. 11. 6. 15:23모바일어플개발/Flutter Windows App Tips

반응형

안녕하세요~ totally 개발자입니다.

 

윈도우 앱을 배포할 때 msix 패키지를 사용해서 배포하게 되는데요. 이 경우 테스트 인증서로 되지 않아 개인 인증서를 설치하고 테스트 설치를 보는 경우가 생기게 됩니다. 

 

Step 1: 아래 사이트를 통해 OpenSSL를 설치합니다. 경로 선택 하는 부분에서 System 부분이 아니라 Program Files\OpenSSL-Win64\bin 이렇게 갈 수 있도록 선택해주면 됩니다. 

https://slproweb.com/products/Win32OpenSSL.html

 

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions

Minimum system requirements: Windows XP or later 32MB RAM 200MHz CPU 30MB hard drive space Recommended system requirements: Windows XP or later 128MB RAM 500MHz CPU 300MB hard drive space March 14, 2023 - OpenSSL 3.1 is available. Also, Happy Pi Day. Users

slproweb.com

 

Step 2: OpenSSL를 설치한 후 Powershell이 아닌 일반 cmd 명령 크롬프트를 열어주시고  아래 경로로 설정해줍니다. 

 

Step 3: 다음을 입력합니다. 

openssl genrsa -out mykeyname.key 2048

 

Step 4: 키를 생성한 후, csr 부분입니다

openssl req -new -key mykeyname.key -out mycsrname.csr

 

Step 5: 여기에서 국가, 도시 등 정보를 물어보는데 국가는 한국인 경우 KR로 입력하고 넘어가시면 됩니다.

 

Step 6: A challenge password, an optional company name 등도 물어보면 적절히 입력 후 넘어가시면 됩니다.

 

Step 7: 그 다음 이 명령어를 입력합니다. openssl x509 -in mycsrname.csr -out mycrtname.crt -req -signkey mykeyname.key -days 365

 

Step 8: 그 후 이 명령어를 입력하면 pfx 증명서가 생성됩니다. openssl pkcs12 -export -out CERTIFICATE.pfx -inkey mykeyname.key -in mycrtname.crt 

 

Step 9: 비밀번호를 입력해주시면 생성이 완료됩니다.

 

Step 10: 검색에서 '인증서'를 입력하신 뒤 '컴퓨터 인증서 관리'로 들어갑니다.

 

Step 11: '신뢰할 수 있는 사용자'를 선택합니다.

 

Step 12: 마우스 우클릭 -> 모든 작업 -> 가져오기를 선택합니다.

 

 

Step 13: '다음'을 눌러줍니다.

 

Step 14: '찾아보기'를 누릅니다.

 

 

Step 15: 아래 확장자를 개인 정보 교환(pfx)으로 변경하시고 CERTIFICATE로 명명한 증명서를 선택하여 열어줍니다. 

 

 

Step 16: 상위에서 입력한 비밀번호를 입력하고 '다음'을 눌러 완료하시면 됩니다.

 

Step 17: 에디터를 여시고 pubspec.yaml 파일로 가서 dev_dependencies: 밑에 msix 패키지를 추가해주고 아래 msix_config 정보도 입력해줍니다.

 

더 자세한 정보는 아래 패키지 정보를 확인해주시면 됩니다.

https://pub.dev/packages/msix

 

msix | Dart Package

A command-line tool that create Msix installer from your flutter windows-build files.

pub.dev

 

Step 18: 배포 파일을 만들기 위해서 프로젝트 경로에서 dart run msix:publish 명령어를 입력하면 생성됩니다. 위에 생성 경로 설정한 곳을 열어서 APPINSTALL 파일 (TEST.appinstall) 열어보셔서 설치하시고 진행하시면 마무리됩니다.

 

만약에 Microsoft Store(마이크로소프트 스토어)에 배포하시는 용도시라면 dart run msix:publish --store 명령어로 입력하시면 되는데 그 전에 pubspec.yaml에서 

 

msix_config:

  display_name: 스토어어플이름

  publisher_display_name: 스토어개발자이름

  publisher: CN=A1234처럼시작하는일련배포번호

  identity_name: 12345처럼시작하는고유이름

  msix_version: 1.0.0.0

  app_installer:

    publish_folder_path: C:\publish (배포 폴더를 만드시고 경로 작성, 여기에 생성됩니다)

    hours_between_update_checks: 0 (업데이트 체크)

    automatic_background_task: true

    update_block_activation: true

    show_prompt: true

  languages: en-us, ko-kr(지원언어들을 여기에 적습니다)

  logo_path: C:\logo.png(로고로 쓰일 아이콘 경로)

  enable_at_startup: true (컴퓨터 부팅시 앱을 실행하기 원하는 경우 true)

  capabilities: internetClient, musicLibrary, picturesLibrary, videosLibrary, location (필요한 권한 및 기능을 부여)

반응형