FIX: Building an .OCX Always Runs Regsvr32

Last reviewed: September 19, 1997
Article ID: Q147130
The information in this article applies to:
  • Microsoft Visual C++, 32-bit Edition, versions 4.0, 4.1, 4.2

SYMPTOMS

When you build an .ocx, Regsvr32.exe is always called whether or not the compilation succeeds. If you start the build by pressing F5 (Build:Debug :Go), and there are compiler errors, after Regsvr32.exe is run, the debugger will be launched if you have an existing copy of your debug executable. This same problem occurs on any project that uses a custom build option for the project. Note that having custom build settings for individual files in the project will not effect this behavior.

RESOLUTION

Remove the custom build command, and add a custom tool to the Tools menu. In the case of the .ocx file, Regsvr32 is already registered as a Tool. You can run Regsvr32 as a separate step when necessary.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug was corrected in Visual C++ version 5.0.

MORE INFORMATION

Steps to Reproduce Problem

  1. Create a default .ocx project by selecting OLE ControlWizard as the project type.

  2. Successfully build the .ocx file.

  3. Introduce a compiler error into your source code.

  4. Press F5 to build your application. After the failed build, Regsvr32 is launched followed by the debugger.

Keywords          : vcbuglist400 vcfixlist500 VwbIss kbtool
Version           : 4.0 4.1 4.2
Platform          : NT WINDOWS
Issue type        : kbbug
Solution Type     : kbfix


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 19, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.