私はWix 3.7です。レジストリキーを設定したいMSIがあります(キーが既に存在するかどうかをチェックする必要があるため、おそらくカスタムアクションを介して)。WiXバンドルからMSIにコマンドライン引数を渡す
私は、ブートストラッププロジェクトのバンドルはマシンの状態(レジストリの設定など)を変更できないことを理解します。したがって、私は<MsiProperty>
経由でコマンドライン引数を渡そうとしていますが、ブートストラップのログファイルにコマンドライン引数として表示されません。
- バンドルでレジストリキーを設定することはできますか?
- そうでない場合は、コマンドライン引数(またはその他のカスタムデータ)をMSIに渡す方法を に追加するにはどうすればよいですか。
- 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>
MSIコマンドラインのプロパティは、PUBLICプロパティである必要があります。そして公共財産はすべて首都である。したがって、SetLocalDbではなくSETLOCALDBである必要があります。そして、MSIでもすべての首都として宣言する必要があります。 – RobG