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 myprogramidThis 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.exeandsfxv.exeusing 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.exeto bundled executable. - Use
sfx.exemodification time instead of archive ones. - Use ldflags to reduce
sfx.exesize.
- Append arguments passed to
1.0.3:- Add Mac OS X Bundler target.
- Improve publish configuration.
