Windows installer redistribute shared components

MDell.Seradex 1 Reputation point
2022-03-26T00:51:56.047+00:00

We have an application for which we are creating a new more modern installer using the Wix Toolset.
This application requires several files that from what I have read have been deemed by Microsoft as redistributable by applications.
Those files are comctl32.ocx, ComDlg32.ocx, mscomctl.ocx, mscomct2.ocx, msstdfmt.dll, tabctl32.ocx, and Tlbinf32.dll

We are trying to ensure that these files are properly installed as shared so that if our application, or another, were to uninstall them, they would not be removed until no application needs them any longer.

From what I can determine, this is apparently by using the same Component ID (Guid) for these files by each installer (separate one per file).
The issue is that I am unable to find what this Component ID should be.
We managed to scavenge Component IDs for these files from the registry of a machine that has them installed, but in most cases, more than one Component ID was identified.
The other way to approach this is to use a merge module, unfortunately, it seems that Microsoft does not provide that for these files.

Can anyone help with this? Have I posted this to the wrong place? If so, where should I post this?

Please help
I appreciate any information that can be provided.

Thank you.
Mark

Visual Studio
Visual Studio
A family of Microsoft suites of integrated development tools for building applications for Windows, the web and mobile devices.
4,888 questions
{count} votes

2 answers

Sort by: Most helpful
  1. abbodi86 3,866 Reputation points
    2022-03-26T19:51:12.277+00:00

    You may get it from latest update for VB60SP6
    https://www.microsoft.com/en-us/download/details.aspx?id=50722
    open the msi with Orca or InstEd

    except Tlbinf32.dll, i don't know what's the source for it


  2. RLWA32 43,306 Reputation points
    2022-03-30T16:26:21.72+00:00

    The old msdn magazine article about tlbinf32.dll is at visual-basic-inspect-com-components-using-the-typelib-information-object-library. There is a related sample but of course the link doesn't work.

    I found the article code from web.archive.org and used my old Win2K VM to build the sample VB6 program (TypeLibraryExplorer.exe).

    Then I copied the sample program executable, TLBINF32.DLL, MSCOMCTL.OCX and COMDLG32.OCX to a folder on my Win10 21H1 system. I placed manifests for the above into the same folder. No COM registration was performed. The sample program executed on my Win10 system as seen below -

    188521-typelibraryexplorer.png

    If you want to try it, I uploaded the VB6 code and the manifests I used to OneDrive - https://1drv.ms/u/s!AmnqrCFBv4nDgiH-e6Fhbf6Lz8Pj?e=sDh4RQ