1

使用する構成の現在のバージョンを保持するレジストリ値があります

HKLM\SOFTWARE\会社名\製品名\CurrentVersion = 13.5

これを正常に検索し、次を使用してその値を取得できます

<Property Id="CURRENTVERSION">
  <RegistrySearch Id="CurrentVersionID" Root="HKLM" Type="raw"
                  Key="SOFTWARE\companyname\productname\CurrentVersion"></RegistrySearch>
</Property>

しかし、次の場所にあるこの CURRENTVERSION 値に基づいて、別のレジストリ値を検索する必要があります。

SOFTWARE\会社名\製品名\CURRENTVERSION\ConfigPath

<Property Id="CONFIGPATH">
  <RegistrySearch Id="ConfigPathId" Root="HKLM" Type="raw"
                  Key="SOFTWARE\companyname\productname\CURRENTVERSION\ConfigPath"></RegistrySearch>
</Property>

できれば例を挙げて、誰かがこれを行う方法を教えてくれませんか。

4

1 に答える 1

3

次のように、[] 内の 2 回目のレジストリ検索で CURRENTVERSION を囲むようにしてください。

<Property Id="CONFIGPATH">
    <RegistrySearch Id="ConfigPathId" Root="HKLM" Type="raw"
              Key="SOFTWARE\companyname\productname\[CURRENTVERSION]\ConfigPath">
    </RegistrySearch>
</Property>

私はそれをテストしていませんが、これは通常、WiX でプロパティの値にアクセスする方法です。

または、Utils 拡張機能の RegistrySearch 要素で変数を定義することもできます。これらの変数は、他のレジストリ検索で使用できます。例については、次のリンクを確認してください: http://wix.sourceforge.net/manual-wix3/bundle_define_searches.htm

于 2012-05-10T10:37:08.450 に答える