Windows Installer makes calls to the Cabinet API to decompress your cab
files. Other than using multiple cabs in your package I don't think
there's much you can do to change Windows Installer behaviour using WiX.
As the first read to the start of the cab file isn't always at the same
place & is always reading 16 bytes, one assumes it's reading a table of
contents or similar to find out where the actual file starts & ends
before it tries pulling it from the cab.
There's a C++ example on using the Cabinet API to extract files at
http://msdn.microsoft.com/en-us/library/ff797927.aspx if you wish to
test it outside of Windows Installer to see what behaviour it exhibits.

If you want to eliminate it you can forgo the use of cab files entirely
but that brings it's own problems & concerns.

Palbinder Sandher 
Software Deployment & IT Administrator
T: +44 (0) 141 945 8500 
F: +44 (0) 141 945 8501 

http://www.iesve.com 
**Design, Simulate + Innovate with the <Virtual Environment>**
Integrated Environmental Solutions Limited. Registered in Scotland No.
SC151456 
Registered Office - Helix Building, West Of Scotland Science Park,
Glasgow G20 0SP
Email Disclaimer

-----Original Message-----
From: Leung, John C.H. [mailto:johnle...@ea.com] 
Sent: 23 September 2010 01:02
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Question with performance on installer using cab
files

I have some performance question on installer setup that uses cab files.
I'm wondering if I just didn't set up my WiX project properly or it this
is how cab files install behaves.

I notice that during installation of the files listed in the cab files,
it always read 16 and 256 bytes (see below table from Process Monitor)
near the start of the cab file and then seek forward to read 32KB chunks
and write data.  This is happening for every single file in the cab
file.  We have over 10,000 files in the cab file.  This constantly
seeking back and forth on the DVD drive seems inefficient.  Is this
normal?  Or is there something I'm supposed to do in my WiX project
setup?  I've tried different compression level (default, none, low,
etc), they don't seem to have any effect on this behaviour.


"4:36:31.9308030
PM","msiexec.exe","4992","ReadFile","F:\CabGroup.cab","SUCCESS","Offset:
108, Length: 16, Priority: Normal"      < - - - Reading 16 + 256 bytes
near beginning of cab file.
"4:36:31.9308395
PM","msiexec.exe","4992","ReadFile","F:\CabGroup.cab","SUCCESS","Offset:
124, Length: 256, Priority: Normal"
"4:36:31.9337166
PM","msiexec.exe","4992","WriteFile","C:\Config.Msi\b684f13.rbs","SUCCES
S","Offset: 4,766, Length: 97"
"4:36:31.9387399 PM","msiexec.exe","4992","WriteFile","C:\Program
Files\Test
Install\SimpleTest\TestCabGrp\TestFolder1\SubFolder11\DummyImage2.bmp","
SUCCESS","Offset: 0, Length: 10,850, Priority: Normal"
"4:36:31.9388491
PM","msiexec.exe","4992","ReadFile","C:","SUCCESS","Offset: 41,885,696,
Length: 96, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O,
Priority: Normal"
"4:36:31.9389737
PM","msiexec.exe","4992","ReadFile","F:\CabGroup.cab","SUCCESS","Offset:
27,673, Length: 8, Priority: Normal"
"4:36:31.9390101
PM","msiexec.exe","4992","ReadFile","F:\CabGroup.cab","SUCCESS","Offset:
27,681, Length: 194, Priority: Normal"
"4:36:31.9392198 PM","msiexec.exe","4992","WriteFile","C:\Program
Files\Test
Install\SimpleTest\TestCabGrp\TestFolder1\SubFolder11\DummyImage2.bmp","
SUCCESS","Offset: 10,850, Length: 32,768, Priority: Normal"
"4:36:31.9396917
PM","msiexec.exe","4992","ReadFile","F:\CabGroup.cab","SUCCESS","Offset:
27,875, Length: 8, Priority: Normal"
"4:36:31.9397258
PM","msiexec.exe","4992","ReadFile","F:\CabGroup.cab","SUCCESS","Offset:
27,883, Length: 178, Priority: Normal"
"4:36:31.9398968 PM","msiexec.exe","4992","WriteFile","C:\Program
Files\Test
Install\SimpleTest\TestCabGrp\TestFolder1\SubFolder11\DummyImage2.bmp","
SUCCESS","Offset: 43,618, Length: 32,768"
...
"4:36:31.9776340 PM","msiexec.exe","4992","WriteFile","C:\Program
Files\Test
Install\SimpleTest\TestCabGrp\TestFolder1\SubFolder11\DummyImage2.bmp","
SUCCESS","Offset: 2,468,450, Length: 11,068"
"4:36:31.9813752
PM","msiexec.exe","4992","ReadFile","F:\CabGroup.cab","SUCCESS","Offset:
172, Length: 16, Priority: Normal"      < - - - Reading 16 + 256 bytes
near beginning of cab file.
"4:36:31.9814126
PM","msiexec.exe","4992","ReadFile","F:\CabGroup.cab","SUCCESS","Offset:
188, Length: 256, Priority: Normal"
"4:36:31.9840158
PM","msiexec.exe","4992","WriteFile","C:\Config.Msi\b684f13.rbs","SUCCES
S","Offset: 4,863, Length: 92"
"4:36:31.9886911 PM","msiexec.exe","4992","WriteFile","C:\Program
Files\Test
Install\SimpleTest\TestCabGrp\TestFolder1\SubFolder11\Image3.bmp","SUCCE
SS","Offset: 0, Length: 21,700, Priority: Normal"
"4:36:31.9888493
PM","msiexec.exe","4992","ReadFile","F:\CabGroup.cab","SUCCESS","Offset:
57,571, Length: 8, Priority: Normal"
"4:36:31.9888881
PM","msiexec.exe","4992","ReadFile","F:\CabGroup.cab","SUCCESS","Offset:
57,579, Length: 2,174, Priority: Normal"
"4:36:31.9891042 PM","msiexec.exe","4992","WriteFile","C:\Program
Files\Test
Install\SimpleTest\TestCabGrp\TestFolder1\SubFolder11\Image3.bmp","SUCCE
SS","Offset: 21,700, Length: 32,768, Priority: Normal"
...
"4:36:32.0270798 PM","msiexec.exe","4992","WriteFile","C:\Program
Files\Test
Install\SimpleTest\TestCabGrp\TestFolder1\SubFolder11\Image3.bmp","SUCCE
SS","Offset: 2,282,692, Length: 18,770"
"4:36:32.0306709
PM","msiexec.exe","4992","ReadFile","F:\CabGroup.cab","SUCCESS","Offset:
231, Length: 16, Priority: Normal"     < - - - Reading 16 + 256 bytes
near beginning of cab file.
"4:36:32.0307078
PM","msiexec.exe","4992","ReadFile","F:\CabGroup.cab","SUCCESS","Offset:
247, Length: 256, Priority: Normal"
"4:36:32.0332996
PM","msiexec.exe","4992","WriteFile","C:\Config.Msi\b684f13.rbs","SUCCES
S","Offset: 4,955, Length: 92"
"4:36:32.2163116 PM","msiexec.exe","4992","WriteFile","C:\Program
Files\Test
Install\SimpleTest\TestCabGrp\TestFolder1\SubFolder11\Image4.bmp","SUCCE
SS","Offset: 0, Length: 13,998, Priority: Normal"
"4:36:32.2165258
PM","msiexec.exe","4992","ReadFile","F:\CabGroup.cab","SUCCESS","Offset:
207,409, Length: 8, Priority: Normal"
"4:36:32.2165745
PM","msiexec.exe","4992","ReadFile","F:\CabGroup.cab","SUCCESS","Offset:
207,417, Length: 1,500, Priority: Normal"
"4:36:32.2167896 PM","msiexec.exe","4992","WriteFile","C:\Program
Files\Test
Install\SimpleTest\TestCabGrp\TestFolder1\SubFolder11\Image4.bmp","SUCCE
SS","Offset: 13,998, Length: 32,768, Priority: Normal"




John Leung
Software Engineer


------------------------------------------------------------------------
------
Start uncovering the many advantages of virtual appliances and start
using them to simplify application deployment and accelerate your shift
to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to