Windows 10上的VersionNT MSI属性 [英] VersionNT MSI property on Windows 10

查看:191
本文介绍了Windows 10上的VersionNT MSI属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我发现,当我更新引导程序的清单以支持Windows 10兼容性时,MSI的InstallUISequence将正确设置VersionNT = 1000,但是InstallExecuteSequence将设置VersionNT = 603.

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.

如何使InstallExecuteSequence也设置VersionNT = 1000?

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

推荐答案

这是我的两分钱....

Here's my two cents....

我发现VersionNT属性不是非常有用. VersionNT64是:VersionNT64 ....不是VersionNT64来确定位数.

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....

在MSFT正在玩的所有兼容性游戏中,它们似乎只掩盖了主要版本和次要版本,但掩盖了版本和修订版本.我还计算出,在Win8上,它们将其掩盖为6.2,在Win 10上,它们将其掩盖为6.3.因此,我对此很满意:

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>

我通常会问自己为什么"需要Windows(FOO)?然后,我寻找一些注册表项或DLL,这些注册表项或DLL指示存在特定的功能,组件,API,并将其用于我的测试.

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采用了一种常绿的方法,即您不需要知道它是什么版本,您将始终拥有最新版本,并且始终被称为Windows 10",这对我来说是一种我更喜欢的方法.拿.我知道会有一天他们错了,我确实需要知道否则我将安装并且我的应用程序将失败,我的用户将抱怨并且不知道他们使用的是哪个版本. (叹气...)

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...)

这篇关于Windows 10上的VersionNT MSI属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆