[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: IBugTraqProvider2 plug does not show up in TortoiseSVN Settings

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Mon, 19 Jul 2010 18:09:46 +0200

On 19.07.2010 18:02, Craig Dean wrote:
> I've built the ExampleCSPlugin from the latest trunk branch in source control and followed the instructions in issue-tracker-plugins.cs to the letter.
>
> Basically, I ran RegAsm on the debug dll, which genereated the updated registry file, I added Implemented Categories\{3494FA92-B139-4730-9591-01135D5E7831} to the registry and ran it in (confirmed in registry).
>
> I also created the following program...
> class Program
> {
> static void Main(string[] args)
> {
> Type type = Type.GetTypeFromCLSID(new Guid("97705C93-B07F-4607-9B0D-AB245A8C85A7"));
> object comObj = Activator.CreateInstance(type);
>
> Console.WriteLine("Extends IBugTraqProvider : {0}",
> ExtendsComInterface(comObj, "298B927C-7220-423C-B7B4-6E241F00CD93"));
> Console.WriteLine("Extends IBugTraqProvider2: {0}",
> ExtendsComInterface(comObj, "C5C85E31-2F9B-4916-A7BA-8E27D481EE83"));
> Console.ReadKey(true);
> }
>
> static bool ExtendsComInterface(object comObj, string interfaceId)
> {
> IntPtr pUnk = Marshal.GetIUnknownForObject(comObj);
> Guid iid = new Guid(interfaceId);
> IntPtr ppv;
> int retVal = Marshal.QueryInterface(pUnk, ref iid, out ppv);
> if (retVal != 0)
> {
> return false;
> }
> return (ppv != IntPtr.Zero);
> }
> }
>
> To check the component was registered and extending the correct interfaces. (Note 97705C93-B07F-4607-9B0D-AB245A8C85A7 is my plugin GUID). Both the interfaces were found correctly.
>
> After several reboots, etc. TortoiseSVN still does not find my plugin ("There are no issue-tracker providers available.").
>
> Interestingly, when running OLEVIEW.exe on my machine I do not see a Component Category for "TortoiseSVN BugTraq Providers", (the {3494FA92-B139-4730-9591-01135D5E7831} category). I don't do a lot of com work though so I'm probably not looking in the right place.
>
> I have gone over this in minute detail but cannot get this to work. What am I missing?
>
> TortoiseSVN 1.6.9, Build 19725 - 64 Bit , 2010/06/18 16:38:36
> Subversion 1.6.12,
> apr 1.3.8
> apr-utils 1.3.9
> neon 0.29.3
> OpenSSL 0.9.8o 01 Jun 2010
> zlib 1.2.3
>
> Running on Windows 7 64-bit.
>
> I would really like to implement this interface for our internal MIS system, so any help would be appreciated.

You're using a 64-bit OS, so you must register your COM-object in the
x64 part of the registry. regasm is a 32-bit app and only registers the
object in the 32-bit part of the registry.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2635273
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2010-07-19 18:10:00 CEST

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.