I have created an Installer which writes Registry Values to enable Chrome
Extension (HKLM\Software\Google\Chrome). Till now, everything seemed fine.
Recently, we found out that using 64 bit Chrome on a 64 bit machine will not
enable the Extension after install and it only writes to the Wow6432 node
like a 32 bit Installer would do. I tried adding flags like Win64=yes for 64
bit but it is not solving the issue. Here is my code snippet.

 <Component Id='RegistryComponents'
Guid='{771E66CF-7086-4A56-AAF9-3571ADBEB9AA}' Win64='no'>
      <RegistryKey Id='ChromeExtnInstaller' Root='HKLM' 
Key='Software\Google\Chrome\Extensions\$(var.Extension)'
Action='createAndRemoveOnUninstall'>
        <RegistryValue Name='update_url' KeyPath='yes' Type='string'
Value='https://clients2.google.com/service/update2/crx' />
      </RegistryKey>
      <RegistryKey Id='NativeMessagingHost' Root='HKLM'
Key='Software\Google\Chrome\NativeMessagingHosts\&lt;NM_ID>'
Action='createAndRemoveOnUninstall'>
        <RegistryValue Type='string' Value='[INSTALLDIR]&lt;Value>' />
      </RegistryKey>
      <RemoveRegistryKey Action='removeOnUninstall' Root='HKLM'
Key='Software\Google\Chrome\Extensions\$(var.Extension)'/>
      <RemoveRegistryKey Action='removeOnUninstall' Root='HKLM'
Key='Software\Google\Chrome\NativeMessagingHosts'/>
      
    </Component>

    <?if $(var.Platform)=x64 ?>
    <Component Id='RegistryComponents64'
Guid='{20A0BA25-0EFC-49F5-8945-24F084EC3635}' Win64='yes'>
      <RegistryKey Id='ChromeExtnInstaller64' Root='HKLM'
Key='Software\Google\Chrome\Extensions\$(var.Extension)'
Action='createAndRemoveOnUninstall'>
        <RegistryValue Name='update_url' KeyPath='yes' Type='string'
Value='https://clients2.google.com/service/update2/crx' />
      </RegistryKey>
      <RegistryKey Id='NativeMessagingHost64' Root='HKLM'
Key='Software\Google\Chrome\NativeMessagingHosts\com.sling.wbsp'
Action='createAndRemoveOnUninstall'>
        <RegistryValue Name='Default' Type='string'
Value='[INSTALLDIR]com.sling.wbsp.json' />
      </RegistryKey>   
      <RemoveRegistryKey Action='removeOnUninstall' Root='HKLM'
Key='Software\Google\Chrome\Extensions\$(var.Extension)'/>
      <RemoveRegistryKey Action='removeOnUninstall' Root='HKLM'
Key='Software\Google\Chrome\NativeMessagingHosts'/>
    </Component>
    <?endif?>

And in the Feature section:
<ComponentRef Id="RegistryComponents"/>
 <?if $(var.Platform)=x64 ?>
 <ComponentRef Id="RegistryComponents64"/>
 <?endif?>

Whether I use a 32 bit or 64 bit Installer, the Registry entries are only
written to the Wow6432 node
Looking up at the logs, this is what I see..

Executing op:
RegOpenKey(Root=-2147483646,Key=Software\Google\Chrome\Extensions\<ExtnID>,,BinaryType=0,,)
MSI (s) (F8:3C) [22:16:11:047]: Executing op:
RegAddValue(Name=update_url,Value=https://clients2.google.com/service/update2/crx,)
MSI (s) (F8:3C) [22:16:11:050]: Executing op: RegCreateKey()
MSI (s) (F8:3C) [22:16:11:051]: Executing op:
RegOpenKey(Root=-2147483646,Key=Software\Google\Chrome\NativeMessagingHosts\com.sling.wbsp,,BinaryType=0,,)
MSI (s) (F8:3C) [22:16:11:051]: Executing op: RegAddValue(,Value=C:\Program
Files (x86)\DishAnywhereDesktop\com.sling.wbsp.json,)
MSI (s) (F8:3C) [22:16:11:053]: Executing op: RegCreateKey()
MSI (s) (F8:3C) [22:16:11:053]: Executing op:
RegOpenKey(Root=-2147483646,Key=Software\Google\Chrome\NativeMessagingHosts,,BinaryType=0,,)
MSI (s) (F8:3C) [22:16:11:053]: Executing op:
ActionStart(Name=RegisterProduct,Description=Registering
product,Template=[1])

Can anyone help me with this problem? Thanks in advance.

Regards
Vikas



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Adding-Registry-Entries-in-both-32-and-64-Bits-tp7597760.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to