win XP sp3, Installers and .net

    General discussion

  • ok, So I have this scenario that I am trying to resolve:

    1. I have a PC with Windows XP SP3 installed. However, all versions of the .NET framework were removed. This PC is NOT allowed to be connected to the internet.

    2.  I have an install program that I created with VS2010. I did  not use installshield, but the standard Visual Studio installation project.  I copied the setup.exe program generated by this install program onto a CD.

    3. I run the setup.exe from the CD on the blank Windows XP machine (with no .NET), and an error message is displayed stating that .NET 4.0 is required to continue. When I install the .net 4.0 redistributables, then installation works fine.

    So here are my questions:

    1. Why did an error message display saying that .net 4.0 was required?

    2. Does a base windows xp sp 3 configured PC need any .net components to operate correctly? If so, which ones?

    Tuesday, November 13, 2012 7:57 PM

All replies

  • Did you install .Net 4.5 on the dev box? This may cause a setup project to add a managed reference. Also inspect your launch conditions.

    Visual C++ MVP

    Tuesday, November 13, 2012 9:31 PM
  • Yes, this is a known problem with Visual Studio 2010 setup projects.

    Read more about it here.

    Tuesday, November 13, 2012 9:38 PM
  • I tried the various suggestions provided and none worked. However, I did notice the following in my setup programs' .vdproj file:

     You will notice that for the InstallerBootstrapper attribute, a reference for .net is made. HOWEVER, I can not access this attribute via the project settings GUI, so I manually removed it, and so far, it seems to resolve the problem.

    MY CONCERN is that this reference to .NET will somehow get inserted again without me realizing it..... any ideas on that?

            "DisplayName" = "8:Debug"
            "IsDebugOnly" = "11:TRUE"
            "IsReleaseOnly" = "11:FALSE"
            "OutputFilename" = "8:Debug\\Ship System Emulator.msi"
            "PackageFilesAs" = "3:2"
            "PackageFileSize" = "3:-2147483648"
            "CabType" = "3:1"
            "Compression" = "3:2"
            "SignOutput" = "11:FALSE"
            "CertificateFile" = "8:"
            "PrivateKeyFile" = "8:"
            "TimeStampServer" = "8:"
            "InstallerBootstrapper" = "3:2"
                "Enabled" = "11:TRUE"
                "PromptEnabled" = "11:TRUE"
                "PrerequisitesLocation" = "2:1"
                "Url" = "8:"
                "ComponentsUrl" = "8:"
                        "Name" = "8:Microsoft .NET Framework 4 Client Profile (x86 and x64)"
                        "ProductCode" = "8:.NETFramework,Version=v4.0,Profile=Client"
                        "Name" = "8:Windows Installer 3.1"
                        "ProductCode" = "8:Microsoft.Windows.Installer.3.1"

    Wednesday, November 14, 2012 2:15 PM
  • The bootstrapper reference is created by the setup project template and you can remove in project->properties->prerequisites

    Visual C++ MVP

    Wednesday, November 14, 2012 3:07 PM
  • Why would the setup project template include .net 4.0 as a default? That does not seem right. Also, what is difference between windows installer 3.1 and 4.5 ? When should I select either option?
    Wednesday, November 14, 2012 3:42 PM
  • Probably to prevent more questions like "Why my setup project does not include .Net as default" from .Net developers. The setup project does not change the bootstrappers after the project is created, and it is safer to include something (extra got installed) then to exclude (setup project won't work). 

    As for Windows Installer you should choose 4.5 if your clients are almost up to date (that is, for XP users, they need to have SP2 or higher, for Vista, 2003 and 2008 machines SP1 needs to be installed). Otherwise choose 3.1. 

    Visual C++ MVP

    Wednesday, November 14, 2012 10:50 PM