Yes. There are few bugs open in that area. If this is a duplicate, please add as much extra information as possible. Otherwise, open a new bug.
-----Original Message----- From: Graham Harwood [mailto:[EMAIL PROTECTED] Sent: Tuesday, November 11, 2008 08:29 To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] COM+ DLL reference count Hi, Some follow-up on this COM+ repair problem. Having debugged the CA to step through the logic, it is almost certainly a bug in the ComPlus custom action. Although the CA checks for an uninstall action during repair, it doesn't perform one, probably because the CA doesn't use the 'WcaIsReInstalling' test to determine if a repair is going on. i.e. it only invokes the uninstall when the MSI is performing an uninstall. The COM+ catalogue already has the application installed and the CA continues, on a repair, through to the RegisterNativeAssembly() function which calls the COM+ catalogue interface to register the application assemblies - this causes the reference count to increase as they are already in the catalog. What it should probably do on a repair is either uninstall the application or not reinstall it if the application properties match. I don't know enough about the custom action code to change it to test this theory. I realise with the WiX COM+ expertise being unavailable this may take time to be resolved. I presume entering it as a bug is the best action at this stage? Regards Graham 2008/11/5 Graham Harwood <[EMAIL PROTECTED]> > 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 > -- 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 ------------------------------------------------------------------------- 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