2013-01-10 119 views
8

我正在尝试使用ClickOnce部署WPF应用程序。
该项目的目标框架是:“.NET Framework 4.5”。
在VS项目属性 - >“发布” - >“先决条件”我已签两个项目:ClickOnce不会安装.NET 4.5

  • “的Microsoft .NET Framework 4.5(x86和x64)”
  • “Windows安装程序4.5”

当我尝试推出一个Windows 7的计算机上这个应用程序不具有.NET 4.5预装我得到一个弹出说:

System Update Required Unable to install or run this application. This application requires Version 4.5 Full or other compatible .NET Framework. Please contact your system administrator.

安装不会尝试为我下载/安装框架。它只是放弃显示这个消息。 运行ClickOnce安装的客户端用户在计算机上具有管理员权限。

为什么ClickOnce不能自动安装.NET 4.5?

+0

机器上的组策略是否阻止安装? – ChrisF

+0

这些机器托管在我们公司网络的Windows域中。我不是一名组策略专家,但我们的IT运营经理告诉我他们没有设置任何特殊限制。我没有试图在我们域外的任何计算机上重现此问题。也许我会稍后再做,或者其他人可以告诉我他们是否获得与升级时相同的结果? – SteffenSH

回答

0

以前没见过这个,但听起来客户端已经安装了.NET,但客户端配置文件“lite”版本? 两种方式解决此问题:

  1. 如果可以,改变构建目标.NET 4.5客户端,并重建你的产品(你会收到,如果你打电话到了微软考虑框架的“服务器”组件的错误)
  2. 如果你真的离不开.NET的完整版本,请从客户端删除客户端版本,然后重试?

这有帮助吗?

+0

在.NET 4.5中,他们取消了客户端配置文件。只有一个.NET 4.5的安装,完整的。 http://msdn.microsoft.com/en-us/library/cc656912(v=vs.110).aspx – Scott

2

我没有提到在我的问题中,我是从另一个ClickOnce应用程序升级到.NET4上的先决条件。

ClickOnce先决条件仅在第一次安装时评估,因此升级到.NET4.5我遵循here描述的技术。即旧的应用程序将自行卸载,然后使用.NET4.5上的新先决条件启动新的ClickOnce应用程序的安装。

 Process.Start("iexplore.exe", newClickOnceApplicationUrl); 
     Application.Current.Shutdown(); 

一些机器得到了错误的消息(“请与系统管理员联系。”),并没有任何问题,一些安装成功。在出现错误的机器上,如果ClickOnce网址是手动启动的,那么它工作正常。

运行安装的所有用户都是其本地计算机的管理员组的一部分。我的理论是,从ClickOnce启动的iexplorer.exe进程没有在有问题的机器上以管理员权限运行。 虽然我没有进一步调查。

+0

是的,它是对我的问题的答案......或者至少是答案的方向;) – SteffenSH

1

重新安装应用程序应该可以解决问题。

应用程序的ClickOnce的先决条件检查,并且,如果必要的话,跑了,当你在机器上安装应用程序,,而不是当您启动已安装的.NET应用程序。

0

有些什么这个错误看起来很熟悉!

您是否尝试过这样做?

在“先决条件”对话框中,确保选中“安装必备组件的创建安装程序”复选框。

在“指定先决条件的安装位置”部分中,从以下位置选择下载先决条件。

从下拉列表中选择一个位置,或输入URL,文件路径或FTP位置,然后单击确定。

http://msdn.microsoft.com/en-us/library/8st7th1x(v=vs.100).aspx

-1

执行以下操作

下载.netframework这里4.5 fullinstaller DOTNETFRAMEWORK 4.5

然后将其复制到该目录

C:\ Program Files文件\微软的SDK \的Windows \ V8 .A \ Bootstrapper \ Packages \ DotNetFX45

然后清理您的项目和再次生成然后发布..它现在会工作..请让我知道,如果你解决我的回答问题

2

我有一个应用程序被设置为目标.net框架相同的问题4.0过去。首先,我将目标平台更新为.net framework 4.5,但ClickOnce安装程序未更新其先决条件。

我所要做的就是项目属性 - >发布 - >先决条件 - >从.net framework 4改为.net framework 4.5。然后在部署期间安装4.5。