翼度科技»论坛 编程开发 .net 查看内容

在Windows Server 2008 R2上运行.Net 8应用

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
在Windows Server 2008 R2上运行.Net 8程序

因为工作需要,要在客户的Windows Server 2008 R2上运行一个WinForm程序。在网上搜了下之前也有人成功运行过.Net Core 3、.Net 6的Asp.Net Core服务,遂直接拿.Net 8来写了。最后装了3个补丁包之后,也是成功运行。这篇笔记主要记录这3个补丁包。
Windows Server 2008 R2 SP1(KB976932)

这是个大补丁包,包含了很多更新,可以说是必装的。
链接
VC_redist.x64

是个MSVC的库。
链接
KB3063858

这个补丁解决的问题是.Net运行时调用一个Win32 API LoadLibraryExA function (libloaderapi.h) 来加载kernel.dll时,路径的问题。
参见该函数的微软文档中关于参数dwFlags的值LOAD_LIBRARY_SEARCH_SYSTEM32的说明:
Windows 7、Windows Server 2008 R2、Windows Vista 和 Windows Server 2008: 此值需要安装 KB2533623 。
也就是说本来为了解决这个问题是应该安装KB2533623补丁包的,但是该补丁包可能带来远程执行的安全漏洞,已经弃用了。好在辗转搜索后发现,KB3063858补丁也能解决问题。虽然这个补丁的名字是给Windows 7用的,但是因为两个系统的内核版本都是6.1,所以也可以用在Windows Server 2008 R2上。
链接

来源:https://www.cnblogs.com/NyanHeart/p/18197542
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具