Installation Installshield非安装前(框架3.5)

Installation Installshield非安装前(框架3.5),installation,installshield,Installation,Installshield,我正在框架3.5中开发一个应用程序。 我希望Installshield检查是否已经安装了Framework 3.5。 如果它没有安装,我希望它从互联网下载,然后安装它 在我的应用程序数据->可再发行文件上, 我将Microsoft Framework 3.5 SP1作为Installshield Prerqe。 它是“本地安装”的,生成位置是“从源媒体复制” 我有安装所需的框架3.5 在WindowsXP上,它运行良好。 如果需要,它会要求用户安装Framework 3.5 在Windows 7

我正在框架3.5中开发一个应用程序。 我希望Installshield检查是否已经安装了Framework 3.5。 如果它没有安装,我希望它从互联网下载,然后安装它

在我的应用程序数据->可再发行文件上, 我将Microsoft Framework 3.5 SP1作为Installshield Prerqe。 它是“本地安装”的,生成位置是“从源媒体复制”

我有安装所需的框架3.5

在WindowsXP上,它运行良好。 如果需要,它会要求用户安装Framework 3.5

在Windows 7、8、2008上:即使未安装Framework 3.5。它不要求用户下载/安装它。它只会提示他们安装无法继续,因为未安装3.5


你知道如何解决这个问题吗?

提供的prereq仅在Win 7之前有效。从Win7开始,.NET 3.5作为windows组件包含,不能使用prereq安装。您必须使用DISM命令来安装该功能。从Win8开始,.NET 3.5位不会缓存在Windows安装介质中,它需要internet连接才能在DISM命令期间从Windows Update下载


对。我也不喜欢。从部署的角度来看,最简单的方法是在安装了.NET 3.5或4.0的情况下允许安装,并测试您的应用程序,以确保它能在CLR 2.0和4.0上运行。

这需要中断许多Linq函数。你认为这真的是最简单的方法吗?(这不是讽刺,而是一个实际的问题)。我的许多应用程序都在2.0中工作,但不是全部。但是,在2.0.NET中运行着许多错误。2.0/3.0/3.5都是CLR 2.0。NET4.0/4.5是CLR4.0。您的.NET 3.5应用程序应该可以在.NET 3.5、4.0或4.5上运行。