KAK MOD INSTALLER — Windows 10/11
=================================

Standalone desktop app. Requires Windows PowerShell 5.1 and .NET Framework 4.x (included with supported Windows versions). No server, Python, or .NET SDK is required. An internet connection is needed once, to activate the license key, and then only to refresh the key every 14 days. For a one-file per-user installer, run KAK_Mod_Installer_Setup.exe from the download folder. Alternatively, extract this ZIP and run Install.cmd. Both installation methods create Start menu and Desktop shortcuts.

The application and setup screens use KAK's slate-and-teal theme. The application footer identifies Kody Alexander Kreations and Public Release 1.0.

SCREENSHOTS
These PNG reference images sit beside this file and show the current interface.
- KAK-Mod-Installer-Windows11.png: the main window with a shortcut hint shown over the Refresh folders button.
- KAK-Mod-Installer-Row-Tooltip-Windows11.png: the Installed mods list showing the full name, size, and date of a row whose name is cut off.
- KAK-Mod-Installer-Shortcuts-Windows11.png: the Keyboard shortcuts reference, opened with F1 or the Shortcuts button in the title bar.
- KAK-Mod-Installer-Setup-Windows11.png: the setup window.
They are documentation only; the app does not need them to run.

LICENSE AND ACTIVATION
- Every copy needs a license key of the form KAKMI-XXXX-XXXX-XXXX-XXXX, supplied with your purchase. The download alone does not include one.
- On first launch the app asks for the key and links it to this PC. One key works on one PC at a time.
- The key is signed into a 14-day offline lease. The app checks the license service at startup when it can reach it and refreshes the lease automatically; offline starts use the signed lease.
- Replacing the PC: contact the seller and ask for a license reset, then enter the same key on the new PC. Only the seller can clear the old PC link.
- A revoked key is blocked when the app next reaches the license service; without a connection it stops working when its lease expires.
- The activated key is stored in %LOCALAPPDATA%\KAK Mod Installer\license.json; do not copy that file to another PC, because it is tied to this machine.
- Activation uses the KAK license service at https://site-9a938ae0db304b9e85ed8968c81d8466.freebuff.page. If activation cannot reach it, check the internet connection and try again.

INSTALL
1. Extract the ZIP to a normal folder.
2. Double-click Install.cmd. If Windows prompts about running a script, this package's launcher uses PowerShell's per-process execution-policy bypass; it does not change your system policy.
3. Open KAK Mod Installer from the Desktop or Start menu.

USE
- Choose American Truck Simulator or Euro Truck Simulator 2.
- The Installed mods and Installed plugins lists read the configured destination folders. Each row shows the file size and its last-modified date next to the name. Hover a row whose name is cut off to see the full filename with its size and date. Type in each Search box to filter that list by filename. Use Refresh folders after changing a path outside the app.
- Add files with Add files or drag them onto the queue. Current default rules accept .scs and .zip as mods and .dll as plugins.
- Confirm the shown mod/plugin folders. Use Browse for a custom destination, then Save paths to persist it.
- Install queued files. Existing same-name files are backed up before replacement.
- Select one installed item and choose Replace selected to pick a new file of the same extension. The selected destination filename is retained, and the old contents are backed up. This is also included in Roll back latest.
- Select one or more installed items and choose Remove selected installed files. They are moved into %LOCALAPPDATA%\KAK Mod Installer\Removed with a JSON record of their original path so they can be recovered manually.
- Roll back latest removes files from the last add/replace transaction and restores any replaced originals.
- Open log opens the local activity log. Open profiles opens the editable JSON configuration; close the app before editing and restart afterward.
- The Activity panel keeps only the previous and current session. Older entries rotate into install-<timestamp>.log files beside it, with the newest 10 kept. Clear activity empties the current log on demand; archived sessions are untouched.

WINDOW
- The app remembers its window size and position between sessions and keeps them inside the visible work area, so a layout saved on a larger or now-disconnected monitor still opens on screen. The layout is stored as window.json beside the log and profiles.
- Reset layout in the title bar, or Ctrl+Shift+R, restores the default size and position and clears the saved layout.

KEYBOARD
- Ctrl+O adds files. Ctrl+I installs the queued files.
- Ctrl+F focuses the mods search box and Ctrl+Shift+F focuses the plugins search box. Esc clears the search box that has focus.
- Ctrl+R refreshes the installed lists. Ctrl+L opens the log. Ctrl+Shift+L clears the Activity panel. Delete removes the selected queued files.
- Ctrl+Shift+R resets the window to its default size and position and clears the remembered layout. Press F1, or choose Shortcuts in the title bar, for an in-app list of every shortcut (shown in KAK-Mod-Installer-Shortcuts-Windows11.png).
- Tab and Shift+Tab move between controls; the focused button or field shows a highlight.
- In the setup window, Enter installs and Esc cancels.

DESTINATIONS AND SAFETY
- Mod folders default to each game's Documents folder.
- Plugin folders default to the Steam common install path under Program Files (x86). If the game is installed elsewhere, browse to the actual plugins folder. A compatible plugin DLL is required; this tool cannot verify a DLL's game/version compatibility.
- .zip and .scs archives are copied intact. The app does not extract, execute, or inspect archive contents.
- The app only copies selected files to the configured destination. Validate files and their source before installing them.
- Settings, profiles, window layout, logs, transaction history, replacement backups, and removed-file backups are stored in %LOCALAPPDATA%\KAK Mod Installer.

FUTURE GAME / FILE TYPE PROFILES
Edit %LOCALAPPDATA%\KAK Mod Installer\Profiles.json while the app is closed. Keep schemaVersion at 1. Add a profile object with unique id, name, modPath, pluginPath, and a rules object mapping lowercase extensions to "mod" or "plugin". For example:
  ".pak": "mod"
Unknown destination keys and unsupported extensions are rejected/skipped. Profiles configure placement only; they do not add archive extraction or format compatibility checks.

UNINSTALL
Run Uninstall.cmd from the extracted package. It removes the application files and shortcuts while retaining settings, logs, history, and backups. Remove %LOCALAPPDATA%\KAK Mod Installer separately if you also want to delete those records and backups. Uninstalling does not remove installed game mods.

VERIFICATION NOTE
The launcher is compiled from Launcher.cs with the Windows .NET Framework compiler. Build-KAK-Package.ps1 beside this file rebuilds the setup exe and this ZIP from the package folder; the setup payload skips the PNG screenshots and the build script, while the ZIP keeps them. PowerShell scripts and profile JSON were syntax/schema checked, the launcher was started in this Windows environment, and activation plus the 14-day offline lease were exercised against the license service. Run Install.cmd and verify shortcuts, drag-and-drop, and rollback on the target PC. The app has not been exercised against a live ATS/ETS2 installation in this build environment.
