A GUI application I wrote with VB.Net 2008 Express works fine on the XPSP3 host I use to develop, but fails starting on a fresh Windows 7 host with the following error:

Description: Stopped working
Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: myapp.exe
Problem Signature 02:
Problem Signature 03: 4eb2a385
Problem Signature 04: myapp
Problem Signature 05:
Problem Signature 06: 4eb2a385
Problem Signature 07: f
Problem Signature 08: c6
Problem Signature 09: System.InvalidOperationException
OS Version: 6.1.7600.
Locale ID: 1033
The Windows 7 has .Net framework 4 by default, so figured maybe the framework isn't downward-compatible, but when I run the .Net 2.0 framework installer (dotnetfx.exe), it says it's already installed. Weird :-/

I also tried running the app as Admin, with no change.

Next, I found this thread here, that says to "Try handling the UnhandledException event of your application, which all VB.NET WinForms apps should do. Hopefully it should be able to tell you exactly what's happened.".

So following this article, I added a "Private Sub OnThreadException()" and a "Public Sub New" to Form1 thusly:
Public Class Form1
    Inherits System.Windows.Forms.Form

    Public Sub New()
        AddHandler Application.ThreadException, AddressOf OnThreadException
    End Sub

    Private Sub OnThreadException(ByVal sender As Object, _
                       ByVal e As ThreadExceptionEventArgs)
        ' This is where you handle the exception
    End Sub
Next, after a successful build, I downloaded the app on the Windows 7, and re-ran this new version... but get the exact same error with no extra help.

Any idea what I could try to understand why the application doesn't start at all?

Thank you.