Windows XP Professional x64 Edition 에서 열심히 Visual Source Safe Automation 기능을 이용해서
C#으로 툴을 만들고 실행을 했더니만..
계속 VSSDatabase 를 new 하는 곳에서 COMException 발생..
뭐 이런게 다있나 싶어서 Registry 에 등록된 정보도 수정해보고.. regsvr32도 다시해봤으나.. 모두 무산!
결국엔 이런 문제였다는걸 알고 가슴이 좀 아프긴 했으나 얼른 수정해서 돌려보았습니다.
글에 등록되어 있는 링크들은 현재 페이지를 참조하지 않고 있으니, 참고하시기 바랍니다.
누르면.. 바로 kbalertz 로 날아갑니다~~~
Link from : http://kbalertz.com/952691/Automation-fails-Windows-Operation-System.aspx
Microsoft Knowledge Base Article
This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved.Terms of Use | Trademarks
©2005-©2007 Microsoft Corporation. All rights reserved.
Article ID: 952691 - Last Review: May 5, 2008 - Revision: 1.1
VSS Automation code fails on 64-bit Windows Operation System
Source: Microsoft Support
RAPID PUBLISHING
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.
Action
You are using Visual Studio 2005Â or Visual Studio 2008Â to develope an application that implements Visual SourceSafe automation.
Result
You find that the code compiles on a 32-bit
Retrieving the COM class factory for component with CLSID {783CD4E4-9D54-11CF-B8EE-00608CC9A71F}
failed due to the following error:Â 80040154
Cause
The code in Visual Studio was compiled in 64-bit by default. Visual SourceSafe is a 32-bit application; therefore, you get an error.
Resolution
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.
More Information
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
DISCLAIMER
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.
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.