I am creating an x64 msi. I have some registry values to set. In Wix I am using the following code.
<Component Id="RegistryEntries1" Guid="{GUID1}" Win64="yes">
<RegistryKey Root="HKLM"
Key="Software\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{FF.....}"
Action="createAndRemoveOnUninstall">
<RegistryValue Type="string" Value="SomeName" KeyPath="yes"/>
</RegistryKey>
</Component>
<Component Id="RegistryEntries2" Guid="{GUID2}" Win64="yes">
<RegistryKey Root="HKCR"
Key="CLSID\{FF.....}"
Action="createAndRemoveOnUninstall">
<RegistryValue Type="string" Value="SomeName" KeyPath="yes"/>
</RegistryKey>
</Component>
<Component Id="RegistryEntries3" Guid="{GUID3}" Win64="yes">
<RegistryKey Root="HKCR"
Key="CLSID\{{FF.....}\InprocServer32"
Action="createAndRemoveOnUninstall">
<RegistryValue Type="string" Value="SomeName.dll" KeyPath="no"/>
<RegistryValue Type="string" Name="ThreadingModel" Value="Apartment" KeyPath="yes"/>
</RegistryKey>
</Component>
The values are set in registry, but my application does not work correctly.
When I set the registry values using a reg file, the application working properly.
And my SomeName.dll is in System32
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\Credential Providers\{FF.....}]
@="SomeName"
[HKEY_CLASSES_ROOT\CLSID\{FF.....}]
@="SomeName"
[HKEY_CLASSES_ROOT\CLSID\{FF.....}\InprocServer32]
@="SomeName.dll"
"ThreadingModel"="Apartment"
Is there any problem in my Wix code.