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,-lor-Lat 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 validmsidiffoption β 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:
-Nupfor contents-U0for 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 πβ¨
π¦ where this page comes from
- debian bookworm: msitools 0.101+repack-1 Β· LGPL-2.1-or-later
- debian trixie: msitools 0.106+repack-1 Β· LGPL-2.1-or-later
- ubuntu jammy: msitools 0.101+repack-1 Β· LGPL-2.1-or-later
- ubuntu noble: msitools 0.103+repack-1build3 Β· LGPL-2.1-or-later
- ubuntu questing: msitools 0.106+repack-1build1
- ubuntu resolute: msitools 0.106+repack-2 Β· LGPL-2.1-or-later
- ubuntu stonking: msitools 0.106+repack-3 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms