Talk:WinSxS QueryAssemblyInfo to check if assembly is installed

From NSIS Wiki
Jump to navigationJump to search

http://blogs.msdn.com/b/talagrand/archive/2010/03/02/9973115.aspx includes a checkruntimes stand alone program that is also useful for checking for the run times.


http://blogs.msdn.com/talagrand/archive/2010/02/13/determining-if-a-windows-side-by-side-assembly-is-centrally-installed.aspx describes a method using CreateActCtxW() that is less restrictive when it comes to updated (and compatible) libraries. --Anders 08:15, 31 March 2010 (UTC)


Older builds of same CRT version

Seems like this code gives result = 1 if an older assembly is installed of the same version. So if redist w/o SP1 is already installed and we try to detect if redist with SP1 is installed it gives the wrong answer, thus SP1 redist will not be installed and it breaks the application.

Before I had

!define CRTCHECKDLL msvcr80.dll
!define CRTCHECKNAME 'Microsoft.VC80.CRT,version="8.0.50727.762",type="win32",processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b"'

And now it is

!define CRTCHECKDLL msvcr80.dll
!define CRTCHECKNAME 'Microsoft.VC80.CRT,version="8.0.50727.4053",type="win32",processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b"'

Floppe 12:37, 13 January 2011 (UTC)