Hi,
Im trying to deploy a VB6 app with a VB.NET interop control using Reg Free Com.

Its a very simple test app, just trying to use a .NET button in a VB6 app. Everything works fine on Vista/7/2008 and the dev machine, however XP SP3 throws the generic error message: "This application has failed to start because the application configuration is incorrect".

The XP Machine has framework 4.0. Project was built on .net 2.0. Interop redist is installed.

.NET code:

Code:
 Public Const ClassId As String = "9cde58fb-d3a5-483b-82cb-0f86ad658e97"
    Public Const InterfaceId As String = "187216bf-4466-4e8b-aa9b-3122c35bfa09"
    Public Const EventsId As String = "6495a366-605c-4dc9-abb1-9e261d062ddb"

Code:
    

<ComClass(LDButton.ClassId, LDButton.InterfaceId, LDButton.EventsId)> _
Public Class LDButton
   

 Public Event ClickBtn()

    'Please enter any new code here, below the Interop code


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox("Inner Click")
        RaiseEvent ClickBtn()
    End Sub
End Class
Control Manifest:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- You don't need to worry about anything in this file unless you're
     using registration-free COM.
     There should be an appropriate <clrclass> section for every InteropUserControl
     defined in the project -->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" 
  manifestVersion="1.0">
<assemblyIdentity
            type="win32"
            name="MyButton"
            version="1.0.0.0" />
<clrClass
            clsid="{9cde58fb-d3a5-483b-82cb-0f86ad658e97}"
            progid="MyButton.LDButton"
            threadingModel="Both"
            name="MyButton.LDButton" >
</clrClass>
</assembly>

VB6 Code:
Code:
Option Explicit

Public WithEvents o As MyButton.LDButton

Private Sub Form_Load()
    Set o = LDButton1
End Sub

Private Sub o_ClickBtn()
    MsgBox "VB6 Event"
End Sub

Project1.exe.manifest:

Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity type="win32" name="Project1.exe" version="1.0.0.0" processorArchitecture="x86" />
        <dependency>
            <dependentAssembly>
                 <assemblyIdentity type="win32" name="MyButton" version="1.0.0.0" />
            </dependentAssembly>
        </dependency>
</assembly>
If I rename the manifest files, and register the dll using regasm, all works well on every OS, but I would really like to get the Reg-Free deployment going.
Any ideas?

Thanks,
Luke