mirror of
https://github.com/safing/portmaster
synced 2025-04-25 13:29:10 +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