2011-03-09 241 views
0

我已经用.NET 3.5开发了一个小应用程序,其中包含几个窗体和一个rdlc报告。之后我将其升级到.NET 4.0并分发到客户端,并在必备条件中添加了.NET客户端配置文件和Windows Installer 3.1。它在一个客户端上安装并正常工作,但在另一个客户端上,它在.NET客户端配置文件4.0期间发生意外错误。 我的应用程序相对较小,不需要.NET 4.0功能,所以现在我将它降级到.NET 2.0,并使用ClickOnce在必要条件中添加了.NET 2.0,但在客户端计算机上,它在安装和退出时再次显示错误。有关安装的详细信息,它指的是我无法在系统上找到的日志文件。 我在Windows 7上开发,大多数客户机使用Windows XP。部署Winform项目.NET 2.0

+0

安装.NET 4.0时出现“意外错误”是什么? – RoadWarrior 2011-03-09 12:28:26

+0

是否可以发布堆栈跟踪? – 2011-03-09 13:28:22

回答

1

在.NET 2.0中,每次安装的ClickOnce日志文件都写入WinInet缓存(临时Internet文件夹文件夹)中,以用于失败和成功的部署和启动。不幸的是,这些日志文件具有混淆名称,这使得识别哪个日志文件属于哪个应用程序非常困难。您可能还需要从几十个或几百个其他文件中筛选出大多数用户的Internet缓存中的文件。这些文件的命名约定是前缀 System_Deployment_Log_XXX,其中XXX是混淆。

您还可以设置自定义日志文件的位置。如果您选择这样做,则所有错误都会写入您指定位置的单个文件,并且每次激活都会将其日志条目附加到文件末尾。所以这种方法可以给你一个多次启动尝试的运行评论。

要这样设置,找到注册表项: HK_Current_User \ Software \ Classes下\软件\微软\的Windows \ CurrentVersion \部署

添加一个名为 LOGFILEPATH一个字符串值,并将其值设置为指向您希望写入日志条目的完全合格路径(即 C:\ temp \ ClickOnceErrors.txt)。一旦你这样做,所有的错误将被写在那里。您还可以通过添加名为 LogVerbosityLevel并将其设置为1的新字符串值来提高记录的详细程度。

+0

在安装.NET 4.0客户端运行时可能导致错误的原因是什么。 – 2011-03-09 12:11:17

+0

@Muhammad,安装.NET 4.0时出现了什么“意外错误”? – RoadWarrior 2011-03-09 12:28:53