sfx
is Go package that allows creating Self Extracting Archive (sfx) for Windows.
This package provides a bundler which append an archive into an sfx bootstrapper.
$ copy sfx.exe dest/myprogram.exe
$ bundler.exe -exe dest/myprogram.exe -dir myarchivedir -compress 9 -id myprogramid
This package provides two SFX bootstrappers:
sfx.exe
: Silent SFX boostrappersfxv.exe
: Verbose SFX bootstrapper
Run bundler -h
to print usage help :
Option | Type | Description |
---|---|---|
-args | string | arguments to pass to executable |
-compress | int | The program to run in the project directory. |
-dest | string | The absolute destination path to extract project in (default: temp). |
-dir | string | The directory to bundle into sfx. (default "project") |
-exe | string | The program to bundle the project in. (default "sfx.exe") |
-id | string | The unique ID for this package. (default "co.touchify.sfx") |
-run | string | The program to run in the project directory (default: auto-detect). |
-v | boolean | Enable program output. |
-version | string | The program version to check for updates. (default 1.0.0 ) |
1.0.0
: Initial release1.0.1
:- Append Microsoft Windows File Properties/Version Info to
sfx.exe
andsfxv.exe
using goversioninfo. - This allows File Properties/Version Info modification via tools like rcedit.
- Append Microsoft Windows File Properties/Version Info to
1.0.2
:- Append arguments passed to
sfx.exe
to bundled executable. - Use
sfx.exe
modification time instead of archive ones. - Use ldflags to reduce
sfx.exe
size.
- Append arguments passed to
1.0.3
:- Add Mac OS X Bundler target.
- Improve publish configuration.