Skip to content

Go package that allows creating Self Extracting Archive (sfx) for Windows.

License

Notifications You must be signed in to change notification settings

touchifyapp/sfx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sfx (Self Extracting Archive) Build Status

sfx is Go package that allows creating Self Extracting Archive (sfx) for Windows.

Usage

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

SFX bootstrappers

This package provides two SFX bootstrappers:

  • sfx.exe: Silent SFX boostrapper
  • sfxv.exe: Verbose SFX bootstrapper

Bundler options

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)

License

MIT

Changelog

  • 1.0.0: Initial release
  • 1.0.1:
    • Append Microsoft Windows File Properties/Version Info to sfx.exe and sfxv.exe using goversioninfo.
    • This allows File Properties/Version Info modification via tools like rcedit.
  • 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.
  • 1.0.3:
    • Add Mac OS X Bundler target.
    • Improve publish configuration.