The MSI SDK says "a 32-bit package consists of only 32-bit components" so you're not really playing by those rules. There's also this:
http://blogs.msdn.com/b/heaths/archive/2008/01/15/different-packages-are-required-for-different-processor-architectures.aspx If you have 32-bit and 64-bit clients I find it generally works better to explicitly build both architectures, and register the 32-bit one in WoW6432 and the 64-bit one in native, and locate them somewhere other than the program files folder. COM components are potentially shared, so installing a COM Dll into a variable folder like program files means that different packages can put different versions of it in multiple places, and that's not going to work. Phil Wilson. -----Original Message----- From: Sanjay Poria [mailto:sanjay.po...@xanalys.com] Sent: Wednesday, October 12, 2011 6:47 AM To: 'General discussion for Windows Installer XML toolset.' Subject: Re: [WiX-users] Registry key issues on 64-bit Win 7 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 *** Confidentiality Notice: This e-mail, including any associated or attached files, is intended solely for the individual or entity to which it is addressed. This e-mail is confidential and may well also be legally privileged. If you have received it in error, you are on notice of its status. Please notify the sender immediately by reply e-mail and then delete this message from your system. Please do not copy it or use it for any purposes, or disclose its contents to any other person. This email comes from a division of the Invensys Group, owned by Invensys plc, which is a company registered in England and Wales with its registered office at 3rd Floor, 40 Grosvenor Place, London, SW1X 7AW (Registered number 166023). For a list of European legal entities within the Invensys Group, please go to http://www.invensys.com/en/legal/default.aspx. You may contact Invensys plc on +44 (0)20 3155 1200 or e-mail recept...@invensys.com. This e-mail and any attachments thereto may be subject to the terms of any agreements between Invensys (and/or its subsidiaries and affiliates) and the recipient (and/or its subsidiaries and affiliates). ------------------------------------------------------------------------------ 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