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

12
当我使用ClickOnce发布一个.NET 4应用程序时,如果我取消“先决条件”窗口中的“Windows Installer 4.5”复选框,我会收到以下警告信息:
“项目'Windows Installer 4.5'是'Microsoft .NET Framework 4(x86和x64)'所需的,但未包括在内。”
应用程序可以发布并且旧版本也能成功更新,但我想知道为什么会显示这个警告消息,它具体意味着什么,不包括这个先决条件是否有可能产生任何副作用?
据我所知,Win 7或更高版本的操作系统已经配备了Windows Installer 5,因此将不会有安装Windows Installer 4.5的客户端计算机,因此,如果不包括Windows Installer 4.5,是否正确地假定不会有问题?
1个回答

11
安装程序是用于在运行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,而 .Net 4文档说明需要Windows Installer 3.1

我们在哪里可以找到这个半神话般的 Windows Installer 4.5?这个文件夹中的 package.xml 文件没有下载链接,不像其他前提条件。谷歌搜索似乎表明它可能是从Windows Update获得的,但它似乎不可用,或者我已经拥有更高版本的它了。 - Zesty
1
4.5版本的公告中的下载链接已失效,但是该公告指出自Windows 7(Server 2008R2)起,安装程序5.0已预装。 - stuartd
2
似乎你仍然可以从网页档案馆缓存页面下载。 - stuartd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接