wails/website
Lea Anthony e3dbe294f2 fix: Add Windows UAC execution level support to manifest template
Fixes #4349: Windows admin permissions not persisting between machines

This change adds configurable UAC (User Account Control) execution level
support to the Windows manifest template, allowing developers to specify
admin requirements that persist when executables are distributed.

## Changes Made

### Enhanced Windows Manifest Template
- Added conditional UAC `trustInfo` section to manifest template
- Uses template variable `{{.ExecutionLevel}}` for dynamic configuration
- Backward compatible: no UAC section when execution level not specified

### Project Configuration Support
- Added `WindowsInfo` struct to project configuration
- Added `executionLevel` field for specifying UAC requirements
- Integrated execution level into template data processing

### Template Data Enhancement
- Extended `assetData` struct to include execution level
- Updated template resolution to extract Windows-specific configuration
- Maintained backward compatibility with existing projects

### Documentation Updates
- Added comprehensive Windows UAC guide with examples
- Updated project configuration reference with Windows options
- Included usage examples and supported execution levels

## Usage

Developers can now specify execution level in wails.json:

```json
{
  "info": {
    "windows": {
      "executionLevel": "requireAdministrator"
    }
  }
}
```

Supported values:
- `requireAdministrator`: Requires admin privileges
- `asInvoker`: Runs with invoker's privileges
- `highestAvailable`: Runs with highest available privileges

## Testing

Verified that:
- UAC trustInfo section is properly embedded in Windows executables
- Admin privileges persist when executables are copied between machines
- Backward compatibility maintained for existing projects
- Template processing works correctly during build

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-12 22:03:07 +10:00
..
.vscode feat(website): repair document content (#1775) 2022-08-22 19:59:28 +10:00
blog Blog Post 2025-03-16 14:01:11 +11:00
docs fix: Add Windows UAC execution level support to manifest template 2025-06-12 22:03:07 +10:00
i18n fix: updates the copyright to be this year (2025) 2025-04-26 11:42:29 +09:00
src fix: cross compiling on linux for windows (#4263) 2025-05-19 21:16:10 +10:00
static chore: update sponsors.svg (#4347) 2025-06-12 21:04:25 +10:00
versioned_docs Submitted a Vanilla JS template 2025-04-28 10:54:47 +05:30
versioned_sidebars v2.10 2025-02-15 09:10:13 +11:00
.gitattributes [Github] Exclude /website from language stats (#2927) 2023-09-21 05:48:19 +10:00
.gitignore fix: fix website build and add taskfile (#2577) 2023-04-12 21:36:01 +10:00
.nvmrc chore: optimize website building process (#2601) 2023-04-17 20:54:06 +10:00
.prettierignore chore: add Prettier as format tool (#2689) 2023-05-30 07:40:54 +10:00
babel.config.js v2.0.0 2022-09-22 11:00:57 +10:00
crowdin.yml feat(website): update the Crowdin branch (#2688) 2023-05-27 12:51:43 +10:00
docusaurus.config.js fix: json5 code highlighting (#3278) 2024-02-29 08:46:33 +11:00
package.json Fix translations 2024-06-16 13:10:56 +10:00
pnpm-lock.yaml Bump ws in /website in the npm_and_yarn group across 1 directory (#3552) 2024-06-19 18:14:55 +10:00
prettier.config.js chore: add Prettier as format tool (#2689) 2023-05-30 07:40:54 +10:00
README.md v2.0.0 2022-09-22 11:00:57 +10:00
sidebars.js fix(website): fix link (#1785) 2022-08-24 06:22:48 +10:00
Taskfile.yml Fix translations 2024-06-16 13:10:56 +10:00
versions.json v2.10 2025-02-15 09:10:13 +11:00

Website

This website is built using Docusaurus 2, a modern static website generator.

Installation

$ npm

Local Development

$ npm run start

Other languages:

npm run start -- --locale <language>

language - The language code configured in the i18n field in the docusaurus.config.js file.

This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.

Translate

After the English source file is updated, run the following command to submit the source file to Crowdin:

npm run crowdin push -- -b <branch>

branch - Branch name in crowdin project

Run the following command to pull the translated files in crowdin to the local:

npm run crowdin pull -- -b <branch> -l <languageCode>

languageCode - Note that this refers to the language code in the crowdin project.

The recommended practice is to update the English source file locally, then translate the file in crowdin, and finally pull the translated file to the local.

Build

$ yarn build

This command generates static content into the build directory and can be served using any static contents hosting service.