Note that there are some explanatory texts on larger screens.

plurals
  1. POReg Free Com with VB6 on Windows 7
    primarykey
    data
    text
    <p>I have some .NET code I use from VB6 code. I have always developed this on an XP machine by creating a VB6.exe.manifest file that listed the dependent .NET assemblies. </p> <p>For example, say my 2 .NET assemblies are Some.Assembly.A.dll and Some.Assembly.B.dll, here is what VB6.EXE.manifest looks like (I use version=1.1.0.0 below because that is the version I set on the .NET AssemblyVersion in AssemblyInfo.cs):</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt; &lt;assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"&gt; &lt;assemblyIdentity type = "win32" name = "client" version = "1.1.0.0" /&gt; &lt;dependency&gt; &lt;dependentAssembly&gt; &lt;assemblyIdentity type="win32" name="Some.Assembly.A" version="1.1.0.0" /&gt; &lt;/dependentAssembly&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;dependentAssembly&gt; &lt;assemblyIdentity type="win32" name="Some.Assembly.B" version="1.1.0.0" /&gt; &lt;/dependentAssembly&gt; &lt;/dependency&gt; &lt;/assembly&gt; </code></pre> <p>Then, along with the DLLs in the same directory, I have the assemblies and their own manifest files. Here is an example "Some.Assembly.A.dll.manifest":</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt; &lt;assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"&gt; &lt;assemblyIdentity type="win32" name="Some.Assembly.A" version="1.1.0.0" /&gt; &lt;clrClass clsid="{F1234567-1234-1234-1234-123456789012}" progid="Some.Assembly.A.Class1" threadingModel="Both" name="Some.Assembly.A.Class1" &gt; &lt;/clrClass&gt; &lt;file name = "Some.Assembly.A.dll" /&gt; &lt;/assembly&gt; </code></pre> <p>I also run <code>tlbexp</code> on referenced DLLs to create TLB files, and this is what I reference in my VB6 project file.</p> <p>I want to move to a Windows 7 64 BIT machine. Using the same methods, when I hit the VB6 code that instantiates the .NET object on the WIN7 machine I get </p> <blockquote> <p>"ActiveX Component Can't Create Object."</p> </blockquote> <p>On XP, it succeeds. If I purposely misspell the Dependent assembly in VB6.EXE.manifest - on XP I get </p> <blockquote> <p>"This application has failed to start because teh application configuration is incorrect. Reinstalling the application may fix this problem."</p> </blockquote> <p>On WIN7, VB6 just loads. It's like it ignores the manifest on WIN7, so I can't load my .NET object using REG FREE methods on WIN7. If I <code>regasm</code> the DLL, everything works.<br> Any ideas on how to make VB6 work with reg free com on WIN7 (64 BIT)?</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload