2017-08-17 18 views
0

64ビットと32ビットシステムでレジストリ値を設定する一般的な手順は?

<Component Id="EngageAssistanceAutostart" Guid="f9e92a81-506d-4fe9-836b-564420a98ea1" Win64="yes"> 
    <RegistryValue Id="crimsonwatchdog" Root="HKLM" Action="write" 
      Key="Software\Microsoft\Windows\CurrentVersion\Run" 
      Name="Crimson watch dog" 
      Value="[INSTALLFOLDER]Crimson.Watchdog.exe" 
      Type="string" /> 

は、Windows 64ビットシステムでレジストリを編集し、見ることができるように、私はまたのWin64 =「yes」を

を保ち、Iてきたが、次のように私はWiXのアプリケーションでレジストリ値のセッターを持っていますpatform = "x64"を設定する必要があります

<Package InstallerVersion="200" Platform="x64" Compressed="yes" InstallScope="perMachine" InstallPrivileges="elevated" AdminImage="yes" /> 

私はこれを実行しなければ、私はregを設定できません。 64ビットシステムでの値。 これを行うと、このインストーラは32bitシステムで動作しません。

64ビットと32ビットの両方のシステムでレジストリ値を設定できるソリューションはありますか?

答えて

1

64ビットハイブでレジストリを作成するにはプラットフォームをx64に設定する必要があります。 コンポーネントは、このレジストリが作成される場所を決定します。 あなたの場合は、実行キーだけなので、がx64に設定されていない単一のコンポーネントを作成する必要があります。

どのようなMSIがこのようなコンポーネントを実行しますか。

x86マシンでは、レジストリキーが標準の場所に作成されます。 x64マシンでは、Wow6432Nodeの下にレジストリキーが作成されますが、これは問題ありません。

+0

私の質問をアップしてください –

関連する問題