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