Overview
Velion Install Studio is a desktop builder for creating modern Windows installers. The program saves your installer configuration as a .sfproj JSON project, builds a runtime manifest, packs selected files into a payload archive, and prepares a setup executable that installs your app on another Windows computer.
The workflow is intentionally similar to traditional installer tools, but the project is edited visually: you add app metadata, files, folders, wizard pages, themes, shortcuts, dependencies, commands, uninstall behavior, and build settings from the left sidebar.
Install Studio
- Download VelionInstallStudioSetup.exe.
- Run the installer. Administrator rights are recommended for the default Program Files location.
- After installation, open the app from the desktop shortcut or Start Menu.
The Studio installation is separate from the installers you create. When you build your own app setup, your app can use a different name, icon, install folder, publisher, and wizard theme.
Recommended Workflow
- Create a new project from the Dashboard.
- Fill in App Settings first: name, version, publisher, app ID, install directory, icon, and output name.
- Add the main executable and required files on the Files page.
- Add complete asset/config folders on the Folders page.
- Configure desktop and Start Menu shortcuts.
- Edit Welcome and Finish text in Wizard Designer.
- Choose theme mode, accent color, logo, and window size in Theme Designer.
- Add dependencies and commands only after the basic file install works.
- Use Build Page > Validate Project.
- Build the installer, then test it in a clean folder or virtual machine.
Dashboard
Dashboard is the starting point for project-level actions and quick status information.
| Action | What it does |
|---|---|
| New Project | Creates a clean .sfproj project with default wizard, theme, build, and uninstall settings. |
| Open Project | Loads an existing .sfproj file from disk. |
| Save Project | Writes the current settings back to the current project file. |
| Save Project As | Saves a copy of the project to a new location. |
| Open Output Folder | Opens the folder where generated setup files are written. |
The status area shows the current project name, project path, app name, version, last build status, and counts for files, folders, and wizard steps.
Project Files
Velion Install Studio projects use the .sfproj extension. The file is JSON, which makes it readable, version-control friendly, and easy to inspect when debugging.
Keep the project file close to your application build output when possible. Relative paths are easier to move between machines than absolute paths.
App Settings
App Settings define the identity of the application being installed. These values are written into the runtime manifest and used by the installer wizard, shortcuts, uninstall entry, and output file name.
| Field | Recommended value |
|---|---|
| Application Name | The public name of your app, for example Demo App. |
| Version | A clear version number such as 1.0.0. |
| Publisher | Your company or developer name. |
| Application ID | A stable identifier such as com.company.product. |
| Main Executable | The EXE that should be launched by shortcuts or after install. |
| Default Install Directory | Use tokens, for example {pf}\Publisher\AppName. |
| Application Icon | Use a PNG or ICO that represents the installed app. |
| Installer Output Name | The final setup file name, for example DemoAppSetup.exe. |
| Requires Admin | Enable when installing to Program Files or writing HKLM registry entries. |
The Browse button can be used for install directory selection. When the selected path matches a known Windows location, the Studio converts it back to a token so the project remains portable.
Files and Folders
Files Page
Use Files for individual files that must be copied exactly to a destination. The most common first file is your main application executable.
- Source is the file on your development computer.
- Destination is where the file should be installed, usually under {app}.
- Required means the build must stop if the source file is missing.
- Overwrite allows replacing an existing file during install.
- Only if newer is used when you want to avoid replacing a newer installed file.
Folders Page
Use Folders for complete directories such as assets, plugins, templates, language files, or bundled resources. Enable Recursive when all subfolders and files should be included.
Components
Components group files and folders into selectable install parts. A required component is always installed, while an optional component can be chosen by the end user in the runtime installer.
Common component examples are Main Program, Documentation, Example Files, Plugins, Language Packs, or Optional Tools. For a simple installer, one required Main Program component is enough.
Wizard Designer
Wizard Designer controls the text and enabled pages shown by the generated runtime installer.
| Step | Purpose |
|---|---|
| Welcome | Introduces the setup and tells the user what will be installed. |
| License | Shows license text and can require agreement before continuing. |
| Readme | Shows release notes or special installation notes. |
| Install Location | Lets the user accept or change the install folder. |
| Components | Shows optional components when configured. |
| Tasks | Shows choices such as desktop shortcut or run after install. |
| Marketing | Optional promotional page for related products or links. |
| Summary | Confirms selected path, tasks, and components before install. |
| Progress | Shows installation progress and current action. |
| Finish | Shows success/failure state and final options. |
Start with Welcome and Finish text. Add License, Marketing, or Components later when the basic installer flow is already tested.
Theme Designer
Theme Designer controls how the generated runtime installer looks. It does not change the application being installed; it changes the setup wizard around it.
- Mode chooses dark or light installer appearance.
- Accent Color controls primary buttons and highlights.
- Logo appears in the runtime installer header or visual area.
- Background Image can add branded installer background artwork.
- Font Family should usually stay Segoe UI for Windows apps.
- Rounded Corners controls the softer modern window style.
- Window Width/Height controls the installer window size.
Shortcuts
Shortcuts are created during installation when their related task/component is enabled. The most common choices are Desktop and Start Menu.
| Field | Meaning |
|---|---|
| Name | Text shown under the shortcut icon. |
| Target | Usually {app}\YourApp.exe. |
| Arguments | Optional command-line parameters. |
| Working Directory | Usually {app}. |
| Icon | EXE or ICO used by the shortcut. |
| Location | Desktop, Start Menu, Startup, or custom path. |
| Enabled by task | Connects the shortcut to a checkbox on the Tasks page. |
Registry
Registry entries are optional. Use them only when your application actually needs Windows registry data, app path entries, protocol handlers, or uninstall metadata. HKCU entries can normally be written without admin rights. HKLM entries usually require administrator rights.
- Root: HKCU or HKLM.
- Key: registry path under the selected root.
- Name: value name.
- Type: REG_SZ, REG_DWORD, REG_QWORD, REG_EXPAND_SZ, or REG_MULTI_SZ.
- Remove on uninstall: deletes this value during uninstall.
Dependencies
Dependencies are external installers that run before or after your app is installed. Typical examples are Visual C++ Redistributable, .NET Runtime, DirectX runtime, drivers, or a custom prerequisite.
| Option | How to use it |
|---|---|
| Source exe/msi | Select the dependency installer file to include. |
| Arguments | Use silent arguments such as /quiet /norestart when supported. |
| Run mode | Choose before_install for prerequisites or after_install for optional helpers. |
| Required | Stops the install if dependency execution fails. |
| Ignore errors | Allows install to continue even if the dependency fails. |
| Run as admin | Use for system runtimes, drivers, or machine-wide installs. |
Commands
Commands are custom processes run during installation or uninstall. They are useful for registration, service setup, cache creation, database migration, cleanup, or launching helper tools.
- Pre-install: runs before files are installed.
- Post-install: runs after files, shortcuts, and registry actions.
- Pre-uninstall: runs before installed files are removed.
- Post-uninstall: runs after removal.
Use timeouts for commands that may hang. Avoid destructive commands unless they are clearly scoped to the install folder or app-specific data.
Uninstall
The Uninstall page controls how the generated uninstaller behaves and how the installed app appears in Windows Apps & Features / Control Panel.
- Enable uninstall creates uninstall metadata and uninstaller support.
- Create Control Panel entry registers the app in Windows uninstall list.
- Display name/version/publisher are shown by Windows uninstall UI.
- Remove app folder removes the install folder after installed files are deleted.
- Ask before uninstall shows a confirmation screen before removal.
During installation, the runtime writes an uninstall manifest containing installed files, folders, shortcuts, registry entries, and uninstall settings. The uninstaller reads that manifest to remove only what the installer created.
Signing
Signing is prepared for code-signing workflows. In the first release it should be treated as experimental unless your environment has a valid certificate, password, timestamp URL, and signtool path.
Unsigned installers can still work, but Windows SmartScreen may show stronger warnings. For public commercial distribution, use a trusted code-signing certificate.
Build Page
Build Page is where the project becomes an installer. Use it after saving the project and adding all required files.
- Validate Project checks app metadata, source files, folders, paths, dependencies, and risky admin settings.
- Build Installer creates the manifest, payload archive, runtime files, and setup output.
- Clean Build Folder removes temporary build artifacts before a fresh build.
- Open Build Folder opens intermediate build output for debugging.
- Open Output Folder opens the final installer location.
- Build Log shows validation, packaging, runtime, and copy steps.
Build artifacts
- manifest.json: runtime instructions generated from the .sfproj project.
- payload.zip: archive containing selected install files and folders.
- setup.exe: runtime installer executable prepared for the project.
Runtime Installer
The runtime installer is what the final user sees. It loads the generated manifest and payload, shows the wizard pages, resolves path tokens, copies selected files, creates folders, runs dependencies and commands, creates shortcuts, writes uninstall data, and finishes with a success or failure screen.
Runtime progress is reported with percent, current action, and log messages. If an error occurs, the installer shows a clear failure state and writes logs for troubleshooting.
Testing Checklist
- Build the installer with a clean output folder.
- Run setup on the same machine first and choose a test install path.
- Confirm the main EXE exists in the install folder.
- Open the desktop and Start Menu shortcuts.
- Check that optional tasks behave correctly.
- Confirm dependencies and commands complete successfully.
- Check Apps & Features / Control Panel uninstall entry.
- Run uninstall and confirm installed files and shortcuts are removed.
- Test again on a clean Windows machine or VM before public release.
Supported Path Tokens
| Token | Meaning |
|---|---|
| {app} | The final selected install directory. |
| {pf} | Program Files. |
| {pf32} | Program Files (x86). |
| {pf64} | 64-bit Program Files. |
| {localappdata} | User LocalAppData folder. |
| {appdata} | User Roaming AppData folder. |
| {programdata} | Machine-wide ProgramData folder. |
| {desktop} | User desktop folder. |
| {startmenu} | User Start Menu folder. |
| {documents} | User Documents folder. |
| {temp} | Temporary folder. |
| {publisher} | Publisher value from App Settings. |
| {appname} | Application Name from App Settings. |
| {version} | Version from App Settings. |
Troubleshooting
Validation says a source file is missing
Open the Files or Folders page and check the Source path. If the source is required and missing, the build must stop. Rebuild your application first or remove the missing item.
Installer cannot write to Program Files
Enable Requires Admin in App Settings, then rebuild the installer. Program Files is protected by Windows and normally requires elevation.
Shortcut does not start the app
Check Target, Working Directory, and Icon. The target should usually point to the installed EXE under {app}, not to the source file on your development machine.
Dependency fails silently
Test the dependency command in Command Prompt first. Confirm silent switches and whether admin rights are needed. If the dependency is optional, enable Ignore errors.
Uninstall leaves files behind
Files created by the application after installation may not be listed in the uninstall manifest. Use Remove app folder only when it is acceptable to remove the whole install directory.