How to Identify .NET (CLR) Based Apps?  
Author Message

PostPosted: .NET Framework Setup, How to Identify .NET (CLR) Based Apps? Top


-Sorry for asking question like this, but is there any way for us to know whether a specific app using CLR or not (native) Yes, we can review their System Requirements; but as time goes on, many Windows setups will have .NET Framework installed by default (especially Vista), so, more app will not bundle nor states the requirement for .NET anymore. Can Dependency Walker do this

-BTW, are MS Office 2007 are .NET apps I thought like that because Accounting Expresss 2007 requires it. Is the same goes for Vista apps binary I tried to run some from RC2 on WinXP SP2, but got error ".... is not a valid Win32 app..." (even Notepad.exe!).

-Hope for detailed replies, thanks.


.NET Development7  
Aaron Stebner

PostPosted: .NET Framework Setup, How to Identify .NET (CLR) Based Apps? Top


I believe you should be able to see information in Dependency Walker. I tried this for a few applications that I know are .NET applications, and mscoree.dll appears in the dependency list. That will only happen for .NET applications.

In general though, it is best for applications to identify and validate their dependencies at setup time and not assume anything about system state. Yes, some versions of the .NET Framework are included in some versions of Windows, but in order to have a robust installation experience, your application setup should specifically check for the presence of the .NET Framework before allowing installation and should either block installation or chain the .NET Framework setup as a prerequisite to application setup.

Office 2007 is not a .NET application, but it contains some .NET features. It does not specifically install the .NET Framework as a prerequisite, but the features that require it will not appear until the .NET Framework is present. If you install Office, then add the .NET Framework, the features that require .NET will "light up" and be available for use afterwards.

There is a new UI resource loading model for Windows Vista binaries, and that is what is causing applications like notepad to give errors when you try to copy the EXEs from a Windows Vista system to a Windows XP system and run them like that. I think it will work if you copy the EXE and the file named <exe_name>.exe.mui into the same folder on Windows XP. That error that you see does not mean that the binaries are .NET applications however.

Thanks! Aaron


PostPosted: .NET Framework Setup, How to Identify .NET (CLR) Based Apps? Top

Thanks a lot!

-Just curious, which part(s) of Office 2007 that use .NET anyway Why MS don't made entire suite .NET-based (to promote the framework/platform) Also, which Vista built-in components are based on WinFX (.NET 3.0)

Thanks again,

Gabriel Lozano-Moran

PostPosted: .NET Framework Setup, How to Identify .NET (CLR) Based Apps? Top

You could also analyze the PE header with a tool like PE Explorer since managed assemblies have a slightly different PE header containing the .NET Framework version it was build for and others...