I found the problem:
        <Package
           ...
            Compressed="no"
        />

Setting this to "yes" fixed it. Suddenly my MSI was 4meg and it worked.

I did read that _Streams was a temporary table in MSDN, but the instructions 
for embedding a CAB (http://msdn2.microsoft.com/en-us/library/aa369279.aspx) 
tell you to add it to the _Streams table in step 8.

About the disk ID, the table got screwed up with cut and paste:
DiskId

LastSequence

DiskPrompt

Cabinet

VolumeLabel

Source

i2

i4

L64

S255

S32

S72

1

7



#XUSB21.cab






This means that every file with sequence number 7 or below will be in the 
cabinet.

Thanks,
 - Matt


From: Mike Dimmick [mailto:[EMAIL PROTECTED]
Sent: Friday, March 16, 2007 2:30 PM
To: Matt Coill; wix-users@lists.sourceforge.net
Subject: RE: [WiX-users] CAB not being written to _Streams table

_Streams is not a real table. The documentation states "This is a temporary 
table, created only when referenced by a SQL statement." The CABs are actually 
stored as separate streams in the OLE Structured Storage file. You can see them 
with the DocFile Viewer (dfview.exe) from Visual Studio 6.0 (it may be included 
in later versions but I can't see it) but that's not really very helpful as the 
names of the streams are mangled.

If you want to change the compression level, change the CompressionLevel 
attribute. However, here, I think that you've misunderstood DiskId. Only the 
files marked with the same DiskId are included in the specified CAB file. I'm 
not sure if there's any point making multiple embedded CABs, although it is 
possible to request light.exe to reuse existing CAB files.

--
Mike Dimmick

________________________________
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matt Coill
Sent: 16 March 2007 20:37
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] CAB not being written to _Streams table

Embeddding the cab:
        <Media Id="1" EmbedCab="yes" Cabinet="XUSB21.cab" />

Opening the msi with ORCA:
I see that the cab is listed as embedded in the media table -

DiskId

LastSequence

DiskPrompt

Cabinet

VolumeLabel

Source

i2

i4

L64

S255

S32

S72

Media

DiskId









1

7



#XUSB21.cab






The files that should be embedded in it are all the ones sequence of seven or 
less
File

Component_

FileName

FileSize

Version

Language

Attributes

Sequence

s72

s72

l255

i4

S72

S20

I2

i4

File

File













wdf_dll_x64

wdf_dll_x64

wdfx64.DLL|wdfcoinstaller01005.dll

1419232

1.5.6000.0

0

512

6

wdf_dll_x86

wdf_dll_x86

wdfx86.DLL|wdfcoinstaller01005.dll

1419232

1.5.6000.0

0

512

3

wdf_update_x64

wdf_update_x64

wdfupx64.DLL|WUDFUpdate_01005.dll

831096

6.0.6000.16386

1033

512

7

wdf_update_x86

wdf_update_x86

wdfupx86.DLL|WUDFUpdate_01005.dll

831096

6.0.6000.16386

1033

512

4

xusb21_inf

xusb21_inf

xusb21.inf

8400





512

1

xusb21_sys_x64

xusb21_sys_x64

xusb21.sys

347904

6.0.6000.16386

1033

512

5

xusb21_sys_x86

xusb21_sys_x86

xusb21.sys

284544

6.0.6000.16386

1033

512

2


But there is no _Streams table and the file size is only 70K which is 
essentially the same size as without compression.

Does WIX2.0 not support this, or am I missing something?

Thanks,
- Matt
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to