Interact with .sdb (application compatibility shim database) files
Project description
sdbtool
A tool for converting Microsoft Application Compatibility Database (SDB) files to XML format.
Table of Contents
Features
- Parses SDB files used by Windows for application compatibility.
- Converts SDB data into readable XML or JSON format.
- Dump file attributes in SDB-recognizable format
- Useful for analysis, migration, or documentation.
- Pure Python and cross-platform - no native
apphelp.dlldependency.
Getting Started
Installation
Sdbtool is available as sdbtool on PyPI.
Invoke sdbtool directly with uvx:
uvx sdbtool sdb2xml your.sdb # Convert the file 'your.sdb' to xml, and print it to the console
uvx sdbtool sdb2xml your.sdb --output your.xml # Convert the file 'your.sdb' to xml, and write it to 'your.xml'
uvx sdbtool sdb2json your.sdb # Convert the file 'your.sdb' to json, and print it to the console
uvx sdbtool sdb2json your.sdb --output your.json # Convert the file 'your.sdb' to json, and write it to 'your.json'
uvx sdbtool sdb2xml old.sdb --target-os 0501 # Resolve tag names as of Windows XP (for older databases)
uvx sdbtool attributes your.exe # Show the file attributes as recognized by apphelp in an XML-friendly format
uvx sdbtool info your.sdb # Show some details about the SDB file (version, description, ...)
Or install sdbtool with uv (recommended), pip, or pipx:
# With uv.
uv tool install sdbtool@latest # Install sdbtool globally.
# With pip.
pip install sdbtool
# With pipx.
pipx install sdbtool
Updating an installed sdbtool to the latest version with uv:
# With uv.
uv tool upgrade sdbtool
# With pip.
pip install --upgrade sdbtool
# With pipx.
pipx upgrade sdbtool
Tag names and --target-os
Tag names are not constant across Windows versions: some are renamed (e.g. OS_PLATFORM became GUEST_TARGET_PLATFORM), and some are dropped (e.g. OS_SKU exists on XP but not on Windows 11).
sdb2xml / sdb2json therefore accept --target-os <VERSION> to resolve names as of a particular Windows release; without it, names are resolved against the newest known table.
An unknown tag is rendered as InvalidTag_0xXXXX.
Contributing
Contributions are welcome! Please open issues or submit pull requests.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sdbtool-0.9.3.tar.gz.
File metadata
- Download URL: sdbtool-0.9.3.tar.gz
- Upload date:
- Size: 28.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9bff214b30578f6419b7e953b97d15bae6aba3f08e6b427cf5a356ba617fef3
|
|
| MD5 |
e6477f82b2ea6f992102e9a26d637536
|
|
| BLAKE2b-256 |
8e27e80b7e4aefa535973c2de3e64eb2ebe5aa4d463d8882dc4cb401cb855e50
|
Provenance
The following attestation bundles were made for sdbtool-0.9.3.tar.gz:
Publisher:
python-publish.yml on learn-more/sdbtool
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sdbtool-0.9.3.tar.gz -
Subject digest:
d9bff214b30578f6419b7e953b97d15bae6aba3f08e6b427cf5a356ba617fef3 - Sigstore transparency entry: 2056560230
- Sigstore integration time:
-
Permalink:
learn-more/sdbtool@cf82b33f8c9ab8c4fdb5c41290af70e0cc76fdfb -
Branch / Tag:
refs/tags/v0.9.3 - Owner: https://github.com/learn-more
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@cf82b33f8c9ab8c4fdb5c41290af70e0cc76fdfb -
Trigger Event:
release
-
Statement type:
File details
Details for the file sdbtool-0.9.3-py3-none-any.whl.
File metadata
- Download URL: sdbtool-0.9.3-py3-none-any.whl
- Upload date:
- Size: 36.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3d6582babb1a80bfc4a0e89d0c29db6a39f94edb0e994ff24c44a0601ffcdee
|
|
| MD5 |
52115ecc73d7bf9ce494707f2669d36f
|
|
| BLAKE2b-256 |
72434b18b9fd17b448c3eed97abe23243675ff736737591697a632e78289df92
|
Provenance
The following attestation bundles were made for sdbtool-0.9.3-py3-none-any.whl:
Publisher:
python-publish.yml on learn-more/sdbtool
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sdbtool-0.9.3-py3-none-any.whl -
Subject digest:
c3d6582babb1a80bfc4a0e89d0c29db6a39f94edb0e994ff24c44a0601ffcdee - Sigstore transparency entry: 2056560518
- Sigstore integration time:
-
Permalink:
learn-more/sdbtool@cf82b33f8c9ab8c4fdb5c41290af70e0cc76fdfb -
Branch / Tag:
refs/tags/v0.9.3 - Owner: https://github.com/learn-more
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@cf82b33f8c9ab8c4fdb5c41290af70e0cc76fdfb -
Trigger Event:
release
-
Statement type: