0


我在 .NET 4.0 中为我的 Windows 服务创建了一个 Visual Studio 安装程序。
安装程序可以在我的计算机(Windows 10 64 位)和 Windows 7(32 位)上运行,但它不能在 Windows Xp 32 位上运行,安装程序无法启动并出现一个包含以下消息的窗口:

“安装未完成。安装程序在安装“”之前中断。在重试之前再次启动安装程序。选择关闭退出”。

.NET 4.0 已安装。
没有其他细节,我可以做些什么来调试问题?
非常感谢您的关注

一些 LogFile.txt 块:

开始操作 13:19:48:安装。13:19:48 操作:DIRCA_CheckFX。
开始操作 13:19:48:DIRCA_CheckFX。
行动于 13:19:48 结束:DIRCA_CheckFX。返回值 3。
13:19:48 操作:FatalErrorForm。
开始操作 13:19:48:FatalErrorForm。
2898.信息 VSI_MS_Sans_Serif13.0_0_0,MS Sans Serif,0
2898.信息 VSI_MS_Sans_Serif16.0_1_0,MS Sans Serif,0
调试:错误
2826:对话框 FatalErrorForm 上的控制线 2 向右延伸超出对话框边界 3 个像素安装此软件包时出现意外错误。这个包可能有问题。错误代码是 2826。参数是:FatalErrorForm, Line2, to the right
调试:错误 2826:对话框上的控件 BannerBmp FatalErrorForm 向右超出对话框边界 3 个像素 安装此软件包时出现意外错误。这个包可能有问题。错误代码是 2826。参数是:FatalErrorForm,BannerBmp,右侧 2898。信息 VsdDefaultUIFont.524F4245_5254_5341_4C45_534153783400,MS 无衬线,0
调试:错误 2826:对话框 FatalErrorForm 上的控制线 1 超出对话框的边界向右3 像素 安装此软件包时出现意外错误。这个包可能有问题。错误代码为 2826。参数为:FatalErrorForm,Line1,向右
13:19:48 操作:FatalErrorForm。对话已创建 操作已结束
13:19:52:致命错误表单。返回值 1. 操作于
13:19:52 结束:安装。返回值 3。

属性 (C):VSDNETURLMSG = 安装程序需要 .NET Framework 版本 [1]。安装 .NET Framework 并再次运行安装程序。您可以从 Web 获取 .NET Framework。现在下载吗?
属性 (C):VSDIISMSG = 安装程序需要 Internet Information Server 5.1 或更高版本,以及 Windows XP 或更高版本,并且不能在 Windows 2000 上运行。安装 Internet Information Server 或更新的操作系统并运行安装程序。
属性 (C): = VSDUIANDADVERTISED 此公告将不会安装,因为它可能不可靠。请联系您的系统管理员以更改基本选项中的软件包安装。属性 (C):VSDNETMSG = 安装程序需要 .NET Framework 版本 [1]。安装 .NET Framework 并重新运行安装程序。
属性 (C):VSDINVALIDURLMSG = 指定的路径“[2]”不可用。Internet Information Server 可能没有运行,或者您可以认为该路径存在并被重定向到另一台计算机。在 Internet 服务管理器中检查此虚拟目录的状态。
属性 (C):VSDVERSIONMSG = 无法安装。已安装最新版本的产品

.

4

2 回答 2

0

从日志中,具有讽刺意味的是,错误看起来与错误对话框有关。

我认为由于某种原因,对话框在 XP 上太小了 3px。如果您使错误对话框稍微大一点,或者控件稍微小一点,您可能会解决问题,或者更有可能获得更好的错误消息。我已经从日志中提取了相关位。

DEBUG: Error 2826: Control Line2 on dialog FatalErrorForm extends beyond the boundaries of the dialog to the right by 3 pixels

DEBUG: Error 2826: Control BannerBmp FatalErrorForm on dialog extends beyond the boundaries of the dialog to the right by 3 pixels

DEBUG: Error 2826: Control Line1 on dialog FatalErrorForm extends beyond the boundaries of the dialog to the right by 3 pixels

I avoid VS Installer like the plague, so if you can't modify the dialog in there, try using an MSI Editor like InstEdit (freely downloadable).

于 2016-04-27T13:14:55.880 回答
0

DIRCA_CheckFX is the VS setup custom action that checks for the .NET Runtime, and it's failing, that's why it returns 3, and the rest of it is just whining about the dialogs not being perfect.

You didn't say which version of VS setup you're using, but the most likely explanation is that XP (which is unsupported) is missing some dependency (or OS API) that the custom action code needs. Or it's using a search for the runtime that is inappropriate for a runtime installed on XP. If you built your setup with an ancient VS setup (VS 2003 or VS 2005) it might have more chance of working because XP was supported when they were around.

于 2016-04-27T16:50:47.867 回答