This issue may not be related to OSIsoft PI-SDK at all but it's hard to tell...
I have an Excel addin written in VBA which calls a .NET assembly written by me (uses .NET Framework 4.0) which in turn calls PI-SDK.
This used to work OK under Windows XP and Excel 2010 x86.
Now I have been given a new PC with WIndows 7 x64 and Office x64. The addin will no longer run (Error 429: ActiveX component can't create object).
My .NET assembly is built (in VS2010) as MSIL (AnyCPU) so I would have thought it can run in 64-bit mode. So maybe it is PI-SDK.
I rebuild my assembly for 64-bit platform and make sure to use 64-bit PI-SDK references from the GAC.
Here I hit a bug in Visual Studio: it doesn't automatically call 64-bit regasm to register a 64-bit COM object even when the project file tells it to.
So I try entering the command by hand:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm MyAssembly.dll /tlb:MyAssembly.tlb
This produces a MyAssembly.tlb file. In Excel (Visual Basic) I select Tools > References and browse to this TLB file which loads OK.
When my VBA addin makes a call to my assembly I get this error: Run-time error '-2147024894 (80070002)': Automation error, the system cannot find the file specified.
If I look in the 64-bit COM viewer I can see my assembly's types in the registry but if I try to expand any of them I get the same error 80070002 (The system cannot find the file).
I presume the file in question is MyAssembly.dll, but why can't it be found? Is my regasm command in error? NB. If I add the /codebase switch I get warnings and then an access denied error.