Skip to main content

C++ deploy utility

Project description

mugideploy

mugideploy is C++ deploy utility similar to ldd. It reads info about dynamically linked libraries stored in PE file headers and can:

  1. copy all necessary binaries into name-version-arch directory (create distribution)

  2. copy linked libraries into specified directory

  3. create inno setup script to build exe installer

  4. print this info in various forms

Create distribution

mugideploy collect --version 0.0.1 --bin Release\imgzip.exe --plugins imageformats

creates imgzip-0.0.1-win64 directory and copies Release\imgzip.exe and dependencies there

options:
  --name NAME                                     App name
  --version VERSION                               App version
  --bin BIN [BIN ...]                             Binaries (dlls, exes)
  --data DATA [DATA ...]                          Path to data dirs and files
  --plugins PLUGINS [PLUGINS ...]                 Plugin names
  --plugins-path PLUGINS_PATH [PLUGINS_PATH ...]  Path to plugins
  --dst DST                                       Destination path or path template
  --vcredist VCREDIST                             Path to Microsoft Visual C++ Redistributable
  --ace ACE                                       Path to Access Database Engine
  --system                                        Include system dlls
  --vcruntime                                     Include vcruntime dlls
  --msapi                                         Include msapi dlls
  -q, --quiet                                     Do not print additional info
  --unix-dirs                                     bin var etc dirs
  --src SRC                                       Path to sources
  --version-header VERSION_HEADER                 Path to version header
  --dry-run                                       Do not copy files
  --zip                                           Zip collected

Copy dependencies

mugideploy copy-dep --bin C:\qt\6.8.1\mingw_64\bin\qmake.exe --dst C:\qt\6.8.1\mingw_64\bin

copies dlls into dst directory

options:
  --bin BIN [BIN ...]                             Binaries (dlls, exes)
  --plugins PLUGINS [PLUGINS ...]                 Plugin names
  --plugins-path PLUGINS_PATH [PLUGINS_PATH ...]  Path to plugins
  --dst DST                                       Destination path or path template
  --system                                        Include system dlls
  --vcruntime                                     Include vcruntime dlls
  --msapi                                         Include msapi dlls
  -q, --quiet                                     Do not print additional info
  --dry-run                                       Do not copy files

Create inno setup script

mugideploy inno-script --bin Release\imgzip.exe --plugins imageformats --data changelog.json -o setup.iss

creates setup.iss

options:
  --bin BIN [BIN ...]                             Binaries (dlls, exes)
  --plugins PLUGINS [PLUGINS ...]                 Plugin names
  --plugins-path PLUGINS_PATH [PLUGINS_PATH ...]  Path to plugins
  --system                                        Include system dlls
  --vcruntime                                     Include vcruntime dlls
  --msapi                                         Include msapi dlls
  -q, --quiet                                     Do not print additional info
  --output-dir OUTPUT_DIR                         Inno setup script output dir
  -o OUTPUT, --output OUTPUT                      Path to save file

Print info

mugideploy list --bin Release\imgzip.exe --plugins imageformats -q

prints linked libraries as a list

mugideploy json --bin Release\imgzip.exe --plugins imageformats -o binaries.json

prints linked libraries as a json

mugideploy tree --no-repeat --bin Release\imgzip.exe --plugins imageformats -q

prints linked libraries as a tree

mugideploy graph --bin Release\imgzip.exe --plugins imageformats -o graph.dot

prints linked libraries as a graph

options:
  --bin BIN [BIN ...]                             Binaries (dlls, exes)
  --plugins PLUGINS [PLUGINS ...]                 Plugin names
  --plugins-path PLUGINS_PATH [PLUGINS_PATH ...]  Path to plugins
  --system                                        Include system dlls
  --vcruntime                                     Include vcruntime dlls
  --msapi                                         Include msapi dlls
  -q, --quiet                                     Do not print additional info
  -o OUTPUT, --output OUTPUT                      Path to save file
  --no-repeat                                     Print each dll once (tree)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mugideploy-0.0.30.tar.gz (17.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mugideploy-0.0.30-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file mugideploy-0.0.30.tar.gz.

File metadata

  • Download URL: mugideploy-0.0.30.tar.gz
  • Upload date:
  • Size: 17.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for mugideploy-0.0.30.tar.gz
Algorithm Hash digest
SHA256 6808ce3be08906ef38fc79bd9adcae74355aa39b4886bfbfb1a12bf6bca4197a
MD5 70242e8a3b208fd9b2003b0d748d33dd
BLAKE2b-256 63b4325065e146df5d4872b90d23aa029aab69e4b235208addd50e4c79165394

See more details on using hashes here.

File details

Details for the file mugideploy-0.0.30-py3-none-any.whl.

File metadata

  • Download URL: mugideploy-0.0.30-py3-none-any.whl
  • Upload date:
  • Size: 17.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for mugideploy-0.0.30-py3-none-any.whl
Algorithm Hash digest
SHA256 f06dc72b48985136d3a555eb5a5b8125ce65cec47c68a9db9240f700d83ed322
MD5 5d2ace54c62354ecf9b0dae701f2ce53
BLAKE2b-256 6d12fdd9d8188e57114ba52314ecc3cf3c8b3a6e38c89e4ff3bbd7abd365adb2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page