.net - 使用 ClickOnce 发布时,为什么 .NET Framework 4 需要 Windows Installer 4.5

标签 .net windows-installer clickonce

当我使用 ClickOnce 发布 .NET 4 应用程序时,如果在先决条件窗口中取消选中“Windows Installer 4.5”,则会收到此警告:

Item 'Windows Installer 4.5' is required by 'Microsoft .NET Framework 4 (x86 and x64)', but was not included.



应用程序发布并且旧版本更新得很好,但我想知道为什么会显示此警告消息,它到底是什么意思以及不包含此先决条件是否有任何可能的副作用?

据我所知,Win 7 或更高版本附带 Windows Installer 5,并且不会有安装 Win XP 或更早版本的客户端计算机,所以我假设不包括 Windows Installer 4.5 应该没问题吗?

最佳答案

运行 Windows Vista 或更早版本的 PC 需要安装程序才能安装 .NET Framework 4。因为您已经包含了对 .Net 4 的依赖,clickonce 发布者会告诉您,您还应该在先决条件中包含安装程序,以便安装在安装框架之前,以防万一您的应用程序安装在尚未安装该框架的 Windows 7 之前的 PC 上 - 否则您的应用程序将无法安装。

正如您所说,Windows Installer 5 包含在 Windows 7 中,所以如果您的应用程序仅供公司内部使用并且永远不会安装在任何更早的操作系统上,那么您确实可以取消选中该框,但为什么要取消选中? Windows 不会为了安装框架而降级已安装的 Windows Installer 版本,因此您不妨将其选中。

简而言之,您可能知道永远不会有任何具有 Vista 或更早版本的客户端计算机,但发布者没有。

但是,我无法回答的是,为什么发布者想要 Windows Installer 4.5,而 documentation for .Net 4 states it requires Windows Installer 3.1 ..

关于.net - 使用 ClickOnce 发布时,为什么 .NET Framework 4 需要 Windows Installer 4.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27305694/

相关文章:

C# 通用接口(interface)转换问题

c# - 亚马逊 AWS 简单工作流服务 SWF C# 示例

c# - 获取不为空的属性名称

wix - 将服务配置为延迟自动启动(以及 XP/2003 上的自动启动)

c# - 如何将 .exe 作为 .NET 程序集加载?

wix - MSI卸载: How to force uninstall UI sequence

c# - 创建asp.net web api core 2.0项目的msi

c# - 通过网络运行 .net 应用程序

visual-studio-2008 - 对动态加载的程序集使用 ClickOnce

c# - 如何防止 EF4 动态加载所有程序集