ussfc 1.4.1.2
dotnet tool install --global ussfc --version 1.4.1.2
dotnet new tool-manifest
dotnet tool install --local ussfc --version 1.4.1.2
#tool dotnet:?package=ussfc&version=1.4.1.2
nuke :add-package ussfc --version 1.4.1.2
USSF-CSharp (ussfc)
Universal Silent Setup Finder / Console — a C# port of alexandruavadanii/USSF, reimagined as a cross-platform, headless command-line tool.
Given an installer (or any binary stream), ussfc identifies the packaging format and prints the silent-install command line to use.
- Version: 1.4.1.2 (inherited from the upstream AutoIt project)
- Runtime: .NET 10 file-based app (single
.cssource, no.csproj) - License: Apache-2.0
Installation
Download a prebuilt binary
Grab the archive for your platform from the Releases page:
| Platform | Archive |
|---|---|
| Windows x64 | ussfc-win-x64.zip |
| Windows ARM64 | ussfc-win-arm64.zip |
| Linux x64 | ussfc-linux-x64.tar.gz |
| Linux ARM64 | ussfc-linux-arm64.tar.gz |
| macOS x64 (Intel) | ussfc-osx-x64.tar.gz |
| macOS ARM64 (M1+) | ussfc-osx-arm64.tar.gz |
Each archive contains a single self-contained ussfc (or ussfc.exe) binary — no .NET runtime install required.
Run from source (.NET 10 SDK required)
dotnet run ussf.cs -- setup.exe
Or, with the shebang on Unix:
chmod +x ussf.cs
./ussf.cs setup.exe
Usage
ussfc [options] <file_path>
<data> | ussfc [options]
Options
| Option | Description |
|---|---|
--json |
Emit the result as JSON instead of human-readable text. |
--help, -h |
Show usage information. |
--version, -v |
Print the version and exit. |
Examples
Analyze a file:
ussfc setup.exe
File: setup.exe
Extension: .exe
Type: NSIS Package
Usage: "setup.exe" /S
Emit JSON:
ussfc --json setup.msi
{
"file": "setup.msi",
"extension": ".msi",
"type": "MSI File",
"usage": "msiexec.exe /i \"setup.msi\" /qb",
"notes": ""
}
Pipe a binary from stdin:
cat setup.exe | ussfc --json
Supported file types
| Extension | Type |
|---|---|
.inf |
Information / Installation file |
.reg |
Registry file |
.msi |
Windows Installer package |
.exe |
NSIS, Inno Setup, InstallShield, Wise, 7-Zip, WinZip, UPX, and more |
Detection combines binary-signature matching (MZ, OLE Compound Document, etc.) with extension and text-content fallbacks.
Building from source
Quick run
dotnet run ussf.cs -- <args>
Publish a single-file binary
dotnet publish ussf.cs \
-c Release \
-r <rid> \
--self-contained true \
-p:PublishSingleFile=true \
-o publish
Where <rid> is one of: win-x64, win-arm64, linux-x64, linux-arm64, osx-x64, osx-arm64.
Continuous delivery
Pushing a tag matching v* (e.g. v1.4.1.2) triggers .github/workflows/release.yml, which builds binaries for all six target platforms, bundles them with README.md / LICENSE, generates SHA-256 checksums, and publishes a GitHub Release.
The workflow is also runnable on demand via the Run workflow button (workflow_dispatch).
Credits
- Original AutoIt implementation: Alexandru Avadanii (Apache-2.0).
- C# port and CLI design: Jung-Hyun Nam.
The version number 1.4.1.2 is preserved from the upstream project's Version.au3 to make the lineage explicit.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.4.1.2 | 59 | 4/29/2026 |