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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users