Hi,

Last week I posted a query about our COM+ application getting reference
counts on running a repair install. I realise COM+ is one of the darker
corners of installer technology but I'm still scratching my head on this
one.

The reference counts in HKLM\Software\Microsoft\Windows\SharedDLLs is
incremented by the COM+ catalogue services during a repair, probably as part
of the API calls made by the ComPlus custom action in WiX. The repair log
shows it going through an uninstall/install process which appears correct.
Now I'm wondering if my authoring is incorrect. I hadn't realised the COM+
catalogue service causes self registration and I already included a file and
typelib elements to ensure correct registration. Would this be a problem?

This is one of the COM+ components installed as a separate COM+ application.
After repair the SharedDLLs reference count is 3. The count doesn't exist on
straight install/de-install.

  <Fragment>
    <DirectoryRef Id="ProductRoot">
      <Component Id="DBLink" Guid="CE4BE871-DCE2-4D93-9CE9-BFA113BF6DD0">
        <Condition>Privileged</Condition>
        <File Id="DBLinkDll" ShortName="DBLink.DLL" Name="dblink.dll"
Source="$(env.VSBUILDPATH)\$(var.BuildType)\dblink.dll">
          <TypeLib Id="C43AB043-FC74-11D2-8F9A-0060080C772F" Advertise="no"
MajorVersion="1" MinorVersion="0" Language="0" Description="dblink 1.0 Type
Library">
            <Class Id="C43AC053-AC74-11D2-8F9A-0060080C772F" Advertise="no"
Description="DBRequest" Context="InprocServer32" ThreadingModel="free"
Programmable="yes">
              <ProgId Id="DBRequest.1">
                <ProgId Id="DBRequest" />
              </ProgId>
            </Class>
            <Interface Id="06C8656B-7020-4308-81AD-A121B73F1169"
Name="IFilterEx" ProxyStubClassId="00020424-0000-0000-C000-000000000046"
ProxyStubClassId32="00020424-0000-0000-C000-000000000046" />
              ...
          </TypeLib>
        </File>
        <pca:ComPlusApplication Id="DBRequests" Name="DBRequests"
ApplicationId="{CE2EEA65-5CE1-4F15-AD18-39F6FF6420CC}"
ImpersonationLevel="identify" Authentication="none"
Identity="[REQ_DomainName]\[REQ_UserName]" Password="[REQ_Password]"
ApplicationAccessChecksEnabled="no">
          <pca:ComPlusAssembly Id="RequestsAssembly"
DllPath="$(env.VSBUILDPATH)\$(var.BuildType)\dblink.dll" Type="native">
            <pca:ComPlusComponent Id="DBRequest.1"
CLSID="C43AC053-FC74-11D2-8F9A-0060080C772F" />
          </pca:ComPlusAssembly>
        </pca:ComPlusApplication>
      </Component>
    </DirectoryRef>
  </Fragment>
-- 

Any help appreciated,

Graham
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to