2013-07-18 18 views
7

私はWix 3.7です。レジストリキーを設定したいMSIがあります(キーが既に存在するかどうかをチェックする必要があるため、おそらくカスタムアクションを介して)。WiXバンドルからMSIにコマンドライン引数を渡す

私は、ブートストラッププロジェクトのバンドルはマシンの状態(レジストリの設定など)を変更できないことを理解します。したがって、私は<MsiProperty>経由でコマンドライン引数を渡そうとしていますが、ブートストラップのログファイルにコマンドライン引数として表示されません。

  1. バンドルでレジストリキーを設定することはできますか?
  2. そうでない場合は、コマンドライン引数(またはその他のカスタムデータ)をMSIに渡す方法を に追加するにはどうすればよいですか。
  3. MSIは、どのようにすればそれを渡すことができますか(コマンドラインのargか何かが終了するかどうかは else)。

バンドル:

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Bundle 
      Name="MyInstallerBootstrapperLocalDb" 
      Version="1.0.0.0" 
      Manufacturer="some company" 
      UpgradeCode="PUT-GUID-HERE"> 
    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" /> 
    <Chain> 
     <MsiPackage Id="MyInstallerInstaller" 
        SourceFile="$(var.MyInstallerInstaller.TargetPath)" 
        Compressed="no"> 
     <!-- TODO - if this is being set correctly, the MSI needs to 
        interpret it and set up the key--> 
     <MsiProperty Name="SetLocalDb" Value="yes"/> 
     </MsiPackage> 
    </Chain> 
    </Bundle> 
</Wix> 
+1

MSIコマンドラインのプロパティは、PUBLICプロパティである必要があります。そして公共財産はすべて首都である。したがって、SetLocalDbではなくSETLOCALDBである必要があります。そして、MSIでもすべての首都として宣言する必要があります。 – RobG

答えて

9

あなたのMSIはそうのようなプロパティを定義する必要があります:

<Property Id="SOMEPROPERTY" Value="Default"/> 

あなたはその後、バンドルからこのプロパティを設定することができます

<MsiPackage SourceFile="<package>.msi" Id="SomeId"> 
    <MsiProperty Name="SOMEPROPERTY" Value="[SomeProperty]" /> 
</MsiPackage> 

後これはここで説明するようにブートストラップのプロパティを設定できます: SomePropertyはあなたが定義する必要が書き込み変数であることをWiX Bootstrapper: How do I set burn variables from the command line?

お知らせ:

<Variable Name="SomeProperty" Type="string" Value="DefaultValue" /> 

を更新:あなたは、このプロパティに基づいて、レジストリ検索を行うことができますMSIでは

<RegistrySearch Id="GetSomeValue" Root="HKLM" Key="SOFTWARE\<Manufacturer>\[SOMEPROPERTY]" Name="<ValueName>" Type="raw" /> 
+0

これは機能します。私の主な問題は、バンドルプロジェクトがGenerateBootstrapperを実行して、実際にはそれをnon-wix setup.exeにして、バンドルで定義したものをすべて無視するということです。 –

関連する問題