Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

VersionNT MSI property on Windows 10

I'm finding that when I update the manifest for my bootstrapper to support Windows 10 compatability, the InstallUISequence of the MSI will correctly set VersionNT=1000, but the InstallExecuteSequence will set VersionNT=603.

How do I make the InstallExecuteSequence also set VersionNT=1000?

like image 715
jbudreau Avatar asked Aug 11 '15 03:08

jbudreau


2 Answers

Here's my two cents....

I don't find the VersionNT property terribly useful. VersionNT64 is: VersionNT64 .... Not VersionNT64 to determine bitness.

This is a bit of a hack (they do this, we do that...) but desperate times call for desperate measures....

In all of the compatibility games MSFT is playing they only seem to be masking the Major and Minor but Build and revision. I've also worked out that on Win8 they mask it as 6.2 and on Win 10 they mask it as 6.3. So therefore I feel comfortable doing this:

<Property Id="WIN10FOUND">
  <DirectorySearch Id="searchSystem" Path="[SystemFolder]" Depth="0">
    <FileSearch Id="searchFile" Name="advapi32.dll" MinVersion="6.3.10000.0"/>
  </DirectorySearch>
</Property>

What I tend to do ask myself is "WHY" do I need Windows (FOO)? I then look for some registry entry or DLL that indicates that particular feature, component, API is present and use that for my test.

Microsoft has adopted an evergreen approach of "you don't need to know what version it is, you'll always have the latest and it'll always be called Windows 10" and to me this reinforces the approach I prefer to take. I know that a day will come that they are wrong and I do need to know otherwise I'll install and my application will fail and my users will complain and not know what version they have. (Sigh...)

like image 93
Christopher Painter Avatar answered Sep 23 '22 07:09

Christopher Painter


Microsoft official answer:

When you install an .msi installation package on Windows 10 or Windows Server 2016, the VersionNT value is 603.

Source

like image 26
tiberriver256 Avatar answered Sep 26 '22 07:09

tiberriver256