I believe I have some more information about this after further testing.

Basically, if I start up a 32bit command prompt (%windir%\SysWoW64\cmd.exe) 
from my 64bit machine, and run my VBScript, everything works fine. I would have 
thought that since my .NET class can natively run on either architecture, I 
should be able to register the DLL via Wix so that it can run from a 64 bit app 
or from a 32-bit app. However, since the COM server DLL is installed in 
"Program Files (86)", I can only write registry entries to the Wow6432Node. 

Is this a Wix limitation? I suspect if I can duplicate the registry entries (a 
copy in HKCR and HKCR\Wow6432Node), I can start the COM server without issues 
in a 32bit or 64bit app.

Cheers
sanjay 

> -----Original Message-----
> From: Sanjay Poria [mailto:sanjay.po...@xanalys.com]
> Sent: 11 October 2011 22:31
> To: wix-users@lists.sourceforge.net
> Subject: [WiX-users] Registry key issues on 64-bit Win 7
> 
> I have created a Wix installer for a 32-bit application (not .NET)
> which installs just fine. Recently, I had to create a COM Server
> written in .NET consisting of a single DLL which also had to be
> installed (and used by) my original application.
> 
> So basically I wrote the COM server in C# (target=Mixed Platforms) with
> the relevant interface and class decorated with the required COM
> attributes by following the instructions in this post:
> http://stackoverflow.com/questions/3360160/how-do-i-create-an-activex-
> com-in-c
> 
> Next I harvested the registry entries of the DLL and added the
> appropriate component into my installer (it installs into "Program
> Files (x86)\Company\ProductName") with the extracted entries. Now,
> Installing on my 64-Bit Win 7 machine, the component above writes the
> ProgId entries into HKCR but writes all elements of the form:
> 
> <RegistryValue Root="HKCR"
> 
> Into HKCR\Wow6432Node\CLSID
> 
> This basically seems to break the COM server (eg, a VB Script fails to
> create the object). However, if I mark the new component as
> Win64="yes", the RegistryValue entries get installed into
> HKLM\Software\Classes and everything works although Wix gives me an
> error that I am installing a 64-bit component into 32bit INSTALLDIR.
> 
> Can anybody provide guidance as to what I should be doing?
> 
> Any help is appreciated.
> 
> sanajy


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2d-oct
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to