WiX でインストーラーを作成しましたDWORD
が、製品の修復インストール中に既存のレジストリ エントリを保持しようとしています。既存の値を保存するために、次の WiX フラグメントを使用しています。
<Property Id="PreserveMySetting" Secure="yes">
<RegistrySearch Id="FindExistingMySetting"
Root="HKLM"
Key="Software\!(loc.ProductManufacturer)\!(loc.ProductName)"
Name="MySetting"
Type="raw"
Win64="no" />
</Property>
次に、保存された値によって駆動されるコンポーネントを使用して、後でこれを設定します。
問題は、レジストリ検索で DWORD が「フォーマットされた」文字列として返されることです。
#1
ただの代わりに
1
これは、コンポーネントがレジストリ エントリを設定するREG_SZ
と、値が "#1" の として作成されることを意味します。
<Component Id="MySettingKey"
Guid="{76C4B14C-14BC-42E1-91F0-75C9F2A20EC8}">
<RegistryValue Id="MySetting"
Action="write"
Name="MySetting"
Value="[PreserveMySetting]"
Type="integer"
KeyPath="yes"
Key="Software\!(loc.ProductManufacturer)\!(loc.ProductName)"
Root="HKMU"/>
</Component>
コンポーネントが使用する実際のレジストリ値を取得する方法はありますか?