# Install unshield with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, scoop, zypper

Extract files from InstallShield cabinet files. Version 1.6.2 via Homebrew; verified 2026-05-13.

## Install

```sh
sudo av install brew:unshield
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install unshield
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install unshield
```

  Evidence: MacPorts ports tree: archivers/unshield/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add unshield
```

  Evidence: Alpine Linux edge package indexes: unshield from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install libunshield-dev
```

  Evidence: Debian stable package indexes: libunshield-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install unshield
```

  Evidence: Fedora Rawhide package metadata: unshield from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#unshield
```

  Evidence: nixpkgs package indexes: pkgs/by-name/un/unshield/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S unshield
```

  Evidence: Arch Linux sync databases: unshield from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install libunshield1
```

  Evidence: openSUSE Tumbleweed package metadata: libunshield1 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Scoop (92%):

```sh
scoop install main/unshield
```

  Evidence: Scoop official bucket manifest trees: bucket/unshield.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:unshield
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/unshield>
- **Version:** 1.6.2
- **Source summary:** Extract files from InstallShield cabinet files
- **Homepage:** <https://github.com/twogood/unshield>
- **Repository:** <https://github.com/twogood/unshield>
- **Upstream docs:** <https://github.com/twogood/unshield#readme>
- **License:** MIT
- **Source archive:** <https://github.com/twogood/unshield/archive/refs/tags/1.6.2.tar.gz>
- **Last updated:** 2026-05-13T14:52:16Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- unshield (cli)
- unshield (alias)

## Dependencies

- openssl@4

## Build dependencies

- cmake

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.6.2
- Package-manager updated: 2026-05-13
- Local data: ok
- Upstream repository: https://github.com/twogood/unshield
- Upstream latest detected: 1.6.2 (current)
## Project history and usage

Unshield is a command-line tool and C library for extracting files from InstallShield cabinet files. Its README explains the original motivation: many Pocket PC applications were distributed as Windows InstallShield installers rather than standalone Microsoft Cabinet files, which was impractical for Linux and FreeBSD users.

### Project history

The upstream README is unusually explicit about the design origin. InstallShield cabinet files were not officially documented, so the author used the Windows tools i5comp and i6comp as references, discovered through `strings` that they used zlib for decompression, and chose to write a new implementation rather than port those tools.

The stated goals were pragmatic and distribution-friendly: use the MIT license, work on little-endian and big-endian systems, separate the implementation into a tool and a library, support InstallShield version 5 and later, list cabinet contents, and extract files.

The project has since become a maintained small C package. Its changelog records man-page work in 2008 and a 0.6 release in 2009; tagged releases later reached 1.x, and the current CMake configuration sets version 1.6.2, uses C23, installs a man page and pkg-config file, and builds both library and CLI components.

### Adoption history

The supplied package metadata shows Unshield packaged in Homebrew, Alpine/apk, Debian and Ubuntu as `libunshield-dev`, Fedora/dnf, MacPorts, Nix, Arch/pacman, Scoop, and openSUSE/zypper. That broad spread reflects both CLI use and library development use.

Unshield also appears as an optional backend in the `unp` ecosystem: the `unp` 2.0 changelog records experimental support for InstallShield-style Microsoft Cabinet files via unshield. That is a classic package-manager adoption path for a niche extractor: one focused tool becomes a backend behind a more general archive wrapper.

### How it is used

The man page describes Unshield as a tool for listing, testing, and extracting InstallShield cabinet contents. Its commands include listing components, file groups, files, testing files, and extracting files; options cover component and group selection, output directory, forced InstallShield version, filename encoding conversion, lowercasing, raw extraction, and path handling.

In practice, users reach for it when they have a Windows installer archive but need the payload on a Unix-like system, in a build recipe, or in a recovery/migration workflow without running the installer.

### Why package nerds care

Unshield matters in package culture because proprietary installer formats often block reproducible packaging. A small MIT-licensed extractor lets maintainers inspect or extract upstream payloads on Unix systems, script the process, and avoid depending on Windows-only tooling.

Its split library/tool design is also package-friendly: distributions can ship a CLI for users and development files for programs that need InstallShield cabinet support.

### Timeline

- 2008: Upstream changelog starts and records addition of the man page.
- 2009: Upstream changelog records the 0.6 release.
- 2013: GitHub tag metadata records version 1.0.
- 2023: Man page identifies the Unshield project and documents the modern command set.
- 2024: `unp` 2.0 records experimental InstallShield cabinet support via unshield.
- 2026: Current CMake project version is 1.6.2.

### Related projects

- Unshield is related to InstallShield, Microsoft Cabinet files, zlib, the historic i5comp and i6comp tools, and archive wrappers such as `unp` that can delegate InstallShield-style extraction to it.

### Sources

- <https://github.com/twogood/unshield/blob/master/CMakeLists.txt>
- <https://github.com/twogood/unshield/blob/master/ChangeLog>
- <https://github.com/twogood/unshield/blob/master/README.md>
- <https://github.com/twogood/unshield/blob/master/man/unshield.1>
- <https://salsa.debian.org/blade/unp/-/raw/master/debian/changelog>
- source_facts.package-manager


## Security Notes

No matching local secret-handling manifest was found for unshield. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** unshield
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - libunshield-dev - 1.5.1-1+b2: normalized package name match | Debian stable package indexes: libunshield-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | development files for libunshield | https://github.com/twogood/unshield/
- Debian apt - libunshield0 - 1.5.1-1+b2: normalized package name match | Debian stable package indexes: libunshield0 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | library to extract CAB files from InstallShield installers | https://github.com/twogood/unshield/
- Debian apt - unshield - 1.5.1-1+b2: normalized package name match | Debian stable package indexes: unshield from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | extracts CAB files from InstallShield installers | https://github.com/twogood/unshield/
- Nix - unshield: normalized package name match | nixpkgs package indexes: pkgs/by-name/un/unshield/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - libunshield-dev - 1.5.1-1: normalized package name match | Ubuntu 24.04 LTS package indexes: libunshield-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | development files for libunshield | https://github.com/twogood/unshield/
- Ubuntu apt - libunshield0 - 1.5.1-1: normalized package name match | Ubuntu 24.04 LTS package indexes: libunshield0 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | library to extract CAB files from InstallShield installers | https://github.com/twogood/unshield/
- Ubuntu apt - unshield - 1.5.1-1: normalized package name match | Ubuntu 24.04 LTS package indexes: unshield from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | extracts CAB files from InstallShield installers | https://github.com/twogood/unshield/
- apk - unshield - 1.6.2-r1: normalized package name match | Alpine Linux edge package indexes: unshield from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Extracts CAB files from InstallShield installers | https://github.com/twogood/unshield
- apk - unshield-dev - 1.6.2-r1: normalized package name match | Alpine Linux edge package indexes: unshield-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Extracts CAB files from InstallShield installers (development files) | https://github.com/twogood/unshield
- apk - unshield-doc - 1.6.2-r1: normalized package name match | Alpine Linux edge package indexes: unshield-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Extracts CAB files from InstallShield installers (documentation) | https://github.com/twogood/unshield
- dnf - unshield - 1.6.2-5.fc45: normalized package name match | Fedora Rawhide package metadata: unshield from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Extract CAB files from InstallShield installers | https://github.com/twogood/unshield
- dnf - unshield-devel - 1.6.2-5.fc45: normalized package name match | Fedora Rawhide package metadata: unshield-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Files needed for software development with unshield | https://github.com/twogood/unshield
- pacman - unshield - 1.6.2-1: normalized package name match | Arch Linux sync databases: unshield from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Extracts CAB files from InstallShield installers | https://github.com/twogood/unshield
- zypper - libunshield1 - 1.6.2-1.3: normalized package name match | openSUSE Tumbleweed package metadata: libunshield1 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A Program to Extract InstallShield Cabinet Files | https://github.com/twogood/unshield
- zypper - unshield - 1.6.2-1.3: normalized package name match | openSUSE Tumbleweed package metadata: unshield from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A Program to Extract InstallShield Cabinet Files | https://github.com/twogood/unshield
- zypper - unshield-devel - 1.6.2-1.3: normalized package name match | openSUSE Tumbleweed package metadata: unshield-devel from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Header files, libraries and development documentation for libunshield1 | https://github.com/twogood/unshield


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [openssl@4](https://www.automicvault.com/pkg/brew/openssl-4/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [atool](https://www.automicvault.com/pkg/brew/atool/) - Shares av.db curated category or tags: archives, cli, system.
- [fuse-zip](https://www.automicvault.com/pkg/brew/fuse-zip/) - Shares av.db curated category or tags: archives, cli, system.
- [ratarmount](https://www.automicvault.com/pkg/brew/ratarmount/) - Shares av.db curated category or tags: archives, cli, system.
- [t2sz](https://www.automicvault.com/pkg/brew/t2sz/) - Shares av.db curated category or tags: archives, cli, system.
- [cabextract](https://www.automicvault.com/pkg/brew/cabextract/) - Shares av.db curated category or tags: archives, cli, extraction, system.
- [unzip](https://www.automicvault.com/pkg/brew/unzip/) - Shares av.db curated category or tags: archives, cli, system.
- [avfs](https://www.automicvault.com/pkg/brew/avfs/) - Shares av.db curated category or tags: archives, cli, system.
- [dtrx](https://www.automicvault.com/pkg/brew/dtrx/) - Shares av.db curated category or tags: cli, extraction, system.
- [decompress-zip](https://www.automicvault.com/pkg/npm/decompress-zip/) - Local package facts share a topical domain. Shared terms: archives, cli, extract, files, system.

## Combined YAML source

View the package source record on GitHub. [combined/unshield.yml](https://github.com/automic-vault/db/blob/main/combined/unshield.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
