https://github.com/touchifyapp/sfx
Go package that allows creating Self Extracting Archive (sfx) for Windows.
https://github.com/touchifyapp/sfx
Last synced: 11 months ago
JSON representation
Go package that allows creating Self Extracting Archive (sfx) for Windows.
- Host: GitHub
- URL: https://github.com/touchifyapp/sfx
- Owner: touchifyapp
- License: mit
- Created: 2017-05-09T22:41:21.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-05-25T16:32:34.000Z (about 9 years ago)
- Last Synced: 2024-06-20T11:12:17.811Z (almost 2 years ago)
- Language: Go
- Size: 22.5 KB
- Stars: 11
- Watchers: 4
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sfx (Self Extracting Archive) [](https://travis-ci.org/GeertJohan/go.rice)
`sfx` is [Go](http://golang.org/) package that allows creating __Self Extracting Archive (sfx)__ for Windows.
## Usage
This package provides a bundler which append an archive into an sfx bootstrapper.
```cmd
$ 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](https://github.com/touchifyapp/sfx/blob/master/LICENSE)
## Changelog
* `1.0.0`: Initial release
* `1.0.1`:
* Append _Microsoft Windows File Properties/Version Info_ to `sfx.exe` and `sfxv.exe` using [goversioninfo](https://github.com/josephspurrier/goversioninfo).
* This allows _File Properties/Version Info_ modification via tools like [rcedit](https://github.com/electron/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.