- Node Package Manager (NPM): a package management system used to maintain packages used by the application. NPM 3 or higher is required.
- Node.js (v22.x is required).
- Visual Studio Code is a good choice as an editor: it's cross-platform and is actually built on top of Electron. That said, everything can be used.
- MSIX Packaging Tool is needed to convert the
.msiinstaller to.msix.
To manage multiple versions of Node.js &/or npm, consider using a node version manager.
The following are the commands to run the application. After checking out the repo:
- To install node dependencies:
npm install. This will also install Maestro running automaticallynpm run postinstall. - To install playwright for testing:
npx playwright install --with-deps. This will ask for sudo credentials on Ubuntu, but they are required to install dependencies to manage browser windows. - To run it:
npm run start. - To run end-to-end tests:
npm run test:e2e. - To run unit tests:
npm run test:unit. - To run a syntax check:
npm run syntax. - To build the app for a release:
npm run build. - To build the app for a release for Windows and convert the executable in .msix:
npm run build:win.
If MsixPackagingTool.exe is not found in your terminal with npm run build:win, try running npm run build:win on a Powershell with administrative rights.
If MsixPackagingTool.exe is yet not recognised, look if the alias for MsixPackagingTool.exe and MsixPackagingToolCLI.exe are activated.
If they are activated but it is still not working, follow these steps:
- Run PowerShell as Administrator
- Locate the installed folder for the tool with:
Get-ChildItem "C:\Program Files\WindowsApps" -Directory | Where-Object { $_.Name -like "Microsoft.MSIXPackagingTool_*" } - Pick and copy one that looks like
Microsoft.MSIXPackagingTool_<version>_x64__8wekyb3d8bbwe - Create a folder, i.e. C:\Tools, and create a Symbolic Link:
$tool = "Microsoft.MSIXPackagingTool_1.2024.405.0_x64__8wekyb3d8bbwe"
$target = "C:\Program Files\WindowsApps\$tool\MsixPackagingToolCLI.exe"
New-Item -ItemType Directory -Path "C:\Tools" -Force
New-Item -ItemType SymbolicLink -Path "C:\Tools\MsixPackagingTool.exe" -Target $target- Add C:\Tools to your PATH variables. Do it manually or use the following command:
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Tools", [EnvironmentVariableTarget]::User) - Restart the powershell and test if it is now working.
Please note that a terminal with administrative rights is needed, as the MSIX Packaging Tool is installed in the WindowsApp folder.
npm run clean: cleans the working envorinment from different folders, making it ready for deploy or running for the first time.
The master branch is built automatically on git pushes and the output, for successful builds. Please find the artifacts by clicking in the run of the Package workflow.
These builds represent ongoing work. They have not been fully tested and are not guaranteed to work. Normally, you are advised to use one of the releases.