I apologize if this has been asked and answered before. I couldn't find
anything on it on the WiX archive or anywhere else on the web after much
hair pulling. Any knowledge that can be imparted would be appreciated.
On 64-bit OSes I need to install both a 32-bit and 64-bit version of my
Inproc COM server. Here is what my existing WiX source looks like for
installing and registering the 32-bit COM server:
<Directory
Id="ProgramFilesFolder">
<Directory
Id="INSTALLDIR"
Name="RMCLink">
<Component
Id="COMComponent"
Guid="FF1B1ACD-AE7C-48CD-BC42-F059614AFC8B">
<File
Source="Image\RMCLink.dll"
Vital="yes" />
<TypeLib
Id="E430ED85-D7FA-4303-92BD-68B671F234AB"
Advertise="yes"
MajorVersion="3"
MinorVersion="0"
Description="RMCLink 3.0 Type Library"
HelpDirectory="INSTALLDIR"
Language="0">
<AppId
Id="E93F288A-D774-49D6-AB59-6A1BF08EC8BF"
Advertise="yes">
<Class
Id="CA7473F7-2DF3-45CE-A180-CA7CBF81F190"
Advertise="yes"
Context="InprocServer32"
Programmable="yes"
ThreadingModel="both"
Description="RMCLinkServer Class">
<ProgId
Id="RMCLink.RMCLinkServer.3">
<ProgId
Id="RMCLink.RMCLinkServer" />
</ProgId>
</Class>
</AppId>
</TypeLib>
</Component>
</Directory>
</Directory>
So, I need to add this 64-bit version for 64-bit builds:
<File
Source="Image\RMCLink64.dll"
Vital="yes" />
How do I get it in there? Notice that both the x86 and x64 versions
share the same TypeLib, AppId, and CLSID. In terms of registering, all I
need to do is get the installer to add the InprocServer32 to the
non-WOW6432Node version of the CLSID node, so I was toying with
something like this under the INSTALLDIR Directory element:
<Component
Id="COMComponent"
Guid="*"
Win64="yes">
<File
Source="Image\RMCLink64.dll"
Vital="yes" />
<Class
Id="CA7473F7-2DF3-45CE-A180-CA7CBF81F190"
Advertise="yes"
Context="InprocServer32"
Programmable="yes"
ThreadingModel="both"
Description="RMCLinkServer Class">
<ProgId
Id="RMCLink.RMCLinkServer.3">
<ProgId
Id="RMCLink.RMCLinkServer" />
</ProgId>
</Class>
</File>
</Component>
However, it seems wrong to have that much duplicate information. Also, I
expect that I should change the directory to "ProgramFilesFolder64",
although I'm not sure if it's OK to have both the 32-bit and 64-bit
components in my install directory.
Anyone know the correct way to do this?
Quinton Tormanen
Software Engineer
Delta Computer Systems, Inc.
http://www.deltamotion.com
------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users