Error 1334. The file '_xxxxxxxxxxxxxxxxxxxxxxxxxxx' cannot be installed because the file cannot be found in cabinet file
MSI package having multi files custom merge module fails to install after applying a localized transform. You would find the below error message:
"Error 1334. The file '_xxxxxxxxxxxxxxxxxxxxxxxxxxx' cannot be installed because the file cannot be found in cabinet file '_ xxxxxxxxxxxxxxxxxxxxxxxxxxx'. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package."
The above error occurs only when the packaged merge module contains more than one file.
From the install log:
MSI (s) (A4:B0) [14:19:12:558]: Executing op: FileCopy(SourceName=AREACODE.XML|AreaCode.xml,SourceCabKey=areacode.xml.DA3A9EE8_BE02_4989_9F57_339E53042965,DestName=AreaCode.xml,Attributes=16384,FileSize=25657,PerTick=65536,,VerifyMedia=1,,,,,CheckCRC=0,,,InstallMode=58982400,HashOptions=0,HashPart1=1207937628,HashPart2=-1026001738,HashPart3=-895601004,HashPart4=-1186834295,,)
MSI (s) (A4:B0) [14:19:12:558]: File: C:\Program Files (x86)\Microsoft\Setup1\AreaCode.xml; To be installed; Won't patch; No existing file
MSI (s) (A4:B0) [14:19:12:558]: Source for file 'areacode.xml.DA3A9EE8_BE02_4989_9F57_339E53042965' is compressed
InstallFiles: File: AreaCode.xml, Directory: C:\Program Files (x86)\Microsoft\Setup1\, Size: 25657
MSI (s) (A4:B0) [14:19:12:558]: Note: 1: 1334 2: areacode.xml.DA3A9EE8_BE02_4989_9F57_339E53042965 3: _91DACBF5642025AC8F7CAA5A857CF149
MSI (s) (A4:B0) [14:19:12:558]: Note: 1: 2262 2: Error 3: -2147287038
MSI (c) (58:70) [14:19:12:574]: Note: 1: 2262 2: Error 3: -2147287038
Error 1334. The file 'XXX.DA3A9EE8_BE02_4989_9F57_339E53042965' cannot be installed because the file cannot be found in cabinet file '_91DACBF5642025AC8F7CAA5A857CF149'. This could indicate a network error, an error reading from the CD-ROM, or a problem with this package.
I observed that when the transform is applied in ORCA, the file sequencing is changed for the files packaged under merge module.During application of transform the sequence changes while the media will be of base MSI package , hence the failure. To avoid this either keep the sequence same during creating of localized MSI or manually edit the transform after using msitrans.exe. If the file table has large number of entries then you may export file table from base MSI package and import it in localized MSI package