6

Wix を使用して製品のインストーラー パックを作成しています。全体は x86 ですが、レジストリの x64 部分にキーを追加する必要があります。私は周りを見回して、私の問題を解決すると思ったこのスタックの答えを見つけました。しかし、基本的に Package Platform 属性を x64 に変更する必要があることを示す ICE80 エラー (警告ではない) が表示されます。

ただし、前述したように、x64 に必要なレジストリ キーは 1 つだけであるため、これは避けたいと思います。

私の質問は次のとおりです。ICE80 エラーを解決する別の方法はありますか、それとも x86 用と x64 用の 2 つの msi パッケージをビルドする必要がありますか。

私がやろうとしていることをさらに説明するためのコードの一部を次に示します。

        <Component Id="Foo" Guid="{GUID}" Win64="yes">
    <RegistryKey Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\IniFiles">
      <RegistryValue Type="integer" Name="Hello" Value="1"/>
    </RegistryKey>
    <Condition><![CDATA[VersionNT64]]></Condition>
  </Component>

  <Component Id="Bar" Guid="{GUID}">
    <RegistryKey Root="HKLM" Key="Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\IniFiles">
      <RegistryValue Type="integer" Name="Hello" Value="1"/>
    </RegistryKey>
  </Component>

どんな助けでも大歓迎です!

4

3 に答える 3

6

Windows インストーラーは、64 ビット レジストリ (またはファイル システム) への 32 ビット パッケージの書き込みをサポートしていません。64 ビット パッケージは、32 ビット部分と 64 ビット部分の両方に書き込むことができます。

于 2012-10-02T15:35:12.600 に答える
0

Win64="yes"レジストリに64ビットを入れたいレジストリエントリに追加します。..:)私は自分自身に条件を含めておらず、Win64属性だけで完全に機能します。

于 2012-10-02T08:29:17.620 に答える