MSI, MSP, CAB Diff Tool

Deployment Tools Foundation .NET

Deployment Tools Foundation MSI, MSP, CAB Diff Tool

MSI, MSP, CAB Diff Tool

Usage: DDiff target1 target2 [options]
Example: DDiff d:\dir1 d:\dir2
Example: DDiff setup1.msi setup2.msi
Example: DDiff patch1.msp patch2.msp -patchtarget target.msi
Example: DDiff

  /o [filename]    Output results to text file (UTF8)
  /p [package.msi] Diff patches relative to target MSI

The following types of inputs can be diffed:

  • Directories: files and subdirectories are compared.
  • Cab files: internal file list and files are compared.
  • MSI/MSM database files: summary info, tables, and embedded binary and cab streams are compared.
  • MSP files: summary info and embedded file cab are compared. When a patch target MSI is provided, the MSP's tables are also compared.
  • Versioned files: Win32 file version is compared.
  • Text files: if diff.exe is in the path, it is used to get a line-by-line diff.
  • Other files: file size and bytes are compared.
All processing is done recursively. So a versioned file within a cab within an MSI within a directory will have meaningful diff results.