Search code examples
.netwindows-8driverinstallshieldinstallshield-2010

Why is Windows 8 Compatibility Shim Wrongly Detecting that.Net 3.5 is Required after Install?


I've got a product that we've developed, and we're just testing on Windows 8 and Server 2012. The problem is, after installation on Win 8 / 2012 finishes, a compatibility shim (from what I understand so far) pops up a dialogue saying that the application requires .Net 3.5 to run properly. See the screenshot below:

.net required dialogue

Since our product is a native printer driver, I find that highly unlikely! It's only pre-requisite for Win 8 / 2012 is a version of the visual c++ re-distributable.

I'm also using install shield 2010 to create the installer if it helps.

Has anyone else seen Win 8 incorrectly suggesting applications require .net 3.5? Does anyone know of any reliable source which defines how the compatibility shim determines whether an application requires .net 3.5?

Thanks!

Andy

** Update **

Found this msdn blog post: http://blogs.technet.com/b/askcore/archive/2012/05/14/windows-8-and-net-framework-3-5.aspx. It suggests in brief, that the dialog can be triggered by the following:

  • You attempt to install .Net 2.0, 3.0, or 3.5 using a redistributable package available for download from Microsoft.
  • An application attempts to install one of the redistributable packages for a required version during its own installation process.
  • An application that requires a legacy version, executes without preinstalling the required version.

Unfortunately, none of this seem to explain why I'm seeing it!

** Update **

Just to be explicit, I have no managed libraries or exes, just pure native c and c++, some built with the visual studio compiler (without clr flags) and some with the DDK.

... How embarrassing!...


Solution

  • Well, this is a little bit embarrassing....

    ...Turns out there was a .net library compiled with CLR 2 which was being run deep within some InstallScript inside the installer. (In my defence, the installer is fairly large!!)

    So apologies for anyone thinking this really was a mystery, the dialogue was kinda right! Also, apologies to the guy who guessed right first time and has since deleted his post. It was quite informative on the subject. Feel free to add it back again and I'll mark is as the answer! :)

    Andy.