| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
A fully custom, branded installer for BitFun — built with Tauri 2 + React for maximum UI flexibility.
Instead of relying on the generic NSIS wizard UI from Tauri's built-in bundler, this project provides:
BitFun-Installer/ ├── src-tauri/ # Tauri / Rust backend │ ├── src/ │ │ ├── main.rs # Entry point │ │ ├── lib.rs # Tauri app setup │ │ └── installer/ │ │ ├── commands.rs # Tauri IPC commands │ │ ├── extract.rs # Archive extraction │ │ ├── registry.rs # Windows registry (uninstall, context menu, PATH) │ │ ├── shortcut.rs # Desktop & Start Menu shortcuts │ │ └── types.rs # Shared types │ ├── capabilities/ │ ├── icons/ │ ├── Cargo.toml │ └── tauri.conf.json ├── src/ # React frontend │ ├── pages/ │ │ ├── LanguageSelect.tsx # First screen language picker │ │ ├── Options.tsx # Path picker + install options │ │ ├── Progress.tsx # Install progress + confirm │ │ ├── ModelSetup.tsx # Optional model provider setup │ │ └── ThemeSetup.tsx # Theme preview + finish │ ├── components/ │ │ ├── WindowControls.tsx # Custom titlebar │ │ ├── Checkbox.tsx # Styled checkbox │ │ └── ProgressBar.tsx # Animated progress bar │ ├── hooks/ │ │ └── useInstaller.ts # Core installer state machine │ ├── styles/ │ │ ├── global.css # Base styles │ │ ├── variables.css # Design tokens │ │ └── animations.css # Keyframe animations │ ├── types/ │ │ └── installer.ts # TypeScript types │ ├── App.tsx │ └── main.tsx ├── scripts/ │ └── build-installer.cjs # End-to-end build script ├── index.html ├── package.json ├── vite.config.ts └── tsconfig.json
Language Select → Options → Progress → Model Setup → Theme Setup
│ │ │ │ │
choose UI path + run real optional AI save theme,
language options install model config launch/close
cd ..
pnpm installOr from repository root:
pnpm installProduction installer builds call workspace desktop build scripts, so root dependencies are required.
Keep generated artifacts out of commits. This project ignores:
Run the installer in development mode with hot reload:
pnpm run tauri:devKey behavior:
Local debug command:
npx tauri dev -- -- --uninstall "D:\\tmp\\bitfun-uninstall-test"Core implementation:
Build the complete installer in release mode (default, optimized):
pnpm run installer:buildUse this as the release entrypoint. pnpm run tauri:build does not prepare validated payload assets for production. Release artifacts embed payload files into the installer binary, so runtime installation does not depend on an external payload folder.
Build the complete installer in fast mode (faster compile, less optimization):
pnpm run installer:build:fastBuild installer only (skip main app build):
pnpm run installer:build:onlyinstaller:build:only now requires an existing valid desktop executable in target output paths. If payload validation fails, build exits with an error.
Build installer only with fast mode:
pnpm run installer:build:only:fastThe built executable will be at:
src-tauri/target/release/bitfun-installer.exe
Fast mode output path:
src-tauri/target/release-fast/bitfun-installer.exe
Edit src/styles/variables.css — all colors, spacing, and animations are controlled by CSS custom properties.
Place the built BitFun application files in src-tauri/payload/ before building the installer. The build script handles this automatically. During cargo build, the payload directory is packed into an embedded zip inside bitfun-installer.exe.
Add to your GitHub Actions workflow:
- name: Build Installer
run: |
cd BitFun-Installer
pnpm install
pnpm run installer:build:only
- name: Upload Installer
uses: actions/upload-artifact@v4
with:
name: BitFun-Installer-Exe
path: BitFun-Installer/src-tauri/target/release/bitfun-installer.exe| Back | FazBrowse Home | New Git URL |