regasm

Property/Method Descriptions for COM Libraries

China☆狼群 提交于 2019-12-01 06:30:40
If you create a COMClass, I've noticed that the values in the XML Summary tag do not show in the object browser of VB6/VBA when you reference the resulting tlb file. Is there a way to have these values show up? Hans Passant No, 12 years of IntelliSense evolution prevents this from working. The XML documentation comments generates an .xml file that IntelliSense can pick up. In VB6/A, documentation is present in the type library with the helpstring attribute. For example: [ odl, uuid(2334D2B1-713E-11CF-8AE5-00AA00C00905), hidden, dual, nonextensible, oleautomation ] interface IVBDataObject :

Property/Method Descriptions for COM Libraries

放肆的年华 提交于 2019-12-01 04:58:30
问题 If you create a COMClass, I've noticed that the values in the XML Summary tag do not show in the object browser of VB6/VBA when you reference the resulting tlb file. Is there a way to have these values show up? 回答1: No, 12 years of IntelliSense evolution prevents this from working. The XML documentation comments generates an .xml file that IntelliSense can pick up. In VB6/A, documentation is present in the type library with the helpstring attribute. For example: [ odl, uuid(2334D2B1-713E-11CF

How to do RegAsm so that it cover 32-bit and 64-bit?

廉价感情. 提交于 2019-11-29 13:09:51
I have a DLL file prepared by C# and my system is Windows 7 64-bit. When i apply the RegAsm its not adding the registry to 64-bit path but only adding it to 32-bit path. "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" /register /codebase "C:\o.dll" then if i check my GUID in regedit.exe i see that i have it only in 32-bit registry path: HKEY_CLASSES_ROOT\CLSID\{... my guid is found here ....} instead of HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{... not found my guid ...} As a result i have other issues for this. Can anyone please suggest what is going on and why its not making 32-bit

Overloads in COM interop (CCW) - IDispatch names include suffix (_2, _3, etc)

廉价感情. 提交于 2019-11-28 11:46:20
I have a managed assembly containing a few classes, and those classes have overloaded methods. I expose the assembly to COM/IDispatch callers via [ComVisible(true)] ..and also setting the proper Guid, on the assembly itself. I do not define an explicit interface for the COM interop. It's all done dynamically. I run regasm.exe /codebase on the managed DLL and it registers it for COM interop. When I run OleView, I can see the ProgId's of the various classes in the assembly. But, browsing into those ProgIds, and expanding IDispatch node, there is no TypeLib information for these classes. Even so,

RegAsm failing for a .NET 4.0 assembly using Microsoft.Bcl.Async

孤人 提交于 2019-11-28 04:34:05
问题 RegAsm failing for a .NET 4.0 assembly using Microsoft.Bcl.Async with the following message: RegAsm : error RA0000 : Could not load file or assembly 'System.Threading.Tasks, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) My assembly ( MyAssembly.dll ) uses the latest Microsoft.Bcl.Async NuGet package, here's the project's

regasm RA0000: No types were registered

久未见 提交于 2019-11-28 01:20:34
I have a C++/CLI assembly (compiled for .NET 3.5 that comes with Windows 7). The assembly is marked as ComVisible(true) . It contains 2 classes and 1 interface. Both classes are marked as ComVisible(false) so they shouldn't matter. The interface is marked with InterfaceType(ComInterfaceType::InterfaceIsIUnknown) and a specific GUID. This interface needs to be registered. When I try to register this assembly using RegAsm.exe AssemplyName , I get this warning: RegAsm : warning RA0000 : No types were registered My assembly depends on 3 other assemblies which are in the same directory as my main

What is difference between RegAsm.exe and regsvr32? How to generate a tlb file using regsvr32?

点点圈 提交于 2019-11-27 18:59:01
Can any body tell me what is the difference between regsvr32 and RegAsm? My Dll is in C#, so how can I import the classes to c++? regsvr32 will load the library and try to call the DllRegisterServer() from that library. It doesn't care what DllRegisterServer() actually does - it just calls that function and checks the returned value. You use it to register COM servers in unmanaged DLLs. It can't generate a .tlb file. regasm will register a COM-exposed .NET assembly as a COM server. You use it for .NET assemblies. It can generate a .tlb file given the assembly only - it inspects the type

RegAsm - When is the /codebase option applicable?

梦想与她 提交于 2019-11-27 17:37:20
问题 I have a COM-visible DLL written in C# that I would like to use in a VB6 application. I have two main use cases of the DLL and am wondering when the /codebase option is applicable and when it is better to register in the GAC. Use cases: The DLL will be loaded onto another developers PC and needs to be accessible to the VB6 IDE under the Project > References menu The DLL will be loaded onto production machines when the VB6 application is released Any information on the appropriate use of the

Registering a COM without Admin rights

六月ゝ 毕业季﹏ 提交于 2019-11-27 14:31:17
I want to register a .net assembly as COM. In fact what that means as far as I know is, that instead of HKEY_CLASSES_ROOT I want the entries to be written in HKEY_CURRENT_USER/Software/Classes , so that UAC/Admin rights are not needed. Found two solutions of that problem, with both I'm struggling: 1) Programmatically way , with following code: IntPtr key; var openKeyresult = RegOpenKeyEx(HKEY_CURRENT_USER, "SOFTWARE\\Classes", 0, (int)RegistrySecurity.KEY_WOW64_64KEY, out key); var overrideKeyResult = RegOverridePredefKey(HKEY_CLASSES_ROOT, key); var registerResult = Registrar.RegisterAssembly

Calling regasm without administrative rights for COM interop in Excel VBA

喜你入骨 提交于 2019-11-27 13:19:28
A workaround for calling regasm without the admin rights was described here already: COM Interop without regasm I'm trying to create a COM library that my users can deploy and use from Excel VBA without the admin privileges. I liked the regasm workaround, since it seems that people don't have much success with using registration-free COM objects from Excel VBA. I also want early binding so my users can benefit from syntax completion. The accepted answer in the question mentioned above, however, doesn't describe where to put the assembly dll on the user's computer. Admin rights are required to