MSIを生成するためにwix 3.9.1208.0を使用しています。以下のコードは、Upperfilters
レジストリキーの前に値を付加します。観測され、値が「UpperFilters」レジストリキーに付加しませおよびMSIログにエラーが見つかりませんインストールした後MSIレジストリのプリペンド値が更新されない
<RegistryKey Id="UpperFilters" Root="HKLM" Key="xxxxxxxxx" Action="create"> <RegistryValue Name="UpperFilters" Type="multiString" Action="prepend" Value="xxxxx"/> </RegistryKey>
。この問題は一度だけ起こりました。
MSIログ:
MSI(S)(0C:28)[10:38:08:835]:実行OP:ComponentRegister(COMPONENTID = XXXX、キーパス= 02:XXXXX、状態= 3 (0C:28)[10:38:24:455]:実行中:RegOpenKey(Root = -2147483646、Key = xxxxx ,, BinaryType) = 0 ,,) MSI(S)(0C:28)[10:456 38:24]:OPを実行する:RegAddValue(NAME = UpperFilters、値= XXXXX [〜])
はMSIありレジストリを更新できないときに失敗を返しますか?
すべてのレジストリエラーはMSIログに記録されますか?
私のシナリオでは何が問題なのですか?
ありがとうございました。
転記前にコンポーネントIDを非表示にします。これは64ビットマシンで、 'HKLM \ System \ CurrentControlSet \ Control \ Class \ {4d36e967-e325-11ce-bfc1-08002be10318}'レジストリハイブの下に 'UpperFilters'レジストリキーが付加されています。 'UpperFilters'レジストリキーの前に 'PartMgr'の値があります。 – Ninja
システムとは無関係です。問題は、インストールのアーキテクチャとレジストリを含むコンポーネントのアーキテクチャです。キーがWoW6432にある場合、32ビットMSIはネイティブ64ビットレジストリを更新しません。 – PhilDW