Quickly create beautiful and efficient Windows application installers — powered by Tauri 2
Visit the Node.js official website and install version 22.12.0 or higher.
Go to the Rust official website and follow the installation guide.
npx create-setuply-
Fork this repository.
-
Add the upstream remote:
git remote add upstream https://github.com/phaoer/create-setuply- Create your own branch:
git checkout -b your-branch- Run the scaffolding tool:
npm run create-setuply- Start development 🚀
Supports React and Vue for building custom UI installers.
<Header />provides a draggable navigation/header bar suitable for installer windows.
function useInstallProgress ():{progress:number; reset: () => void} Returns the real-time installation progress (0-100) and a reset function to clear progress.
function useInstallError ():{error:string; reset: () => void} Returns the installation error message (or null) and a reset function to clear errors.
export function appQuit(): Promise<any>Quit the installer application gracefully.
export function openUrl(url: string): Promise<any>Open a URL or run a shell command on the host system (depending on implementation).
export function changePath(): Promise<string | null>Open a folder picker to change the installation path. Returns the selected path or null if cancelled.
type InstallationParams = {
packageDownloadUrl: string; // Installation package URL (supports online packages)
packageFilename: string; // Saved filename for downloaded package
installPath: string; // Installation directory path
setting?: {
reg?: { // Windows registry settings (optional)
displayName: string;
displayVersion: string;
publisher: string;
installLocation: string;
uninstallString: string;
};
shortCut?: { // Desktop shortcut settings (optional)
targetPath: string;
shortcutName: string;
workingDir: string;
description: string;
};
};
}
export function installation(params: InstallationParams): Promise<string>Begin the installation process with the provided parameters.
type LaunchParams = {
exePath: string; // Path to the executable file you want to launch
}
export function launch(params: LaunchParams): Promise<string>Launch the installed application executable.
