Package Project Overview
An OpenMSI package project consists basically of a single msi-package.yaml file, multiple *dialog.yaml files, assets, and application files.
At first, do not worry with all standard dialog files and others, in most scenarios the only file you will have to work on is the msi-package.yaml.
Make sure your Yaml language server is working to receive help and detailed description of all properties present in msi-package.yaml and *dialog.yaml files.
A typical msi-package.yaml file looks like this:
# yaml-language-server: $schema=https://openmsi.dev/schemas/openmsi-package-v1.schema.json
package:
productName: DemoApp
manufacturer: Contoso
description: DemoApp package description
version: 1.0.8
productCode: 9ca88059-e658-4e98-836e-caaefb978539
upgradeCode: 8b169664-3af6-41f2-8006-c1c0d2e6ae03
productIconSource: msi-package\assets\demoappmulti.ico
dialogs:
- source: msi-package
assets:
- name: OpenMSI_BmpTopBanner
source: msi-package\assets\top-banner-370x44.bmp
- name: OpenMSI_BmpBackground
source: msi-package\assets\background-370x270.bmp
- name: OpenMSI_IcoInfo
source: msi-package\assets\icon-info.ico
- name: OpenMSI_IcoWarning
source: msi-package\assets\icon-warn.ico
- name: OpenMSI_BmpFolderNew
source: msi-package\assets\folder-new.bmp
- name: OpenMSI_BmpFolderUp
source: msi-package\assets\folder-up.bmp
files:
- source: \bin\release\net10.0\publish\win-x64
installFolder: true
shortcuts:
- name: DemoApp
description: DemoApp shortcut description
directory: UserProfile\StartMenuFolder\ProgramMenuFolder
directorySubFolder: "[Manufacturer]\\[ProductName]"
targetDirectory: ProgramFiles64Folder
target: "[Manufacturer]\\[ProductName]\\DemoApp.exe"
iconSource: msi-package\assets\demoappdoc.ico