[wix-users] Windows 10 Identification During Install

Blair Murri osito at live.com
Thu Oct 19 01:17:55 PDT 2017


https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832(v=vs.85).aspx:

“Identifying the current operating system is usually not the best way to determine whether a particular operating system feature is present. This is because the operating system may have had new features added in a redistributable DLL. Rather than using the Version API Helper functions to determine the operating system platform or version number, test for the presence of the feature itself.”



https://blogs.msdn.microsoft.com/oldnewthing/20170112-00/?p=95175

“Bonus chatter: Note that the operating system version check does raise its own question: "Why are you doing an operating system version check at all?" Because that sort of thing gives the application compatibility team the heebie-jeebies. We asked, but the customer never did answer that question.”



There's several more…



Blair Murri



Sent from my Windows 10 phone



From: Jason Beck via wix-users<mailto:wix-users at lists.wixtoolset.org>
Sent: Thursday, October 12, 2017 11:17 AM
To: wix-users at lists.wixtoolset.org<mailto:wix-users at lists.wixtoolset.org>
Cc: Jason Beck<mailto:mrbass21 at gmail.com>
Subject: Re: [wix-users] Windows 10 Identification During Install





Is there somewhere this is listed as a "bad practice"?

The VersionNT property itself says: "Conditional statements that depend
upon the operating system can use this property."
https://msdn.microsoft.com/en-us/library/windows/desktop/aa372495(v=vs.85).aspx

Everything I have seen or learned about WiX for conditional component
installs uses it the way you did at the end of your email (<Condition>
<![CDATA[VersionNT>602]]></Condition>).

I don't see why you think you're not supposed to use it.

Unless someone replies back and gives justification for why you
shouldn't use VersionNT (which I would need to know for our product),
use it.


On 10/12/2017 1:08 PM, Marc Beaudry via wix-users wrote:
> Hello Everyone,
>
> Windows 10 required attested drivers, causing me to have two sets of drivers, one for Windows 10 and a second set of all OSes prior to Windows 10 but greater or equal to 7.
>
> I have searched and found different solutions to my issue, but I can't believe this is how installers work, so I would like the opinion of someone else that has more experience than I on this matter.
>
> --- VersionNT and VersionNT64: When I run an MSI with Verbose logging I get VersionNT = 603 on Windows 10 and on Server 2012.
> I know VersionNT is a private property and should not be used, I was simply experimenting.
> https://msdn.microsoft.com/en-us/library/windows/desktop/aa370556(v=vs.85).aspx
>
> --- Next option was a CA using C#: OperatingSystem os = System.Environment.OSVersion;
> This too returns 6.X
>
> --- Next Option was a CA in C++. GetVersion or GetVersionEX
> This too returns 6.X
> For this to report the correct version it requires a modified application manifest file. I do not have an application, so this doesn't work in my scenario.
> All my installer has is a CA.DLL
>
> --- Next option is to use the Version Help Functions in a CA: IsWindowsVersionOrGreater()
> https://msdn.microsoft.com/en-us/library/windows/desktop/dn424972.aspx
> I have two different version of Windows 10 on my test bench.
> This does not work on my older version of Windows 10, this is the first release of 10.
> The one that works on my Windows 10 is IsWindows8OrGreater, which makes no sense.
>
> Now on the windows installer side of things how can I correctly identify the OS I am installing on is Windows 10 or Greater??? (IE Servier 2016 as an example)
> Asked differently is there a native Windows Installer way of Identifying that the installation OS is 10 or greater
>
> I have this condition, which I know is not good practice as I am using VersionNT, this does not work on Server 2012 and it expects Windows 7 architecture  for Drivers.
> <Condition> <![CDATA[VersionNT>602]]></Condition>
>
> Thanks for your help and wisdom,
> Marc
>
>
>
>
>
>
>
>
>
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/
>

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/


More information about the wix-users mailing list