Deployment Tools Foundation
Windows Installer Package File Manipulation Tool
Development Guide > Samples > WiFile

    Usage: WiFile.exe package.msi /l [filename,filename2,...]
    Usage: WiFile.exe package.msi /x [filename,filename2,...]
    Usage: WiFile.exe package.msi /u [filename,filename2,...]

    Lists (/l), extracts (/x) or updates (/u) files in an MSI or MSM.
    Files are extracted using their source path relative to the package.
    Specified filenames do not include paths.
    Filenames may be a pattern such as *.exe or file?.dll

#### Example

The most powerful use of WiFile.exe is to do a round-trip update of files in a compressed MSI/MSM package. It works like this:

1. Extract specific file(s) or all files from the package: `WiFile.exe package.msi /x *`
2. The files are now expanded into their directory structure. You can edit/update the files however you like.
3. Update the package with the changed files: `WiFile.exe package.msi /u *` This also updates the file metadata in the MSI including the file version, size, and hash.

#### Notes

- Also works with packages that have multiple and/or external cab(s).