It's very possible the COM+ CA in WiX toolset doesn't do exactly that.
Perhaps you could take a look at the code and see what is wrong? Code is
in src\ext\ComPlusExtension. I know nothing about COM+ so I'm not much help
beyond that.


On Wed, Apr 24, 2013 at 12:04 AM, Bart van Lierop
<bartvanlie...@gmail.com>wrote:

> I'm currently porting a Visual Studio setup and deployment project to WiX.
> Part of the setup is to install a COM+ Application with a specific COM+
> component that has a bunch of interfaces and methods.
>
> My problem is that when i specify the native (C++) DllPath and specify one
> single ComPlusComponent, the MSI installs all COM+ components (classes in
> the dll). Is there maybe some way to select individual COM+ components that
> have to be installed without installing everything?
>
> So my desired end result would be when I look in Component Services under
> COM+ Applications:
> -My COM+ App
>  -Components
>    +*MyComp.MyClass3*
>       .....
>
> The WiX code looks like this now:
>
> <File Id="MYCOMP_Dll" Source="path..to...MyComp.dll" KeyPath="yes"
> Vital="yes">
>   <....TypeLib Class and ProgId stuff from heat.exe output....>
> </File>
>
> <complus:ComPlusApplication Id="MyComApplication" Name="My COM+ App">
>   <complus:ComPlusAssembly Id="MyComAssembly" Type="native"
> DllPath="[#MYCOMP_Dll]">
>     <complus:ComPlusComponent Id="MyComComponent3"  CLSID="<b>MyClass3's
> CLSID HERE" />
>   </complus:ComPlusAssembly>
> </complus:ComPlusApplication>
>
> I would expect that Component Services shows only the ComPlusComponent I
> defined in my .wxs file. But somehow all components within that dll are
> there...
>
> *More information that might help:
>
> The original Setup/Deployment project used a custom action written in C#
> that used the method InstallMultipleComponents() defined as:
>
> void InstallMultipleComponents(string bstrApplIDOrName, ref System.Array
> ppsaVarFileNames, ref System.Array ppsaVarCLSIDs)
>     Member of COMAdmin.ICOMAdminCatalog2
>
> At runtime it would be InstallMultipleComponents("My COM+ App",
> "MyComp.dll", "CLSID of MyClass3 here"); --> This registers only the
> specific component that I specified via the CLSID argument so basically i'm
> looking for the equivalent in WiX.
>
> I'm using WiX 3.7 and VS2010. Testing happens on Windows 2008R2.*
>
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to