A
Andrew
When deploying a managed automation add-in to another machine (local file
system install and registration of add-in), Excel v10 (aka XP) will find the
registerd add-in (tools->addins->automation) but the function will not appear
in the function list and of course #NAME? results if try to use in the
spreadhseet.
The add-in works fine on machines with office v11 installed, and also works
fine for Excel v10 on a machine with both office 2003, Office XP and vs2005
installed. (The function name appears in Insert Function list as expected).
Even a simplified test program (no interfaces other than autodual) has this
problem
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using Microsoft.Win32;
namespace testfunc1
{
[ClassInterface(ClassInterfaceType.AutoDual)]
public class functions
{
public Double AJTE(Double a,Double b)
{
return (a+b);
}
[ComRegisterFunctionAttribute]
public static void RegisterFunction(System.Type t)
{
Microsoft.Win32.Registry.ClassesRoot.CreateSubKey
("CLSID\\{" + t.GUID.ToString().ToUpper() +
"}\\Programmable");
}
[ComUnregisterFunctionAttribute]
public static void UnregisterFunction(System.Type t)
{
Registry.ClassesRoot.DeleteSubKey
("CLSID\\{" + t.GUID.ToString().ToUpper() +
"}\\Programmable");
}
}
}
I am using win xp pro, vs2005, .Net Framework 2.x and all updates to all
products in place.
And here I was thinking I was ready to let it loose on clients....Any
thoughts on what is going on?
Jeltz.
system install and registration of add-in), Excel v10 (aka XP) will find the
registerd add-in (tools->addins->automation) but the function will not appear
in the function list and of course #NAME? results if try to use in the
spreadhseet.
The add-in works fine on machines with office v11 installed, and also works
fine for Excel v10 on a machine with both office 2003, Office XP and vs2005
installed. (The function name appears in Insert Function list as expected).
Even a simplified test program (no interfaces other than autodual) has this
problem
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using Microsoft.Win32;
namespace testfunc1
{
[ClassInterface(ClassInterfaceType.AutoDual)]
public class functions
{
public Double AJTE(Double a,Double b)
{
return (a+b);
}
[ComRegisterFunctionAttribute]
public static void RegisterFunction(System.Type t)
{
Microsoft.Win32.Registry.ClassesRoot.CreateSubKey
("CLSID\\{" + t.GUID.ToString().ToUpper() +
"}\\Programmable");
}
[ComUnregisterFunctionAttribute]
public static void UnregisterFunction(System.Type t)
{
Registry.ClassesRoot.DeleteSubKey
("CLSID\\{" + t.GUID.ToString().ToUpper() +
"}\\Programmable");
}
}
}
I am using win xp pro, vs2005, .Net Framework 2.x and all updates to all
products in place.
And here I was thinking I was ready to let it loose on clients....Any
thoughts on what is going on?
Jeltz.