RAPID PUBLISHING ARTICLES PROVIDE INFORMATION DIRECTLY FROM WITHIN THE MICROSOFT SUPPORT ORGANIZATION. THE INFORMATION CONTAINED HEREIN IS CREATED IN RESPONSE TO EMERGING OR UNIQUE TOPICS, OR IS INTENDED SUPPLEMENT OTHER KNOWLEDGE BASE INFORMATION.
You are using Visual Studio 2005Â or Visual Studio 2008Â to develope an application that implements Visual SourceSafe automation.
You find that the code compiles on a 32-bit
Windows
operating system but fails on a 64-bit Windows operating system with the error:
Retrieving the COM class factory for component with CLSID {783CD4E4-9D54-11CF-B8EE-00608CC9A71F}
failed due to the following error:Â 80040154
The code in Visual Studio was compiled in 64-bit by default. Visual SourceSafe is a 32-bit application; therefore, you get an error.
Alter the build parameters of Visual Studio to build the code in 32-bit. To make this change, do the following:
- Choose Build from the menu then click Configuration Manager.
- Change Active Solution Platform to <New>.Â
- Change "Type or Select the new platform" to x86 in the New Solution Platform dialog.
- Recompile the code project.
Compiling a simple VS 2005 Visual Basic .Net console application with this code demonstrates the problem:
Module Module1
Sub Main()
Dim vssDatabase As New VSSDatabase
Dim vssProject As IVSSItem
End Sub
End Module
MICROSOFT AND/OR ITS SUPPLIERS MAKE NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY, RELIABILITY OR ACCURACY OF THE INFORMATION CONTAINED IN THE DOCUMENTS AND RELATED GRAPHICS PUBLISHED ON THIS WEBSITE (THE “MATERIALSâ€) FOR ANY PURPOSE. THE MATERIALS MAY INCLUDE TECHNICAL INACCURACIES OR TYPOGRAPHICAL ERRORS AND MAY BE REVISED AT ANY TIME WITHOUT NOTICE.
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, MICROSOFT AND/OR ITS SUPPLIERS DISCLAIM AND EXCLUDE ALL REPRESENTATIONS, WARRANTIES, AND CONDITIONS WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO REPRESENTATIONS, WARRANTIES, OR CONDITIONS OF TITLE, NON INFRINGEMENT, SATISFACTORY CONDITION OR QUALITY, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE MATERIALS.