2016-09-09 10 views
0

Heat.exeコマンドを使用してWIXファイル(.wxs)を構築します。私は熱が同じコマンドで(ファイルとreg)のような複数の収穫タイプをサポートしているかどうか知りたいです。WIX - Heat.exe - Heat.exeは複数のハーベストタイプを複数サポートしています

私は、次のコマンドを試してみましたが、それは、生成された出力で収穫タイプの両方のエントリを追加していません。

「C:\プログラムファイル(x86の)\ WiXのツールセットv3.11の\ビン\熱を。 exe "ファイル" C:¥Users¥ragh.jenkins¥jobs¥ODBC¥workspace¥bin¥Win32¥Debug¥driver.dll "-reg" C:¥DIS¥master_latest¥odbc¥DEBUG_64.reg "-cg RegistryEntries -out "C:プロジェクト\ Visual Studioの2013 \ \ Users \ユーザーraghの\ドキュメント\ SetupProject1 \ SetupProject1 \ jenkinsprod.wxs"

電流出力:

<?xml version="1.0" encoding="utf-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Fragment> 
     <ComponentGroup Id="RegistryEntries"> 
      <Component Id="cmpD31B63367AF259550643AC8C1AB78978" 
      Directory="TARGETDIR" Guid="PUT-GUID-HERE" KeyPath="yes"> 
      <RegistryKey Key="SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers" 
       Root="HKLM"> 
      <RegistryValue Name="NelDriver64" Value="Installed" Type="string" /> 
      </RegistryKey> 
     </Component> 
     <Component Id="cmp56B0ADF81BA4CE92E17B4BF179176FCE" 
      Directory="TARGETDIR" Guid="PUT-GUID-HERE" KeyPath="yes"> 
      <RegistryKey Key="SOFTWARE\ODBC\ODBCINST.INI\NelDriver64" 
       Root="HKLM"> 
       <RegistryValue Name="UsageCount" Value="1" Type="integer" /> 
       <RegistryValue Name="Driver" Value="C:\ 
       {PROJECT_FOLDER}\bin\x64\Debug\driver.dll" Type="string" /> 
       <RegistryValue Name="Setup" Value="C:\ 
       {PROJECT_FOLDER}\bin\x64\Debug\driver.dll" Type="string" /> 
       </RegistryKey> 
     </Component> 
     </ComponentGroup> 
    </Fragment> 
</Wix> 

予想される出力:

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Product Id="*" Name="SetupProject1" Language="1033" Version="1.0.0.0" 
     Manufacturer="Test" UpgradeCode="fc444cfd-b871-44c5-a920-8b7fc99674c1"> 
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" /> 
    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is 
     already installed." /> 
    <MediaTemplate /> 
    <Feature Id="ProductFeature" Title="SetupProject1" Level="1"> 
     <ComponentGroupRef Id="ProductComponents" /> 
    </Feature> 
    </Product> 
    <Fragment> 
     <Directory Id="TARGETDIR" Name="SourceDir"> 
      <Directory Id="ProgramFilesFolder"> 
       <Directory Id="INSTALLFOLDER" Name="SetupProject1" /> 
      </Directory> 
     </Directory> 
    </Fragment> 
    <Fragment> 
     <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> 
     <Component Id="driver.dll" Guid="*"> 
     <File Id="driver.dll" KeyPath="yes" 
Source="C:\Users\ragh\.jenkins\jobs\ODBC\workspace\bin\Win32\Debug\driver.dll"> 
     </File> 
     </Component> 
     <Component Id="RegistryEntries" Guid="*"> 
     <RegistryKey Root="HKLM" 
        Key="Software\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers" > 
      <RegistryValue Type="string" Name="NelDriver" Value="Installed"/> 
     </RegistryKey> 
     <RegistryKey Root="HKLM" 
        Key="Software\Wow6432Node\ODBC\ODBCINST.INI\NelDriver" > 
      <RegistryValue Type="string" Name="UsageCount" Value="dword:00000001"/> 
     </RegistryKey> 
     <RegistryKey Root="HKLM" 
        Key="Software\Wow6432Node\ODBC\ODBCINST.INI\NelDriver" > 
      <RegistryValue Type="string" Name="Driver" Value="[INSTALLFOLDER]\driver.dll"/> 
     </RegistryKey> 
     <RegistryKey Root="HKLM" 
        Key="Software\Wow6432Node\ODBC\ODBCINST.INI\NelDriver" > 
      <RegistryValue Type="string" Name="Setup" Value="[INSTALLFOLDER]\driver.dll" /> 
     </RegistryKey> 
     </Component> 
     </ComponentGroup> 
    </Fragment> 
</Wix> 

答えて

0

熱があなたの期待される出力を作成するつもりはありません。 1つのComponentGroupを作成し、Productを作成しません。したがって、複数のファイルがあります。したがって、熱が複数の入力を処理する利点はありません。

はここで何ができるかです:

  1. ラン熱入力ごとに、名前付きのComponentGroupを作成します。
  2. 適切な場所に、それぞれのComponentGroupRefを含めます。必要に応じて、親ComponentGroupを作成できます(ProductComponentsなど)。
0

熱の 'dir'オプションを使用すると、指定したディレクトリ内のすべてのファイルが収穫されますが、 'reg'オプション付きのレジストリファイルと 'file'オプション付きの通常ファイルそれに対応して。出力をマッサージしたり、出力からいくつかのコンポーネントを除外したりする必要がある場合は、常に熱を供給できるXSLトランスフォームオプションを使用できます。

関連する問題