Huge increase in MSI size when using MFC9 Merge Module

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Huge increase in MSI size when using MFC9 Merge Module

Martin Kals
Hello,
 
I experience some strange behaviour when using the MFC 9 SP1 merge module in my setup.
 
The msm itself has about 4 MB, but when including it in an msi its size increases by about 12 MB, nearly doubling the size of my setup.
 
It seems like the MFC dlls are packaged multiple times under different names in the cab of my msi file (mfc90.dll, nosxs_mfc90.dll, ul_mfc90.dll, and another 3 times for unicode).
I used WinMerge to diff the files and it appears that they are indeed identical.
 
Is this behaviour expected?
 
 
Here is a small example to reproduce the behaviour. I tested it with 3.0.5419.0
 
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi <http://schemas.microsoft.com/wix/2006/wi> ">
  <Product Id="*" Name="PUT-PRODUCT-NAME-HERE" Language="1033" Version="1.0.0.0" Manufacturer="PUT-COMPANY-NAME-HERE">
  <Package InstallerVersion="300" Compressed="yes" />
  <Media Id="1" Cabinet="WixProject1.cab" EmbedCab="yes" />
 
  <Directory Id="TARGETDIR" Name="SourceDir">
      <Merge Id="MFC" SourceFile="Microsoft_VC90_MFC_x86.msm" DiskId="1" Language="0" />
     
      <Directory Id="ProgramFilesFolder">
    <Directory Id="INSTALLLOCATION" Name="PUT-APPLICATION-DIRECTORY-HERE">
     <Component Id="ProductComponent" Guid="*">
            <File Id="ReadMe.txt" Source="ReadMe.txt" />
     </Component>
    </Directory>
   </Directory>
  </Directory>
  <Feature Id="ProductFeature" Title="PUT-FEATURE-TITLE-HERE" Level="1">
   <ComponentRef Id="ProductComponent" />
      <MergeRef Id="MFC"  />
  </Feature>
 </Product>
</Wix>
 
Thanks,
Martin

 
------------------------------------------------------------------------------
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Reply | Threaded
Open this post in threaded view
|

Re: Huge increase in MSI size when using MFC9 Merge Module

Pally Sandher
That's strange. The smart-cabbing feature in WiX should reduce the size
of your cabs rather than increase them.

I've just checked a small plug-in installer of ours which puts the same
12 files (3 DLL's. 1 .BMP, 8 .GIF;s) in 2 different locations based on
feature conditions. The cab has 2 copies of those files in it each with
different filenames which isn't what I'd expect as they aren't something
trivial like identical files in 2 different source directories, they are
from 1 source directory & the File/@Source attributes are identical on
both File Elements in each of the 12 files.

Unless I'm understanding the smart cabbing feature incorrectly this
appears to me to be a bug.


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: Martin Kals [mailto:[hidden email]]
Sent: 03 July 2009 12:00
To: [hidden email]
Subject: [WiX-users] Huge increase in MSI size when using MFC9 Merge
Module

Hello,
 
I experience some strange behaviour when using the MFC 9 SP1 merge
module in my setup.
 
The msm itself has about 4 MB, but when including it in an msi its size
increases by about 12 MB, nearly doubling the size of my setup.
 
It seems like the MFC dlls are packaged multiple times under different
names in the cab of my msi file (mfc90.dll, nosxs_mfc90.dll,
ul_mfc90.dll, and another 3 times for unicode).
I used WinMerge to diff the files and it appears that they are indeed
identical.
 
Is this behaviour expected?
 
 
Here is a small example to reproduce the behaviour. I tested it with
3.0.5419.0
 
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi
<http://schemas.microsoft.com/wix/2006/wi> ">
  <Product Id="*" Name="PUT-PRODUCT-NAME-HERE" Language="1033"
Version="1.0.0.0" Manufacturer="PUT-COMPANY-NAME-HERE">
  <Package InstallerVersion="300" Compressed="yes" />
  <Media Id="1" Cabinet="WixProject1.cab" EmbedCab="yes" />
 
  <Directory Id="TARGETDIR" Name="SourceDir">
      <Merge Id="MFC" SourceFile="Microsoft_VC90_MFC_x86.msm" DiskId="1"
Language="0" />
     
      <Directory Id="ProgramFilesFolder">
    <Directory Id="INSTALLLOCATION"
Name="PUT-APPLICATION-DIRECTORY-HERE">
     <Component Id="ProductComponent" Guid="*">
            <File Id="ReadMe.txt" Source="ReadMe.txt" />
     </Component>
    </Directory>
   </Directory>
  </Directory>
  <Feature Id="ProductFeature" Title="PUT-FEATURE-TITLE-HERE" Level="1">
   <ComponentRef Id="ProductComponent" />
      <MergeRef Id="MFC"  />
  </Feature>
 </Product>
</Wix>
 
Thanks,
Martin

 
------------------------------------------------------------------------
------
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users



------------------------------------------------------------------------------
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users