I have a DLL written in C# and set for COM visibility. I have it setup as a side-by-side assembly and can successfully deploy the application to client PCs registration free. My question is related to the development PC. Is it possible to compile against the DLL in a similar registration-free manner or is registration required on the development machine? I have tried adding the DLL directly though the Project -> References menu and get an error stating "Can't add a reference to the specific file." The DLL is sitting in the same directory as the .vbp file and I have tried adding the DLL both with and without the client app manifest being present.
VB6 compile against side-by-side assembly
612 Views Asked by davidk At
1
There are 1 best solutions below
Related Questions in COM
- Possible consequences of duplicate ProgId for different classes
- Open array declaration lost when regenerating interop.dll with tlbimp.exe from type-lib
- How does a server that expose COM functions via IDispatch can distinct between different clients that Invoke functions without passing any ID param?
- Call IConnectionPoint::Advise cause a crash
- Is it safe to cast a IDispatch* into an IUnknown*, without using QueryInterface, for interprocess COM objects?
- Custom HRESULT from COM component
- Return multiple variables to JavaScript from COM
- How to read from exchange server asynchronously using IMoniker and IStream Interface
- How can a dialog become responsive while waiting for a call to DoModal() to return?
- ICallFactory with 32-bit and 64-bit type libraries side by side
- Report generation in server
- What is required in Delphi 2007 to use Variant arrays?
- How to convert string array to SAFEARRAY or VARIANT or COleVariant?
- ArcObjects ExcelWorkspaceFactory Won't Release Excel File
- Calling a method of a WMI Class
Related Questions in VB6
- How to export VB6 TextBox data(Arabic) to MS Excel
- Need code for removing all unicode characters in vb6
- Team Foundation 2012 not recognising changes in vb6 app
- How can we add custom logic while installing exe created by installshield
- Convert VB6 to VB2010 code
- Why is VB6 FlexGrid throwing a run-time error 381 'Subscript out of range'?
- Enum values from VB6 DLL do not appear in C#
- Using dll of .Net by VB6 app in Windows 8
- Change parameters On error in vb6
- Is it possible to use VB6 enums which have values with spaces in C#?
- Converting VERY large number to a hex string
- Controls randomly not showing in my VB6 software
- GetWindowsDirectory() API returns wrong (vba\vb6)
- Can create Scripting.FileSystemObject 64-bit but not 32-bit
- Which function is there in Python equivalent to Val() in VB6?
Related Questions in COM-INTEROP
- Enum values from VB6 DLL do not appear in C#
- Using dll of .Net by VB6 app in Windows 8
- Exposing KeyCollection to COM?
- Is it possible to use VB6 enums which have values with spaces in C#?
- Internal structure differance between excel created with Interop and OpenXMLSDK
- COM component when used in C# causes InvalidCastException
- Cannot access VBComponents from active document
- how to pass two columns values to plot line chart in C# interop
- C# How do you get an instance of a COM interface
- Callback/Delegate to Java for handling some C# event
- trying to get currently open workbook path from excel. MyExcelAppObject.Application.ActiveWorkbook sometimes returns null
- c# event when something on screen changes
- How can I reference a com visible C# dll in a vb6 library project using a manifest?
- Exporting the data to a Templated Excel sheet using Excel Application object
- com visible .net class works from shell but not asp
Related Questions in SIDE-BY-SIDE
- Dependency Walker Error: The Side-by-Side configuration information for "ABC.DLL" contains errors
- Will a .NET 3.5 or lower application incur any risk at all from installing .NET 4 on the same machine?
- installation visual studio 2008 side by side with visual studio 2010 (has been installed)
- Release not working, referencing FW 2.0 dll into FW 4.0 winform
- Side-by-side error using COM server, C++ redistributable installed
- .net application throwing TypeLoadExceptions or saying that side-by-side configuration is invalid, etc
- How do I get the caller ID from the phone line in WPF?
- Why installing vcredist_x86.exe doesn't fix SideBySide error when I develop an EXE on one machine and run it on another one?
- How to enforce managed code be executed under .net 2.0 in .net 4 process (SxS)
- side-by-side configuration issure in an windows azure virtual machine
- Initialization of Net .dll's through a RegFree Com-visible wrapper fails only from one specific directory
- What causes SXSTrace error "StartTrace failed ... Unknown Error"?
- Install Shield- Merge module dependency issues. Dll is not registering
- Visual Studio 2005 (and other) : how to deploy debug dll (msvcp80p.dll & friends, for debugging purposes)
- SideBySide error on another computer with MSVC++ 2005 installed
Related Questions in REGFREECOM
- Reg-free COM - location of COM dll relative to client exe
- debugging COM free registration (c++)
- Statically link COM DLL in C# (avoid regfree)
- Is it possible to choose a manifest to use when starting a process in windows?
- How can I dynamically instantiate an ActiveX control from an .ocx file?
- Registration Free COM errors with EXE
- Initialization of Net .dll's through a RegFree Com-visible wrapper fails only from one specific directory
- Registration-Free COM in ASP WebPage
- Cannot Work reg Free com Dll(created in VC++) in java
- Registration-Free COM Interop and Dependent Assemblies
- How to do registration-free COM in a plug-in architecture
- Build Warnings - isolating COM reference
- How to have multiple versions of a Delphi COM Server at the same time?
- How to instantiate a ComVisible class in a .NET Core assembly from .NET Framework application?
- VB6 compile against side-by-side assembly
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
That adds a reference to a type library. A type library is a language-independent description of the types in a COM component, VB6 uses it to know how generate efficient code and to provide type checking and auto-completion. A type library is the exact equivalent of metadata in a .NET assembly.
Traditionally, and the way VB6 did it, the type library was embedded as a resource in a DLL. So you are probably used to picking a DLL in the dialog. That however doesn't work so well when the DLL is generated by C#, the type library can only be generated after the C# code is compiled. You have to pick the .tlb file in the VB6 dialog. The traditional way starts with the COM component being described in the IDL language, the type library can be generated before the code is compiled so can easily be embedded in the final DLL. It is technically possible to do it in C# as well, but the build steps are very laborious and painful, you essentially have to build the DLL twice with different build commands.
The type library for a C# library is normally generated in one of three ways:
The first bullet is the normal choice and very desirable because you can never forget to update the type library this way. It is perfectly fine on a dev machine since you only really care about reg-free deployment on the user's machine. You probably got into trouble by not doing this anymore.
Using the 3rd choice is okay and more compatible with your goals, run Tlbexp from the Visual Studio Command Prompt. Just keep in mind that you have to do it again when you make changes to your C# code. Forgetting this once and losing clumps of head-hair trying to figure out why your C# changes don't seem to be effective or getting hard-to-diagnose error codes gives you lots of reasons to consider the 1st bullet again :) You can emulate the reg-free scenario by running Regasm.exe with the /uninstall option.