msidiff(1)

πŸ’– msidiff(1) β€” the manual, but make it cute πŸ’–

okay bestie, so this is the General Commands Manual page for msidiff, and I need you to sit down because it's genuinely iconic. it's from the msitools crew. we're gonna go through it together, no skipping, fr fr 🫢


✨ NAME ✨

msidiff β€” compare Windows Installer packages

like, it looks at two .MSI files and tells you what's different. that's the whole job. main character energy honestly πŸ‘‘


🌸 SYNOPSIS 🌸

msidiff [<option> [<option> ...]] [<diff-options>] <source MSI> <target MSI>

so you give it a bunch of options if you want, then some diff-flavoured options, then the two MSI files you're comparing. source first, target second. order matters, don't play with me πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

msidiff compares Windows Installer packages (.MSI files). that's it. that's the vibe. two packages walk in, one comparison walks out ✨


πŸ’… OPTIONS πŸ’…

  • -t, --tables β€” compare the MSI tables as text. this is the default, so if you just run it with no flags, this is what you get πŸŽ€
  • -l, --list β€” compare the file lists inside the packages.
  • -L, --long-list β€” compare the detailed file lists inside the packages. capital L for extra detail, obviously.
  • -h, --help β€” print a help message and dip out. classic.
  • -v, --version β€” print version info and bounce.
okay important: you can specify more than one of -t, -l or -L at the same time. they stack, bestie. stack them πŸ“

and now the <diff-options> tea, because this part is lowkey the trickiest and I don't want you caught out:

<diff-options> get passed straight through to diff(1). so how does msidiff know where your msidiff options end and your diff options begin? here's the rule, listen carefully:

  • the first repeated argument of the options listed above, or the first argument that starts with a - but isn't a valid msidiff option β€” that's what starts <diff-options>.
  • the first argument that does not start with - β€” that's what ends them.

and the defaults, because defaults are everything:

  • -Nup for contents
  • -U0 for others
  • -r, which is always passed. always. it's not optional, it's not up for debate, it's just there. periodt πŸ’€

πŸ‘‘ AUTHORS πŸ‘‘

msidiff was written by Ville SkyttÀ for Red Hat, Inc. 🫢

this manual page was adapted from the program usage information by Stephen Kitt <skitt@debian.org>, for the Debian GNU/Linux system (but may be used by others). it was last modified for msidiff version 0.93.


and that's the whole page, bestie, you ate it πŸ’– this was msitools, dated December 21, 2014, and yes I know that's ancient but the knowledge is timeless. go compare some packages. slay 🌈✨