ID: Q184398
The information in this article applies to:
If one of your Microsoft Transaction Server (MTS) components does not register a ProgID, then the MTS package export feature generates a bad client installation EXE. Any client installation EXE file generated for that component deletes large portions of the registry when it is run. After running such a client installation EXE you must reinstall the operating system.
The MTS client installation EXE expects the components to register a ProgID.
The two workarounds for this behavior are:
- Visual Basic (VB) components always register ProgID's.
- Microsoft Foundation Class (MFC) components register ProgID's by
default. If, however, you change the code around enough, you can cause
them to stop registering ProgID's.
- The Active Template Library (ATL) object wizard creates components
that generate ProgID's. Again, if you change the code around you can
cause these objects to stop registering ProgID's.
Conversely, many technologies require you to add code by hand to your
component to register its ProgID. This code should be added to the
implementation of the DllRegisterServer API function. In particular, the
following technologies do not automatically generate such code:
Microsoft has confirmed this to be a bug in Microsoft Transaction Server.
WARNING: REPRODUCTION OF THIS BUG REQUIRES A REGISTRY RESTORATION OR COMPLETE SYSTEM RE-INSTALLATION.
Create a component without a ProgID. Install or import the component into an MTS package. Now export the package. This produces a .pak file (the server-side deployable form of the package) in the directory you specified, as well as an EXE file in the clients directory under that directory. This EXE file is the client-side remote application setup program, and it installs the necessary components for a client to talk to a server.
Now that you have produced the faulty client installation executable, run the EXE. The result is that the HKEY_CLASSES_ROOT tree in the registry will be deleted. This in turn causes every application using COM to stop functioning.
Additional query words: Corrupt Registry, No CLSID
Keywords : TSrvDeploy TSrvPackages
Version : WINNT:1.0,2.0
Platform : winnt
Issue type : kbbug
Solution Type : kbnofix
Last Reviewed: April 28, 1998