[wix-users] Windows 10 Detection

Colin Sim Colin.Sim at ipfx.com
Tue May 24 11:42:27 PDT 2016


Hi Phil,

We have considered deploying VC Redist bundle; however, because we only want an MSI, there isn't a reliable (or a way) of including it in our installer. We need to deploy through AD so a bundle of our own isn't an option.

There isn't an issue with shortcut properties but on Windows 10 there are new properties for the setup of notifications in the new action centre. These properties do not exist on earlier versions of the OS, hence errors (warnings). I do not remember the error number.

I have looked at using the WindowsBuild property but that seems to be behaving the same as all other properties in that it's capped at the value of a Windows 8.1 machine.

What it feels like to me is that our MSI installer (possibly because msiexec is) is being running in a Windows 8.1 environment sandbox. All queries about the environment looks like it's a Windows 8.1 environment.

Personally for me, I don't understand this "new approach" that Microsoft is taking. I can only see this change as being very disruptive without any benefits.

Thanks,
Colin


-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Phil Wilson
Sent: Wednesday, 25 May 2016 6:32 a.m.
To: 'WiX Toolset Users Mailing List' <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] Windows 10 Detection

I think most people get around the universal CRT issue by running the VC Redist to install runtime support (because it includes the UCRT for older OS versions).  

What's the issue with shortcut properties? Is it the 1946 error? 

The WindowsBuild property might help. It seems to be reliable, and MS have implied that using the OS version is not a good practice compared to checking if the OS supports the feature you want to use, which WindowsBuild kinda-sorta does. 

Phil W 

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Jürgen Schäpker
Sent: Tuesday, May 24, 2016 5:22 AM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] Windows 10 Detection

Well, it's Microsofts confusing versioning, different APIs return different results, some depending on compatibilty settings in the manifest. For the purpose at hand we really do need to check for 6.3.

________________________________________
Von: wix-users [wix-users-bounces at lists.wixtoolset.org] im Auftrag von Colin Sim [Colin.Sim at ipfx.com]
Gesendet: Dienstag, 24. Mai 2016 10:14
An: WiX Toolset Users Mailing List
Betreff: Re: [wix-users] Windows 10 Detection

Hi JS,

Why is the minimum file version 6.3.10000.0 and not something like 10.0.0.0?

Will 6.4.0.0 be better?

Thanks,
Colin

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Jürgen Schäpker
Sent: Tuesday, 24 May 2016 7:58 p.m.
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] Windows 10 Detection

Hi,

take a look at this project:

https://github.com/dokan-dev/dokany/tree/master/dokan_wix

What works for us:

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

and then for a component:

              <Component Id="Win10Component" Guid="{...}">
                <Condition>VersionNT = 603 AND WIN10FOUND</Condition> ...

best regards,
JS
________________________________________
Von: wix-users [wix-users-bounces at lists.wixtoolset.org] im Auftrag von Colin Sim [Colin.Sim at ipfx.com]
Gesendet: Dienstag, 24. Mai 2016 09:04
An: WiX Toolset Users Mailing List
Betreff: [wix-users] Windows 10 Detection

Hello,

I have a MSI installer that needs to do perform different tasks when run on different operating systems.

As an example, check that KB2999226 (Universal CRT) is applied to operating systems prior to Windows 10 before the VC140 CRT merge module is installed (i.e. merge module will not work without that update). On Windows 10, this update doesn't exist and is applied by default.

Another example is to properly support notifications (Windows 10 action
centre) the deployed shortcut on a Windows 10 machine needs an additional shortcut property applied. This property does not exist on earlier OS versions and trying to set it will cause an error.

The VersionNT property is set to 603 on Windows 10, instead of 1000. I have looked online for how to work around this issue but none of them work. The suggestions I have tried are:

1.       Use a custom action that calls RtlGetVersion to get the OS version.
The result of RtlGetVersion is correct when it's called from an .EXE but gives the same result as VersionNT (not the result I'm looking for) when invoked from a native .DLL custom action.

2.       Verify that a core OS file (e.g. user32.dll, advapi32.dll, and so
on) has minimum version. The property associated with the file search is never set when I specify a minimum file version of 10.0.10240.16xx (or one less than that to work around the file checking issue). However, the property is set if I say set the minimum version to 6.0.6001.1750.

Both experiments seem to suggest there is another layer of virtualisation applied in Windows 10 that make it impossible for a MSI to detect the OS is it running on.

How have other people worked around this issue?

Is the only solution to wrap the MSI in a WiX bundle? If so, how does this bundle get deployed through AD (we still have a lot of customers who only deploy through AD)?

Thanks,
Colin

This e-mail contains IPFX information which may be privileged or confidential and is intended for use only by the individual(s) or entity named above. If you are not the intended recipient, note that disclosing, copying, distributing or using this information is prohibited. If you have received this e-mail in error, please advise immediately to the e-mail address above and permanently delete this message and any attachments.
Please note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of the company.
We monitor our e-mail system and may record your e-mails. Thank you.

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

Email secured by Check Point

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

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

Email secured by Check Point

____________________________________________________________________
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