我在VS2010中制作了一个简单的设置项目。一个可执行文件,一些dll,非常简单。
我将setup.exe和.msi移动到干净的测试机器上,启动setup.exe后,我获得了.NET 4的EULA,然后下载了“.Net Framework 4 Client Profile(x86和x64)”和(据说)安装。设置要求重新启动,我重新启动,然后最终我的应用程序可以安装。我启动它,然后我得到这个窗口:
点击“是”将我带到page。
安装.NET Framework 4.0会限制交易,这次不需要重新启动。
所有构建的DLL和EXE都将.NET 4作为项目属性中的目标框架(没有客户端配置文件),除了一个具有.NET 3.5的DLL
为什么双重安装?如何在向导中安装一次?
答案 0 :(得分:4)
设置创建时出现警告(愚蠢的我,没看到!):
项目中.NET Framework的目标版本与.NET Framework启动条件版本“.NET Framework 4 Client Profile”不匹配。更新.NET Framework启动条件的版本以匹配高级编译选项对话框(VB)或应用程序页面(C#,F#)中的.NET Framework的目标版本。
这个place有答案:
1)选择安装程序项目
2)用双筒望远镜点击“启动条件编辑器”顶部的图标。
3)在启动条件下,选择“属性”右侧的“.Net框架”选择“版本”,您将看到下拉列表。将框架更改为目标框架。
更新
默认情况下,安装项目似乎是使用.NET Framework 4 Client Profile进行的,并且必须在两个位置更改为“no profile”。上面提到的和安装项目的属性。
答案 1 :(得分:0)
我希望您的某些项目设置为使用.NET 4客户端配置文件,有些项目设置为使用.NET 4配置文件。检查每个项目,将它们全部设置为.NET 4,然后重建解决方案。