MsiPatchOldAssemblyFile Table

The MsiPatchOldAssemblyFile table relates a file in the File table to an assembly name in the MsiPatchOldAssemblyName table. Multiple old assembly names can be associated with a single file.

The MsiPatchOldAssemblyFile table has the following columns.

Column Type Key Nullable
File_ Identifier Y N
Assembly_ Identifier Y N




Foreign key to the File table that specifies the assembly to be patched. This column is part of the primary key.


Foreign key to the MsiPatchOldAssemblyName table that identifies one of the old assembly names for the assembly. This column is part of the primary key.


Windows Installer uses the MsiPatchOldAssemblyFile table and MsiPatchOldAssemblyName table when patching assemblies installed to the Global Assembly Cache (GAC). When releasing a newer version of an assembly, the strong name of the assembly is changed. The two tables together identify the old assembly name for an updated assembly. This allows the Installer to use the old assembly name to find the original file in the GAC and apply a binary patch. Without this information, the installer may have to access the original installation source in order to patch an assembly installed in the GAC.

The MsiPatchOldAssemblyFile table and MsiPatchOldAssemblyName table are not generated automatically by PatchWiz. The update package specified in the UpgradedImages table is required to contain these tables for the patch to have this information.