mirror of
https://github.com/safing/portmaster
synced 2025-09-02 18:49:14 +00:00
[packaging] Add Windows installer build doc
This commit is contained in:
parent
1d15b45341
commit
22f8333ead
1 changed files with 101 additions and 0 deletions
101
packaging/README.md
Normal file
101
packaging/README.md
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
# Generate Windows installer
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
Earthly release prep step must be executed and the output `dist` folder should be present in the root directory of the repository. (Probably needs to be done on separate machine running linux or downloaded from the CI)
|
||||||
|
```
|
||||||
|
earthly +release-prep
|
||||||
|
```
|
||||||
|
|
||||||
|
## Building the installers
|
||||||
|
|
||||||
|
In the root directory of the repository, run the PowerShell script to generate the installers:
|
||||||
|
```
|
||||||
|
./packaging\windows\generate_windows_installers.ps1
|
||||||
|
```
|
||||||
|
|
||||||
|
This will output both .exe (NSIS) and .msi (WIX) installers inside the dist folder:
|
||||||
|
```
|
||||||
|
...\Portmaster\dist\windows_amd64\Portmaster_0.1.0_x64-setup.exe
|
||||||
|
...\Portmaster\dist\windows_amd64\Portmaster_0.1.0_x64_en-US.msi
|
||||||
|
```
|
||||||
|
|
||||||
|
## Manual build
|
||||||
|
|
||||||
|
### Prerequisites
|
||||||
|
|
||||||
|
Ensure you have Rust and Cargo installed.
|
||||||
|
Install Tauri CLI by running:
|
||||||
|
```
|
||||||
|
cargo install tauri-cli --version "^2.0.0" --locked
|
||||||
|
```
|
||||||
|
|
||||||
|
### Folder structure
|
||||||
|
|
||||||
|
Create binary and intel folder inside the tauri project folder and place all the necessary files inside.
|
||||||
|
The folder structure should look like this:
|
||||||
|
```
|
||||||
|
...\Portmaster\desktop\tauri\src-tauri\binary
|
||||||
|
assets.zip
|
||||||
|
index.json
|
||||||
|
portmaster-core.dll
|
||||||
|
portmaster-core.exe
|
||||||
|
portmaster-kext.dll
|
||||||
|
portmaster-kext.sys
|
||||||
|
portmaster.zip
|
||||||
|
WebView2Loader.dll
|
||||||
|
|
||||||
|
...\Portmaster\desktop\tauri\src-tauri\intel
|
||||||
|
base.dsdl
|
||||||
|
geoipv4.mmdb
|
||||||
|
geoipv6.mmdb
|
||||||
|
index.dsd
|
||||||
|
index.json
|
||||||
|
intermediate.dsdl
|
||||||
|
main-intel.yaml
|
||||||
|
news.yaml
|
||||||
|
notifications.yaml
|
||||||
|
urgent.dsdl
|
||||||
|
```
|
||||||
|
|
||||||
|
### Building the Installer
|
||||||
|
|
||||||
|
Navigate to the `src-tauri` directory:
|
||||||
|
```
|
||||||
|
cd desktop/tauri/src-tauri
|
||||||
|
```
|
||||||
|
|
||||||
|
Run the following commands to build the installers:
|
||||||
|
|
||||||
|
For both NSIS and WIX installers:
|
||||||
|
```
|
||||||
|
cargo tauri bundle
|
||||||
|
```
|
||||||
|
|
||||||
|
For NSIS installer only:
|
||||||
|
```
|
||||||
|
cargo tauri bundle --bundles nsis
|
||||||
|
```
|
||||||
|
|
||||||
|
For WIX installer only:
|
||||||
|
```
|
||||||
|
cargo tauri bundle --bundles wix
|
||||||
|
```
|
||||||
|
|
||||||
|
The produced files will be in:
|
||||||
|
```
|
||||||
|
target\release\bundle\msi\
|
||||||
|
target\release\bundle\nsis\
|
||||||
|
```
|
||||||
|
|
||||||
|
## Debug MSI Installer
|
||||||
|
|
||||||
|
To see error messages during the build of the installer, run the bundler with the verbose flag:
|
||||||
|
```
|
||||||
|
cargo tauri bundle --bundles msi --verbose
|
||||||
|
```
|
||||||
|
|
||||||
|
To examine the logs during installation, run the installer with the following command:
|
||||||
|
```
|
||||||
|
msiexec /i "target\release\bundle\msi\Portmaster_0.1.0_x64_en-US.msi" /lv install.log
|
||||||
|
```
|
Loading…
Add table
Reference in a new issue