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

Reply via email to