none
My vb.net solution targeting .Net 4 Client Profile will not run on Windows XP without having .NET 2.0 SP2 and .NET 4 Client Profile installed... RRS feed

  • Question

  • Hello,

    I'm having a very strange problem.  I have written a vb.net application in VS2010.  I have made sure my project is compiled to target .NET 4 Client Profile.  The application runs fine on Windows 7 machines.  However, it refuses to run on Windows XP SP2 or SP3 without also installing .NET 2.0 SP2 in addition to .NET 4 Client Profile.  I went so far as to open the program up in ildasm and check the target version. (It was 4.00)

    I am using SqlCE 3.5 Private Deployment.  The DLLs are copied into the program directory under a folder called x86, in case that matters.

    Here are my project's references:

    System - 4.0.0.0
    System.Core   - 4.0.0.0 
    System.Data  - 4.0.0.0 
    System.Data.DataSetExtensions  - 4.0.0.0 
    System.Deployment  - 4.0.0.0 
    System.Drawing  - 4.0.0.0 
    System.Windows.Forms  - 4.0.0.0 
    System.Xml  - 4.0.0.0 
    System.Xml.Linq  - 4.0.0.0 
    System.Data.SqlServerCe - 3.5.1.50

    Thanks for any help!

    Thursday, January 19, 2012 6:45 PM

Answers

  • This may be the issue:

    "System.Data.SqlServerCe - 3.5.1.50"

    .NET Framework 3.5 is an extension to .NET Framework 2.0, and requires fully updated .NET Framework 2.0 and 3.0 as prerequisites. Windows 7 comes with .NET Framework 2.0/3.0/3.5 updated through 3.5 SP1 as part of the OS. In Windows XP, the frameworks and needed updates are user installed programs.

    • Marked as answer by Demolitron Saturday, January 21, 2012 1:36 AM
    Friday, January 20, 2012 1:47 PM

All replies

  • In case it helps, here is the manifest for my exe.

    Thanks again.

     

    // Metadata version: v4.0.30319

    .assembly extern mscorlib

    {

    .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..

    .ver 4:0:0:0

    }

    .assembly extern Microsoft.VisualBasic

    {

    .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:

    .ver 10:0:0:0

    }

    .assembly extern System.Windows.Forms

    {

    .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..

    .ver 4:0:0:0

    }

    .assembly extern System.Xml.Linq

    {

    .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..

    .ver 4:0:0:0

    }

    .assembly extern System

    {

    .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..

    .ver 4:0:0:0

    }

    .assembly extern System.Data.SqlServerCe

    {

    .publickeytoken = (89 84 5D CD 80 80 CC 91 ) // ..].....

    .ver 3:5:1:50

    }

    .assembly extern System.Data

    {

    .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..

    .ver 4:0:0:0

    }

    .assembly extern System.Drawing

    {

    .publickeytoken = (B0 3F 5F 7F 11 D5 0A 3A ) // .?_....:

    .ver 4:0:0:0

    }

    .assembly extern System.Core

    {

    .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..

    .ver 4:0:0:0

    }

    .assembly extern System.Data as System.Data_9

    {

    .publickeytoken = (B7 7A 5C 56 19 34 E0 89 ) // .z\V.4..

    .ver 2:0:0:0

    }

    .assembly MWLSetup

    {

    .custom instance void [mscorlib]System.Reflection.AssemblyDescriptionAttribute::.ctor(string) = ( 01 00 00 00 00 )

    .custom instance void [mscorlib]System.Runtime.CompilerServices.RuntimeCompatibilityAttribute::.ctor() = ( 01 00 01 00 54 02 16 57 72 61 70 4E 6F 6E 45 78 // ....T..WrapNonEx

    63 65 70 74 69 6F 6E 54 68 72 6F 77 73 01 ) // ceptionThrows.

    .custom instance void [mscorlib]System.Reflection.AssemblyCompanyAttribute::.ctor(string) = ( 01 00 00 00 00 )

    .custom instance void [mscorlib]System.Reflection.AssemblyTitleAttribute::.ctor(string) = ( 01 00 08 4D 57 4C 53 65 74 75 70 00 00 ) // ...MWLSetup..

    .custom instance void [mscorlib]System.Runtime.Versioning.TargetFrameworkAttribute::.ctor(string) = ( 01 00 1A 2E 4E 45 54 46 72 61 6D 65 77 6F 72 6B // ....NETFramework

    2C 56 65 72 73 69 6F 6E 3D 76 34 2E 30 01 00 54 // ,Version=v4.0..T

    0E 14 46 72 61 6D 65 77 6F 72 6B 44 69 73 70 6C // ..FrameworkDispl

    61 79 4E 61 6D 65 10 2E 4E 45 54 20 46 72 61 6D // ayName..NET Fram

    65 77 6F 72 6B 20 34 ) // ework 4

    // --- The following custom attribute is added automatically, do not uncomment -------

    // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(valuetype [mscorlib]System.Diagnostics.DebuggableAttribute/DebuggingModes) = ( 01 00 07 01 00 00 00 00 )

    .custom instance void [mscorlib]System.Runtime.CompilerServices.CompilationRelaxationsAttribute::.ctor(int32) = ( 01 00 08 00 00 00 00 00 )

    .custom instance void [mscorlib]System.Reflection.AssemblyFileVersionAttribute::.ctor(string) = ( 01 00 07 31 2E 30 2E 30 2E 30 00 00 ) // ...1.0.0.0..

    .custom instance void [mscorlib]System.Runtime.InteropServices.GuidAttribute::.ctor(string) = ( 01 00 24 37 31 65 30 31 31 36 31 2D 32 63 36 32 // ..$71e01161-2c62

    2D 34 65 32 31 2D 38 36 33 34 2D 30 66 66 33 37 // -4e21-8634-0ff37

    39 34 37 30 37 66 31 00 00 ) // 94707f1..

    .custom instance void [mscorlib]System.Runtime.InteropServices.ComVisibleAttribute::.ctor(bool) = ( 01 00 00 00 00 )

    .custom instance void [mscorlib]System.Reflection.AssemblyTrademarkAttribute::.ctor(string) = ( 01 00 00 00 00 )

    .custom instance void [mscorlib]System.Reflection.AssemblyCopyrightAttribute::.ctor(string) = ( 01 00 12 43 6F 70 79 72 69 67 68 74 20 C2 A9 20 // ...Copyright ..

    20 32 30 31 31 00 00 ) // 2011..

    .custom instance void [mscorlib]System.Reflection.AssemblyProductAttribute::.ctor(string) = ( 01 00 08 4D 57 4C 53 65 74 75 70 00 00 ) // ...MWLSetup..

    .hash algorithm 0x00008004

    .ver 1:0:0:0

    }

    .mresource public MWLSetup.Resources.resources

    {

    // Offset: 0x00000000 Length: 0x00000996

    }

    .mresource public MWLSetup.frmMWLSetup.resources

    {

    // Offset: 0x0000099A Length: 0x000000B4

    }

    .module MWLSetup.exe

    // MVID: {A728207E-EDE7-4CA1-98EF-766EB957BC70}

    .imagebase 0x00400000

    .file alignment 0x00000200

    .stackreserve 0x00100000

    .subsystem 0x0002 // WINDOWS_GUI

    .corflags 0x00000003 // ILONLY 32BITREQUIRED

    // Image base: 0x02260000

    • Marked as answer by Alexander Sun Friday, January 20, 2012 9:35 AM
    • Unmarked as answer by Demolitron Saturday, January 21, 2012 1:36 AM
    Thursday, January 19, 2012 6:47 PM
  • This may be the issue:

    "System.Data.SqlServerCe - 3.5.1.50"

    .NET Framework 3.5 is an extension to .NET Framework 2.0, and requires fully updated .NET Framework 2.0 and 3.0 as prerequisites. Windows 7 comes with .NET Framework 2.0/3.0/3.5 updated through 3.5 SP1 as part of the OS. In Windows XP, the frameworks and needed updates are user installed programs.

    • Marked as answer by Demolitron Saturday, January 21, 2012 1:36 AM
    Friday, January 20, 2012 1:47 PM