Hi

I ran into a specific problem, and Chris Stefano found a solution to it.
This is to document the solution to the problem of installing files directly
from a subfolder of the installation medium.
You would want to do this with items that have to be included on the CD
image, where people want to make last-minute changes and drop changed files
onto the CD image without recompiling the installer.


The trick to get the installer to pick install the file MaintenanceGuide.doc
from [root of install media]\Folder2 boils down to a couple of things listed
below and highlighted in yellow in the source below:



1.  Use –b . as parameter in light.exe

2.  Add another empty media tag

3.  Use Compressed=”no” for the package attribute.  Unfortunately, this
means that for each file you wish compressed, you need to set
Compressed=”yes”

4.  On the component that you wish to have installed from the [root of
media]\Folder, set Compressed=”no” and Media=”2”

5.  Set the direct...@sourcename attribute of the component’s grandparent
directory to “.”

6.  Set the direct...@sourcename attribute of the component’s parent
directory to “<folderName>”



Note that the installer is then no longer a self-contained msi file, but
must include the ‘Folder2’ with MaintenanceGuide.doc in it on the path where
the .MSI file is located.  The advantage for the development team is that
they can replace that file without rebuilding the installer – perfect for
last-minute release notes changes that do not involve a rebuild of the
installer.





--- compile with --

candle.exe install.wxs

light.exe -b . -out output\install.msi install.wixobj

--- compile with --



<?xml version="1.0" encoding="utf-8"?>

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>



  <Product Id="E4E7FDF6-855C-4780-836D-B262959737AC"  Name="TestProduct"
Language="1033"

               Version="0.0.0.1" Manufacturer="WixEdit"
UpgradeCode="25539EDF-8D68-4A04-BEDF-85B8B68457CE">



    <Package InstallerVersion="300" Description="Test file in a Product"
Comments="Simple test"

             Compressed="no"/>



    <Media Id="1" Cabinet="simple.cab" EmbedCab="yes" />

    <Media Id="2" />



    <Directory Id="TARGETDIR" Name="SourceDir">

      <Directory Id="ProgramFilesFolder" Name="PFiles" SourceName=".">

        <Directory Id="Test"   Name="Test" SourceName="Folder">

          <Component Id="ReadMe"
Guid="AFEDD8DB-B3F0-4F0F-BB33-211B5A66100C">

             <File Id="ReadMe"

                  Source="ReadMe.txt"

                  Name="ReadMe.txt"

                  DiskId="1"

                  Compressed="yes"

                  Vital="yes"/>

          </Component>



          <Component Id="MaintenanceGuide"
Guid="23D85AEF-27E4-4908-988A-07115410B804">

             <File Id="MaintenanceGuide"

                  Source="Folder2\MaintenanceGuide.doc" <!—-can come from
another folder-->

                  Name="MaintenanceGuide.doc"

                  DiskId="2"

                  Compressed="no"

                  Vital="yes"/>

          </Component>

        </Directory>

      </Directory>

    </Directory>



    <Feature Id="TestProductFeature" Title="Test" Level="1">

      <ComponentRef Id="ReadMe"/>

      <ComponentRef Id="MaintenanceGuide"/>

    </Feature>

    <UI/>

  </Product>



</Wix>
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to