Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

TRANSFORM BUG?: MSIEXEC.EXE Delays table transformation - Left too late (error 2356)

122 views
Skip to first unread message

dbareis [Windows Installer MVP]

unread,
Apr 29, 2008, 11:06:14 PM4/29/08
to
Hi,

If I create a transform which contains sundry Binary resources
as well as a cabinet for compressed files and apply it on the
MSIEXEC command line with the "TRANSFORMS" property the install
fails with:
! Error 2356.Could not locate cabinet in stream: Binary.MM01.cab

This is logged:

! MSI (s) (C0:28) [12:49:50:565]: Executing op:
FileCopy(SourceName=ABC.CHM|
ABC.chm,SourceCabKey=ABC.chm,DestName=ABC.chm,Attributes=16896,FileSize=89110,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,,Language=1033,InstallMode=58982400,,,,,,,)
! MSI (s) (C0:28) [12:49:50:565]: File: C:\Program Files\Common Files
\MyCompany\BSS\ABC.mmh\ABC.chm; Overwrite; Won't patch; Existing file
is unversioned and unmodified - no source file hash provided to
compare
! MSI (s) (C0:28) [12:49:50:565]: Source for file 'ABC.chm' is
compressed
! InstallFiles: File: ABC.chm, Directory: C:\Program Files\Common
Files\MyCompany\BSS\ABC.mmh\, Size: 89110
! MSI (s) (C0:28) [12:49:50:581]: Re-applying security from existing
file.
! MSI (s) (C0:28) [12:49:50:628]: Verifying accessibility of file:
ABC.chm
! MSI (s) (C0:70) [12:49:50:643]: Note: 1: 2262 2: Binary.MM01.cab 3:
-2147287038
! MSI (s) (C0:28) [12:49:50:643]: Note: 1: 2356 2: Binary.MM01.cab
! MSI (c) (F8:08) [12:49:50:643]: Transforming table Binary.

It would appear to me that the transformation is delayed (last line
above)
and that it occurs too late! I notice that that "Transforming table
Binary"
actually appears many times above for custom actions etc.

Everything points to it being a Windows Installer bug as, I have
proven that
the stream is in the mst and have used orca to apply the transform and
the install
of the transformed msi works perfectly.

Any ideas?

Thanks,
Dennis

P.S. Environment is Windows Installer 3.1.4000.2435 on Microsoft
Windows XP (5.1.2600 Service Pack 2)

Adrian Accinelli

unread,
Apr 30, 2008, 12:17:17 PM4/30/08
to
"dbareis [Windows Installer MVP]" <dba...@gmail.com> wrote in message
news:b60a9feb-fd6d-44f7...@f24g2000prh.googlegroups.com...

> Hi,
> If I create a transform which contains sundry Binary resources
> as well as a cabinet for compressed files and apply it on the
> MSIEXEC command line with the "TRANSFORMS" property the install
> fails with:
> ! Error 2356.Could not locate cabinet in stream: Binary.MM01.cab
> This is logged:
> ! MSI (s) (C0:28) [12:49:50:565]: Executing op:
> FileCopy(SourceName=ABC.CHM|
> ABC.chm,SourceCabKey=ABC.chm,DestName=ABC.chm,Attributes=16896,FileSize=89
> 110,PerTick=32768,,VerifyMedia=1,,,,,CheckCRC=0,,Language=1033,InstallMode
> =58982400,,,,,,,) ! MSI (s) (C0:28) [12:49:50:565]: File: C:\Program


Without looking at their code I too would agree that this appears to be a
bug. I don't see a reason why this case should be special. In other cases,
as you noted, all transforms are applied to a table prior to the installer
accessing the table. Side note: I always thought this seemed a bit
ineffecient as well since why not transform all tables up front but I
suppose they have their reasons.

Did you try with MSI4.5 redistributable? Maybe this is an old bug :)

Then again I would not recommend adding files via transforms. Any rows that
are in transforms are not targetable by future patches other than major
upgrades (explicit TRANSFORM property listed transform changes are applied
last after all patch transforms changes are made). I was burned by this
fact when adding language specific files via transforms during my first
product release with MSI files. So if you are looking for a workable
solution today then change your transform into a patch and it will work.

Sincerely,
Adrian Accinelli


dbareis [Windows Installer MVP]

unread,
Apr 30, 2008, 6:07:39 PM4/30/08
to
Hi,

On May 1, 2:17 am, "Adrian Accinelli"
<hclnospamali...@newsgroup.nospam> wrote:

> Without looking at their code I too would agree that this appears to be a
> bug.  I don't see a reason why this case should be special.

> Did you try with MSI4.5 redistributable?  Maybe this is an old bug :)

No I haven't, at the moment I don't have the time or disk space to
create a VM
and in any case I need it to work on this level of Windows Installer.

The lack of a Windows Installer bug list/ fixes info is not very
helpful...


> Then again I would not recommend adding files via transforms.  Any rows that
> are in transforms are not targetable by future patches other than major
> upgrades (explicit TRANSFORM property listed transform changes are applied
> last after all patch transforms changes are made).  I was burned by this
> fact when adding language specific files via transforms during my first
> product release with MSI files.  So if you are looking for a workable
> solution today then change your transform into a patch and it will work.

Thanks for the suggestion. I only care about major updates but in any
case
my workaround is to use the transformed msi.

Bye,
Dennis

0 new messages