Microsoft .NET Framework 4.0完整安装程序(32位和64位)为48.1 MB,客户端配置文件安装程序为41.0 MB.解压缩的安装文件分别为237 MB和194 MB,一旦安装,它们分别为537 MB和427 MB.
这是110 MB的差异.两个包之间有什么区别?
什么时候安装客户端配置文件而不是完整的.NET Framework?
我正在尝试编写一个调用网站数据的Windows客户端应用程序.为了使安装保持最小,我尝试仅在.NET Framework客户端配置文件中使用dll.麻烦的是我需要UrlEncode一些参数,有没有一种简单的方法可以在不导入System.Web.dll的情况下执行此操作,而System.Web.dll不是Client Pofile的一部分?
在Visual Studio 2008中,项目的目标框架设置是
但是,在Visual Studio 2010中它们是
什么是该客户端配置文件的设置是什么意思?
稍微进行一些实验表明,使用MVC,WebForms和WCF项目时,您无法获得客户端配置文件选项.创建WinForms和控制台应用程序时,默认目标框架是.NET 4 Client Profile.这是有道理的.
我试图构建一个WiX 3.6安装脚本的工作示例.我们目前使用WiX 3.5,现在我们想开始安装.NET 4 Client Profile框架作为我们的脚本创建的MSI文件的先决条件product.wxs
.WiX 3.6似乎是最好的前进方式.
是否有一个如何使用WiX 3.6执行此操作的功能示例?
这是我们今天使用的3.5脚本:
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<!-- Version change handling -->
<?define UpgradeCode="###############################"?>
<?ifdef env.BUILD_NUMBER ?>
<?define ProductVersion="2.6.$(env.BUILD_NUMBER).0"?>
<?else ?>
<?define ProductVersion="2.6.0.0"?>
<?endif ?>
<Product Id="*" Name="###############################" Language="1033" Version="$(var.ProductVersion)" Manufacturer="###############################" UpgradeCode="$(var.UpgradeCode)">
<Package InstallerVersion="200" Compressed="yes" />
<!-- Custom actions for this installer -->
<Binary Id="###############################.dll" SourceFile="..\..\Libraries\###############################.CA.dll" />
<!-- Kill ##### before installation begins -->
<CustomAction Id="Kill#####ActionId" BinaryKey="###############################.dll" DllEntry="Kill#####Action" Execute="immediate" Impersonate="yes" Return="check" />
<InstallExecuteSequence>
<Custom Action="Kill#####ActionId" …
Run Code Online (Sandbox Code Playgroud) 我们刚刚升级了现有的.NET应用程序,以便针对.NET 4.0进行编译.我们的应用程序是一个WPF客户端应用程序,可以安装在最终用户的计算机上,所以它似乎很适合使用客户端配置文件.但是,我们必须对代码进行一些重组以使其工作(我们的一些代码在客户端应用程序和不同的服务器应用程序之间共享,因此我们间接依赖于System.Web).
我的问题是,我们从这项工作中获得了什么好处?
.NET 4 Client Profile是否已安装在比.NET 4更多的机器上?我了解客户端配置文件是使用Windows Update推出的,但我无法找到有关其各自安装基础的任何实际统计信息.
客户端配置文件是否更快/更少安装错误?由于我们的应用程序拥有大约1GB的多媒体资源,41MB与48MB的安装大小对我来说差别不大.
客户端配置文件还有其他好处,我没有想到吗?
谢谢你的回复!
将我的Windows窗体应用程序定位到.NET 3.5 SP1 客户端框架真的很不错.但是,现在我正在使用HttpUtility.HtmlDecode
和HttpUtility.UrlDecode
函数,而MSDN文档并没有指出System.Net之类的任何替代品.
因此,不要反思源代码并将其复制到我的程序集中 - 我认为这不值得 - 在.NET 3.5 SP1客户端框架中有你知道的替代品,以替换它功能?他们将这些有用的功能限制为仅服务器代码似乎有点奇怪.
Visual Studio 2008中的"仅客户端框架子集"有什么作用?
我目前正在开发.NET 4 Client Profile的应用程序,因为这是通过Windows Update在大多数家用计算机上出现的版本.
但是,我无法添加引用,System.Web.dll
因为它在此版本中不存在 - 我该怎么办?
将System.Web.dll与我的应用程序一起部署是一个好主意,还是不行?我真的需要HTTP连接和所有,所以我不能修改我的应用程序作为一种解决方法.将我的应用程序定位到.NET 4(没有客户端配置文件)可能是一种可能性,还是仅仅在仅具有客户端配置文件的计算机上工作?
我最近一直在研究针对我正在构建的WPF应用程序的.NET客户端配置文件.但是,我很沮丧地注意到客户端配置文件仅对以下操作系统配置有效:
此外,客户端配置文件是不是有效的针对x64或IA64版本; 如果已安装任何以前版本的.NET Framework,也不会安装.
我想知道将额外的OS配置添加到测试矩阵中的努力是否值得付出努力.是否有可用的指标表明可能从客户端配置文件中受益的用户百分比?我相信一旦安装了.NET Framework,额外的信息就会作为Web请求的一部分传递给Web服务器,表明框架可用.当然,我认为没有安装.NET Framework的Windows XP SP2用户会有很多人.那么问题是我的申请是否专门针对这些人.
有没有其他人确定是否值得为这些特定用户定位额外的努力?
编辑:如果您使用客户端配置文件中未包含的功能,似乎可能会收到编译器警告.由于我通常将警告作为错误运行,因此希望能够最大限度地减少此配置中的测试.当然,这个配置仍然需要测试,但它应该像测试安装/初始运行是否适用于XP + SP2 +一样简单.
我有一个.Net安装项目,并将先决条件的安装位置设置为"从与我的应用程序相同的位置下载".
我从https://www.microsoft.com/downloads/en/details.aspx?FamilyID=992cffcb-f8ce-41d9-8bd6-31f3e216285c下载了"Microsoft .NET Framework Client Profile Offline Installer" 并将其放在目录中:
C:\ Program Files(x86)\ Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\DotNetFx35Client和C:\ Program Files(x86)\ Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFx35Client
但我仍然收到错误消息"先决条件尚未设置为'组件供应商的网站',并且".NET Framework 3.5 SP1客户端配置文件"中的文件'DotNetFx35Client\DotNetFx35ClientSetup.exe'无法位于磁盘上."
任何的想法?
我有Windows 7和Visual Studio 2010 ...
谢谢!斯特凡
installation prerequisites visual-studio-2010 .net-3.5 .net-client-profile
.net ×7
.net-3.5 ×2
.net-4.0 ×2
c# ×2
deployment ×1
dll ×1
installation ×1
system.web ×1
urlencode ×1
wix ×1
wix3.6 ×1