使用msm文件创建msi

一、不使用merge module的ModuleSubstitution和ModuleConfiguration

1.创建MyMsm.msm

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

  <Module Id="MyMergeModule" Language="1033" Version="1.0.0.0">
    <Package Id="dc9818b3-eee7-4c77-a2ba-fd742af8ab00" Manufacturer="Silly" InstallerVersion="200" />


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

    <Component Guid="{B848E5EB-7985-4970-9D37-079A5C426808}" Directory="INSTALLDIR">
      <File Id="_test.txt_4F7C5800031B" Source="test.txt" KeyPath="yes" />
    </Component>

  </Module>
</Wix>

2.创建msi

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Product Id="b58a9d8b-479c-41c7-9de2-e635ce8a07a6" Name="MyMsi" Language="1033" Version="1.0.0.0" Manufacturer="Silly" UpgradeCode="c55a86e3-a7ac-491b-99b2-668771be11d4">
    <Package InstallerVersion="200" Compressed="yes" />
    <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="INSTALLDIR">
        <Merge Id="MyMsm.msm" SourceFile="MyMsm.msm" Language="1033" DiskId="1" />
      </Directory>
    </Directory>
    <Feature Id="ProductFeature" Title="MyMsi" Level="1">
      <MergeRef Id="MyMsm.msm"/>
    </Feature>
  </Product>
</Wix>

二、使用merge module的ModuleSubstitution和ModuleConfiguration

  1.创建MyMsm.msm

    

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">

  <Module Id="MyMergeModule" Language="1033" Version="1.0.0.0">   
    <Package Id="dc9818b3-eee7-4c77-a2ba-fd742af8ab00" Manufacturer="Silly" InstallerVersion="200" />
    
    <Configuration Name="DIR_RETARGET_Silly" Format="Key" Type="Directory" DefaultValue="Silly" NonNullable="yes"/>
    <Substitution Table="Directory" Row="INSTALLDIR" Column="Directory_Parent" Value="[=DIR_RETARGET_Silly]"/>

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

    <Component Guid="{B848E5EB-7985-4970-9D37-079A5C426808}" Directory="INSTALLDIR">
      <File Id="FIL_test.txt_4F7C5800031B" Source="test.txt" KeyPath="yes" />
    </Component>

  </Module>
</Wix>

 

2.创建MyMsi.msi

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Product Id="b58a9d8b-479c-41c7-9de2-e635ce8a07a6" Name="MyMsi" Language="1033" Version="1.0.0.0" Manufacturer="Silly" UpgradeCode="c55a86e3-a7ac-491b-99b2-668771be11d4">
    <Package InstallerVersion="200" Compressed="yes" />
    <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="Silly" />
      <Directory Id="INSTALLDIR">
        <Merge Id="MyMsm.msm" SourceFile="MyMsm.msm" Language="1033" DiskId="1" >
          <ConfigurationData Name="DIR_RETARGET_Silly" Value="Silly"/>
        </Merge>
      </Directory>
    </Directory>
    <Feature Id="ProductFeature" Title="WixProject1" Level="1">
      <MergeRef Id="MyMsm.msm"/>
    </Feature>
  </Product>
</Wix>

 

posted @ 2013-07-30 17:28  SillyProgrammer  阅读(960)  评论(0编辑  收藏  举报