选择 NET Framework 3.5 SP1 系统必备,ClickOnce 发布提示缺少文件的解决方案
2010-10-13 16:24
399 查看
ClickOnce 发布,在系统必备中勾选了 .NET Framework 3.5 SP1,并选择了"从与我的应用程序相同的位置下载系统必备组件"时,执行发布,会提示缺少很多文件,答案就在下面。
首先我们需要 framework 3.5_SP1 安装包,可以到下面的地址下载
http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe
把它解压,导航到 framework 3.5_SP1/wcu/dotNetFramework/ 文件夹,将其中的 dotNetFX20、dotNetFX30、dotNetFX35、dotNetMSP 文件夹和文件 dotNetFx35setup.exe 复制到 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1 目录中,对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。
这时执行发布,会提示如下错误:
系统必备组件的安装位置未设置为“组件供应商的网站”,并且无法在磁盘上找到项“.NET Framework 3.5 SP1”中的文件“DotNetFX35SP1/DotNetFX35/x64/dotnetfx35langpack_x64zh-CHS.exe”。有关详细信息,请参见帮助。
按照提示,我们去下载需要的文件,地址如下:
http://www.microsoft.com/downloads/details.aspx?familyid=8489ED13-B831-4855-96F7-DD35E4C02A20&displaylang=zh-cn
这里我们只需要下载 dotnetfx35langpack_x64zh-CHS.exe 和 dotnetfx35langpack_x86zh-CHS.exe 即可,因为发布只提示缺少这两个文件。
=======如果你急着发布,这段可以忽略=======
下载完成后,将他们放到 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/DotNetFX35/ 目录对应的文件夹内,dotnetfx35langpack_x64zh-CHS.exe 放 x64,dotnetfx35langpack_x86zh-CHS.exe 放 x86。
以为一切正常了,执行发布,仍然报错,这是怎么回事儿?Google了半天,在这个帖子(http://blog.csdn.net/hhxshhxs88/archive/2009/07/25/4379621.aspx)里找到了解决办法,下面是具体操作,与此帖不同的是,我没有创建 zh-chs 文件夹。
==========================================
导航到 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/zh-Hans 目录,新建一个文件夹,命名为 dotNetFX35,在 dotNetFX35 文件夹内建立两个子文件夹,分别命名为 x86 和 x64,然后把刚才下载的文件拷到相应的子目录中。
再去发布,这回应该没有错误了。
********以下内容仅供吹毛求疵者参考********
但是还有两个警告,类似如下的提示:
“.NET Framework 3.5 SP1”中“PublicKey”特性的值与文件“C:/Program Files/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/dotNetFX30/XPSEPSC-x86-en-US.exe”的该特性值不匹配。
这是因为 XPSEPSC-x86-en-US.exe 的 publicKey 与 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/product.xml 文件中标记的 publicKey 不同造成的。要想消除警告,我们需要手工帮它匹配上。
首先,定位到错误提示的文件,然后右键→属性→数字签名,如图所示:
在“签名列表”中选择签名,然后点“详细信息”,弹出窗口如图所示:
在窗口中点“查看证书”,在弹出窗口中选择“详细信息”卡片,在下面的列表中选中“公钥”,如图所示:
然后把公钥对应的编码拷贝到记事本,将其中的空格替换掉。最后,我们打开 product.xml 文件,查找 XPSEPSC-x86-en-US.exe,将其对应的 publicKey 替换成刚才处理好的字符串就 OK 了。
*****************************************
另附
当选择".NET Framework 3.5 SP1 Client Profile"系统必备,发布时会提示找不到 DotNetFx35ClientSetup.exe,大家可以通过下面的地址下载,然后拷贝到 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFx35Client 目录即可成功发布。
http://www.microsoft.com/downloads/details.aspx?FamilyID=8cea6cd1-15bc-4664-b27d-8ceba808b28b&displaylang=zh-cn
注意:DotNetFx35ClientSetup.exe 是 Client Profile 基于 Web 的安装程序,需要通过 Internet 连接下载和安装。
首先我们需要 framework 3.5_SP1 安装包,可以到下面的地址下载
http://download.microsoft.com/download/2/0/e/20e90413-712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe
把它解压,导航到 framework 3.5_SP1/wcu/dotNetFramework/ 文件夹,将其中的 dotNetFX20、dotNetFX30、dotNetFX35、dotNetMSP 文件夹和文件 dotNetFx35setup.exe 复制到 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1 目录中,对于 x64 操作系统,该路径位于 %ProgramFiles(x86)% 下。
这时执行发布,会提示如下错误:
系统必备组件的安装位置未设置为“组件供应商的网站”,并且无法在磁盘上找到项“.NET Framework 3.5 SP1”中的文件“DotNetFX35SP1/DotNetFX35/x64/dotnetfx35langpack_x64zh-CHS.exe”。有关详细信息,请参见帮助。
按照提示,我们去下载需要的文件,地址如下:
http://www.microsoft.com/downloads/details.aspx?familyid=8489ED13-B831-4855-96F7-DD35E4C02A20&displaylang=zh-cn
这里我们只需要下载 dotnetfx35langpack_x64zh-CHS.exe 和 dotnetfx35langpack_x86zh-CHS.exe 即可,因为发布只提示缺少这两个文件。
=======如果你急着发布,这段可以忽略=======
下载完成后,将他们放到 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/DotNetFX35/ 目录对应的文件夹内,dotnetfx35langpack_x64zh-CHS.exe 放 x64,dotnetfx35langpack_x86zh-CHS.exe 放 x86。
以为一切正常了,执行发布,仍然报错,这是怎么回事儿?Google了半天,在这个帖子(http://blog.csdn.net/hhxshhxs88/archive/2009/07/25/4379621.aspx)里找到了解决办法,下面是具体操作,与此帖不同的是,我没有创建 zh-chs 文件夹。
==========================================
导航到 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/zh-Hans 目录,新建一个文件夹,命名为 dotNetFX35,在 dotNetFX35 文件夹内建立两个子文件夹,分别命名为 x86 和 x64,然后把刚才下载的文件拷到相应的子目录中。
再去发布,这回应该没有错误了。
********以下内容仅供吹毛求疵者参考********
但是还有两个警告,类似如下的提示:
“.NET Framework 3.5 SP1”中“PublicKey”特性的值与文件“C:/Program Files/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/dotNetFX30/XPSEPSC-x86-en-US.exe”的该特性值不匹配。
这是因为 XPSEPSC-x86-en-US.exe 的 publicKey 与 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFX35SP1/product.xml 文件中标记的 publicKey 不同造成的。要想消除警告,我们需要手工帮它匹配上。
首先,定位到错误提示的文件,然后右键→属性→数字签名,如图所示:
在“签名列表”中选择签名,然后点“详细信息”,弹出窗口如图所示:
在窗口中点“查看证书”,在弹出窗口中选择“详细信息”卡片,在下面的列表中选中“公钥”,如图所示:
然后把公钥对应的编码拷贝到记事本,将其中的空格替换掉。最后,我们打开 product.xml 文件,查找 XPSEPSC-x86-en-US.exe,将其对应的 publicKey 替换成刚才处理好的字符串就 OK 了。
*****************************************
另附
当选择".NET Framework 3.5 SP1 Client Profile"系统必备,发布时会提示找不到 DotNetFx35ClientSetup.exe,大家可以通过下面的地址下载,然后拷贝到 %ProgramFiles%/Microsoft SDKs/Windows/v7.0A/Bootstrapper/Packages/DotNetFx35Client 目录即可成功发布。
http://www.microsoft.com/downloads/details.aspx?FamilyID=8cea6cd1-15bc-4664-b27d-8ceba808b28b&displaylang=zh-cn
注意:DotNetFx35ClientSetup.exe 是 Client Profile 基于 Web 的安装程序,需要通过 Internet 连接下载和安装。
相关文章推荐
- (转) 选择 NET Framework 3.5 SP1 系统必备,ClickOnce 发布提示缺少文件的解决方案
- Windows 10 安装 Sql Server 2014 反复提示需要安装 .NET Framework 3.5 SP1 的解决方案
- LoadRunner - 安装时提示缺少vc2005_sp1_with_atl_fix_redist解决方案
- C# 读取app.config配置文件 节点键值,提示 "配置系统未能初始化" 错误的解决方案
- 牛腩新闻发布系统"小插曲"------"项目文件""已被重命名或已不在解决方案中"
- 根目录做了url重写,虚拟目录运行提示“未能加载文件httpmodule或它的某一个依赖项。系统找不到指定的文件”解决方案
- 打开VS2010帮助时,出现提示“系统所需的本地内容文件缺失或已损坏。“解决方案
- 安装LoadRunner时提示缺少vc2005_sp1_with_atl_fix_redist解决方案
- 腾讯云Windows Server 2012 R2安装wamp2.5提示缺少msvcr100.dll文件的解决方案
- 安装LoadRunner时提示缺少vc2005_sp1_with_atl_fix_redist解决方案
- 安装LoadRunner时提示缺少vc2005_sp1_with_atl_fix_redist解决方案
- 安装LoadRunner时提示缺少vc2005_sp1_with_atl_fix_redist解决方案
- VS发布网站时,报错提示:“未能将文件xxx复制到xxx,未能找到文件xx”三种解决方案!
- vs2010打不开vs2017的.sln文件,出现错误提示 “选择的文件是解决方案文件 但是用此应用程序的较新版本创建的,无法打开”
- VS发布网站时,报错提示:“未能将文件xxx复制到xxx,未能找到文件xx”三种解决方案!
- C# 读取app.config配置文件 节点键值,提示 "配置系统未能初始化" 错误的解决方案
- .Net Framework 3.5 SP1及Visual Studio 2008 SP1正式发布
- .NET Framework 3.5 SP1安装时下载文件问题及精简方法
- Win8.1系统提示缺少xinput1_3.dll文件游戏不能运行
- 系统发布到 server2008 64位浏览打不开,提示“未能加载文件或程序集.."