- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
按照 MSDN 文章 How to: Determine Which .NET Framework Versions Are Installed 中列出的指导我编写了一个 WiX 安装程序来检查 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\Release
注册表项以确定 .NET 4.5.1 是否已安装,并使用该检测设置先决条件。
我现在遇到的问题是,当安装 .NET 4.5.2 时,同一 key 不再是 378675
或 378758
,而是现在 379893
。 .NET 4.5.2 应该是“高度兼容的就地更新”,但推荐的版本检查算法并不向后兼容。
检查以前的版本没有这个问题,即使安装了更高版本,2.0、3.0 和 3.5 注册表项仍然存在。例如即使安装了 3.5,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Version
仍然存在。
以前,Microsoft 推荐的版本检测方法是向前兼容的,但 4.5/4.5.1/4.5.2 不再是这种情况。那么,我应该做什么呢?我不愿意将 379893
(.NET 4.5.2) 添加到我检查的一组注册表值中,因为当(如果).NET 4.5.3(或其他)时,这可能会失败发行了。也许我可以检查 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\Version
是否>= 4.5.51641,但这不是推荐的方法,根据MSDN,如果他们发布了 4.6,但在某种程度上不向后兼容,会发生什么?
最佳答案
To find .NET Framework versions by querying the registry in code (.NET Framework 4.5 and later)状态:
Check the value of the Release keyword to determine the installed version. To be forward-compatible, you can check for a value greater than or equal to the values listed in the table.
这略低于原始问题中 MSDN 链接所指向的位置(感谢您让我接近)。
在我的 .wxs 文件中,我的代码似乎可以工作,但在过低的 .Net 4.5 版本上失败并显示有效消息。
将以下属性引用和条件放入
<!-- Must have at least .Net 4.5.2 which has release 379893 -->
<PropertyRef Id="NETFRAMEWORK45RELEASE"/>
<Condition Message="$(var.ProductName) requires .NET Framwork 4.5.2. Please install the .NET Framwork then run this installer again.">
Installed OR ( NETFRAMEWORK45RELEASE AND NETFRAMEWORK45RELEASE >= "#379893" )
</Condition>
在其他地方声明以下片段:
<Fragment>
<Property Id="NETFRAMEWORK45RELEASE">
<RegistrySearch Id="NetFramework452Release"
Root="HKLM"
Key="Software\Microsoft\NET Framework Setup\NDP\v4\Full"
Name="Release"
Type="raw" />
</Property>
</Fragment>
关于.net - 检测 .NET 4.5.1 和 future 的向后兼容版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25258026/
我想在 iOS 设备上以慢动作显示视频。 我的 View 包含一个视频(约 2 秒长)和一个 slider 。 用户可以移动 slider 并逐帧(向前和向后)浏览电影。 MPMoviePlayerC
假设两个模型的标准外键,例如: Company(models.Model): name = models.CharField('Nome', max_length = 255) ...
即使从其他项目复制和粘贴代码,我的 NSURL 也会向后格式化,这毫无意义。 例如: let baseURL = NSURL(string: "http://example.com/v1/") NSU
我目前有: $i = 1; while { echo $i; $i++; } 它显示: 1234 etc.. 如何让它向后显示? 例如 4321 etc.. 我基本上想做完全相同的事情,但将其
我正在使用 JQuery 选择页面上的一些元素,然后在 DOM 中移动它们。我遇到的问题是我需要以 JQuery 自然想要选择它们的相反顺序选择所有元素。例如: Item 1 Item
有 Home.vue 和 Statistics.vue 页面。 Home.vue 渲染 TableFields.vue 组件。在 Home.vue 中,有一些字段编号,在页面加载时设置了初始值“3”。
我正在寻找类似 https 的东西,但是是反向的。用户(提前)生成自己的私钥,然后(仅在稍后)向 Web 应用程序提供关联的公钥。这部分交换应该(如果需要)在带外进行。然后使用这些 key 对通信进行
我不知道如何解释我的问题。这是我尝试解释的:函数 FindNext(SearchRec) 将从目录中获取下一个文件。在我的应用程序中,我有时会从当前的 SearchRec 索引向后查找一些文件。那么我
我有一个带前导 NA 的日期向量,我想使用包 zoo 中的 na.approx 为这些 NA 生成一个近似序列。 na.approx 不适用于前导 NA: x <- as.Date(c(rep(NA,
在任何网络浏览器、Windows 文件管理器和许多其他应用程序中,都支持向前和向后导航。默认情况下,这始终(或至少在大多数情况下)适用于额外的鼠标按钮,如果您的鼠标有的话。 我想在基于 WinAPI
我正在尝试使用双向链表编写撤消和重做函数,该双向链表在调用 doAction() 时在 list_1 前面添加操作(节点),在调用 undo() 时将操作存储在 list_2 中,并在调用 redo(
我有一个示例数据框,如下所示 ID count 1 10 2 20 3 40 所以对于累计计数,我要实现 ID count
我的应用程序需要显示一个值的图形表示,范围从 -1 到 1。负值应使用一种颜色,正值应使用另一种颜色。零位于中心,什么也没有显示。 (如果有帮助的话,这里的特殊用途是在金融应用程序中显示买卖订单的相对
我对这个简单的线条动画有点吃力。我想出了如何暂停它,但我需要的是能够从我调用函数 resetAnimation() 的那一刻起将动画反转回起点。 let pathAnimation = CABasic
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: How to read a file from bottom to top in Ruby? 在开发我的 R
import numpy as np data = np.array([0, 0, 0, 0, 0, 0, 0, 1], dtype=np.uint8) data.view(np.uint64) 我期
我有一个这样的值列表, lst = [1, 2, 3, 4, 5, 6, 7, 8] 期望输出 : window size = 3 1 # first element in the list
我的代码再简单不过了... if (iWant > thereAre){ msg = "There's only "+thereAre+" left, but you want "+iWant
#include #include /* converts to binary */ int main() { unsigned int decimalNUM = 0; print
CTRL-x o - switch cursor to other window 我想有能力扭转 control-x o做。像 control-x p这正是 control-x o有,但倒退。这个请求
我是一名优秀的程序员,十分优秀!