Standard, Production, and the installer
Package contents
| Package | Contents |
|---|
| standard/ | Release GUI ExtraExecutor.exe, ExtraExecutor-console.exe, bin helpers/runtime, documentation, examples, integrations, shortcuts |
| ExtraExecutor-2.11.3-Standard.zip | Portable archive of Standard |
| production/portable/ | GUI ExtraExecutor.exe, required bin/DLLs, HTML guide, licenses, examples/integrations. No console entry point, server CMD, PDB, or application sources |
| production/ExtraExecutor-2.11.3-x64-Setup.exe | Compressed Production installer for Windows x64 |
| production/ExtraExecutor-2.11.3-Production-Portable.zip | Production without installation: extract completely to a writable folder and run ExtraExecutor.exe. Not a source archive for rebuilding |
bin/Potassium.exe is an internal required helper, launched hidden rather than as the user-facing console version. The optional standalone VM is Standard-only when built.
Source layout: src UI; src-tauri native app; engine/client standalone VM/IPC; integrations AI/Studio; packaging/windows installer; scripts build/package; docs guide. New results go into releases without overwriting old local builds.
Installation
- Close old portable copies, which can hold IPC ports even from other directories.
- Run Setup and approve the normal Windows administrator prompt.
- Choose a dedicated folder named ExtraExecutor, default Program Files/ExtraExecutor. AppData/Potassium is rejected because it stores account/script data. Existing managed installations in a folder named Potassium are also accepted for upgrades; their data path remains unchanged.
- Setup stages files temporarily and checks SHA-256/sizes.
- Updates request closure only for ExtraExecutor/helpers inside the selected install folder. After 20 seconds, Retry/Cancel is offered if they remain open. Save unsaved tabs first. Roblox/unrelated applications are not stopped.
- The old install becomes sibling ExtraExecutor.backup.<id>, and staging becomes ExtraExecutor. Failed replacement attempts restore backup if the target is free.
- Start menu gets ExtraExecutor/Uninstall. The final page can launch the new GUI. No automatic Windows reboot is required.
Managed installations carry install-metadata.json with productId. Unknown nonempty folders/old third-party portable folders without metadata are not overwritten; choose an empty folder initially. Later Setup runs update the managed installation.
Rollback covers directory replacement, not every possible power/OS failure. Installation/update/rollback were not executed in this pass: build-only work followed the user's instruction against live tests.
Data preservation and uninstall
Vault/accounts/profiles/user scripts/autoexec/workspace stay in LocalAppData/Potassium. Setup neither packages nor replaces/deletes them.
Successful updates retain the old install backup, including unknown files/logs. Remove it manually after confirming the new version; automatic backup cleanup is absent.
Uninstall closes only this installation's processes and removes manifest-managed files, shortcuts, and registry entry. Unknown files/logs/AppData remain; nonempty folders are not recursively erased. Previous backups remain.
Windows x64 and Microsoft Edge WebView2 Runtime are required. Loader/MSVC runtime DLLs are packaged; the complete WebView2 Runtime is not. Setup does not fetch unknown dependencies or change antivirus/system permissions.
Applied protection
- Rust optimization 3, thin LTO, codegen-units 1, symbols stripped, no debug info/incremental, panic=abort.
- Vite production minification, no source maps; embedded frontend.
- Production excludes PDB, Rust/Vue/C++ sources, separate debug/console entry point.
- IPC logs omit raw frames/JSON to avoid storing capabilities/script source.
- Installer compression, SHA-256/size checks, install/staging boundary and AppData/junction checks.
- Existing local vault encryption retained; private user data excluded.
This is not encryption of every file or a guarantee against decompilation. A client must execute/decrypt its code; an embedded key is not secret from the machine owner. Minification/stripping makes analysis harder, not impossible. Public Lua examples, JSON configurations, stdio/Studio integrations, and local Maintenance.ps1 remain readable; maintenance contains no secrets/network code.
NSIS LZMA is compression, not encryption. SHA-256 checks integrity, not publisher identity. This build is unsigned because no Authenticode certificate was supplied; Windows may report an unknown publisher.
No anti-debugging, hidden loaders, Defender disabling, or protection bypass was added. Private server logic, secrets, licensing, and signed online updates require separate server integration. Current updates use local Setup.
Rebuilding
Windows components and drivers
GUI requires Windows x64 and Microsoft Edge WebView2 Evergreen Runtime. Install official x64 Runtime if absent or the window is blank, then reopen. Full Runtime is not bundled.
MSVC DLLs are included. For missing MSVCP140/VCRUNTIME140, extract fully or install official Visual C++ Redistributable x64. Avoid individual DLL downloads from third-party sites.
No separate kernel driver is supplied/installed for GUI or Setup. Use GPU-vendor drivers or Windows Update for graphics. This does not confirm existing Roblox payload compatibility; see feature status. Node.js is needed only for MCP stdio or development builds.
Build-machine preparation
- Install Node.js LTS with npm.
- Install Rust through rustup with x86_64-pc-windows-msvc toolchain.
- Install Microsoft C++ Build Tools: Desktop development with C++, MSVC x64/x86, Windows SDK. These are development tools, not drivers.
- Windows PowerShell 5.1 and internet for npm/Cargo dependencies/initial NSIS download are needed. Restart terminal after installing tools.
- Use full project sources: package-lock.json, src, src-tauri, release/bin, integrations, scripts. Portable ZIP is not source. Proprietary helpers/DLLs in release/bin are reused; the batch file cannot recreate missing proprietary sources.
Official Tauri Windows prerequisites.
One-click rebuild
Double-click Rebuild-All.bat in the source root. It restores lockfile npm dependencies, renders HTML docs, builds GUI/console EXEs, creates both ZIPs and Production Setup in a new releases folder. Existing packages remain. Errors leave the window open. Building needs no elevation; Setup requests it during installation.
The batch does not run tests, game, or installer. Standalone engine/VM has a separate optional scripts/build-luau-engine.ps1 build documented in the VM guide. Standard includes it only if binaries exist.
./scripts/build-distribution.ps1
The script builds frontend/both release EXEs, packages editions, creates install manifest, and compiles Setup. Node/Rust/MSVC prerequisites must exist. NSIS 3.13 downloads from official Tauri binary-releases with pinned upstream checksum into .tools.
-SkipBuild reuses compiled release EXEs. -OutputDirectory selects a new destination; existing folders are rejected. After moving portable/installed folders, update AI template paths to integrations/mcp-stdio.mjs.
Setup personalizes only example AI paths and updates install-manifest.json; it does not fill private tokens. Use that manifest for installed files. General SHA256-MANIFEST files describe original portable contents before personalization.
Roblox runtime limitations remain: packaging does not add bindings or prove existing DLL compatibility.