# Where to Find Wand Enhancer Configuration Files: Complete Guide

> Locate Wand Enhancer configuration files in App.config and web-panel files. Learn where to find runtime, build, and local web server settings for Wand Enhancer.

- Repository: [k1tbyte/Wand-Enhancer](https://github.com/k1tbyte/Wand-Enhancer)
- Tags: how-to-guide
- Published: 2026-07-13

---

**Wand Enhancer configuration files are split between the .NET Framework patcher (`WandEnhancer/App.config`) and the TypeScript web panel ([`web-panel/vite.config.ts`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/web-panel/vite.config.ts), [`web-panel/protocol/web-contract.json`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/web-panel/protocol/web-contract.json)), controlling runtime versions, build pipelines, and the local web server (default port 3223).**

The k1tbyte/Wand-Enhancer repository organizes its configuration across two distinct architectures: a C# .NET Framework WPF patcher and a modern TypeScript web panel. Understanding the location and purpose of each Wand Enhancer configuration file is essential for modifying runtime behavior, IPC communication, or the build pipeline.

## .NET Framework Patcher Configuration

The C# patcher relies on standard .NET configuration files located in the `WandEnhancer/` directory to manage runtime startup and dependencies.

### App.config

`WandEnhancer/App.config` controls the .NET runtime version and startup settings for the WPF patcher executable. This XML file specifies which .NET Framework version the application targets and supports.

```xml
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <startup>
        <!-- Change v4.8 to another supported runtime if needed -->
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
    </startup>
</configuration>

```

### NuGet Package Configuration

`WandEnhancer/packages.config` lists all NuGet package references required by the C# project. Additionally, `AsarSharp/packages.config` manages dependencies for the native ASAR helper library used during ASAR extraction operations.

## Web Panel Configuration Files

The remote UI is built with TypeScript and Vite, with its configuration distributed across multiple files in the `web-panel/` directory.

### Vite Build Configuration

[`web-panel/vite.config.ts`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/web-panel/vite.config.ts) defines the Vite bundler options, plugin configuration, and module aliasing. Notably, this file contains the **React to Preact switch** that optimizes bundle size by aliasing React imports to Preact during the build process.

### TypeScript Compiler Settings

[`web-panel/tsconfig.json`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/web-panel/tsconfig.json) (along with related **tsconfig** files) sets the TypeScript compiler options for the main UI source code, enforcing type safety and determining the JavaScript target version for the build output.

### Localization and Linting

- [`web-panel/lingui.config.ts`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/web-panel/lingui.config.ts) handles internationalisation extraction and compilation settings for multi-language support in the UI.
- [`web-panel/eslint.config.js`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/web-panel/eslint.config.js) defines the linting rules and code quality standards enforced across the TypeScript codebase.

### Package Management

The web panel uses multiple [`package.json`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/package.json) files to isolate dependencies:
- [`web-panel/package.json`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/web-panel/package.json) defines project-level dependencies, build scripts, and version metadata.
- [`web-panel/bridge/package.json`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/web-panel/bridge/package.json) manages dependencies for the bridge layer that connects the Electron renderer to the WPF patcher.

Example of modifying the build pipeline:

```json
{
  "scripts": {
    "dev": "vite",
    "build": "tsc --noEmit && vite build && pnpm run build:bridge"
  }
}

```

## IPC Protocol and Runtime Constants

Communication between the patcher and the web panel relies on shared constants defined in JSON and TypeScript files that establish the protocol contract.

### web-contract.json

[`web-panel/protocol/web-contract.json`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/web-panel/protocol/web-contract.json) serves as the central source of truth for **core runtime constants** used by both the bridge and UI. It defines the default host/port (default port 3223), paths, and protocol version for IPC channels.

### constants.ts

[`web-panel/bridge/src/constants.ts`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/web-panel/bridge/src/constants.ts) exposes the values from [`web-contract.json`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/web-contract.json) to the bridge code as JavaScript constants, enabling type-safe access to protocol settings throughout the application.

```ts
// Reading the remote host/port from the shared constants
import { DEFAULT_REMOTE_HOST, DEFAULT_REMOTE_PORT } from './bridge/src/constants';

console.log(`Remote panel will listen on ${DEFAULT_REMOTE_HOST}:${DEFAULT_REMOTE_PORT}`);

```

## Summary

- **WandEnhancer/App.config**: Controls .NET Framework runtime version and startup settings for the patcher executable.
- **web-panel/vite.config.ts**: Manages Vite bundler configuration, including the React to Preact aliasing.
- **web-panel/protocol/web-contract.json**: Central JSON configuration for IPC settings, default port 3223, and protocol version.
- **web-panel/bridge/src/constants.ts**: JavaScript exposure of protocol constants derived from the web contract.
- **packages.config files**: Manage NuGet dependencies for both the main patcher (`WandEnhancer/`) and the ASAR extraction helper (`AsarSharp/`).

## Frequently Asked Questions

### Where is the remote panel port configured in Wand Enhancer?

The default port **3223** and host settings are defined in [`web-panel/protocol/web-contract.json`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/web-panel/protocol/web-contract.json). These values are exposed to the application through [`web-panel/bridge/src/constants.ts`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/web-panel/bridge/src/constants.ts), ensuring both the bridge and UI components share identical runtime constants. Modifying the JSON file changes the listening port for the remote panel.

### How do I change the .NET runtime version for the patcher?

Edit `WandEnhancer/App.config` and modify the `<supportedRuntime>` element within the `<startup>` section. Change the `sku` attribute from `.NETFramework,Version=v4.8` to your target framework version, then ensure the target system has the corresponding .NET Framework installed.

### Which file controls the React to Preact aliasing in the build?

The aliasing configuration is located in [`web-panel/vite.config.ts`](https://github.com/k1tbyte/Wand-Enhancer/blob/main/web-panel/vite.config.ts). This Vite configuration file maps React imports to Preact using module resolution aliases, reducing the final bundle size while maintaining full React API compatibility.

### Where are the NuGet package dependencies defined?

The C# projects use `packages.config` files: `WandEnhancer/packages.config` for the main patcher application and `AsarSharp/packages.config` for the ASAR extraction utility. These XML files list all required NuGet packages and their specific versions for the .NET Framework components.