简体   繁体   English

C#安装程序无法在Windows Xp中启动

[英]C# setup doesn't t start in Windows Xp


i've created a Visual Studio Installer in .NET 4.0 for my Windows Service. 我已经为Windows服务在.NET 4.0中创建了Visual Studio安装程序。
The installer works on my computer (Windows 10 64 bit), on Windows 7(32 bit) but it doesn't work on Windows Xp 32 bit, the installer doesn't start and appears a window with this message: 该安装程序可在我的计算机(Windows 10 64位),Windows 7(32位)上运行,但在Windows Xp 32位上则无法运行,安装程序无法启动并显示以下消息:

"Installation doesn't complete. Installation program interrupted before the installation of " ". Start the installation program again before trying again. Choose Close to exit". “安装未完成。安装程序在安装“”之前中断。再次启动安装程序,然后重试。选择“关闭”退出”。

.NET 4.0 is installed. 已安装.NET 4.0。
There is no other details, what can i do for debugging the problem? 没有其他详细信息,我该怎么做才能调试问题?
Thank you very much for your attention 非常感谢您的关注

Some chunk of LogFile.txt: LogFile.txt的一些块:

Start operation 13:19:48: INSTALL. 开始操作13:19:48:安装。 13:19:48 Operation: DIRCA_CheckFX. 13:19:48操作:DIRCA_CheckFX。
Start operation 13:19:48: DIRCA_CheckFX. 开始操作13:19:48:DIRCA_CheckFX。
Action ended 13:19:48: DIRCA_CheckFX. 动作结束于13:19:48:DIRCA_CheckFX。 Return value 3. 返回值3。
13:19:48 Operation: FatalErrorForm. 13:19:48操作:FatalErrorForm。
Start operation 13:19:48: FatalErrorForm. 开始操作13:19:48:FatalErrorForm。
2898. Information VSI_MS_Sans_Serif13.0_0_0, MS Sans Serif, 0 2898.信息VSI_MS_Sans_Serif13.0_0_0,MS Sans Serif,0
2898. Information VSI_MS_Sans_Serif16.0_1_0, MS Sans Serif, 0 2898.信息VSI_MS_Sans_Serif16.0_1_0,MS Sans Serif,0
DEBUG: Error 调试:错误
2826: Control Line2 on dialog FatalErrorForm extends beyond the boundaries of the dialog to the right by 3 pixels There was an unexpected error installing this package. 2826:对话框FatalErrorForm上的控制Line2超出了对话框的边界,向右超出了3个像素。安装此软件包时发生意外错误。 Likely problem with this package. 该软件包可能存在问题。 The error code is 2826. The arguments are: FatalErrorForm, Line2, to the right 错误代码为2826。参数为:FatalErrorForm,第2行,在右侧
DEBUG: Error 2826: Control BannerBmp FatalErrorForm on dialog extends beyond the boundaries of the dialog to the right by 3 pixels There was an unexpected error installing this package. 调试:错误2826:对话框上的控件BannerBmp FatalErrorForm超出了对话框的边界,向右超出了3个像素。安装此软件包时发生意外错误。 Likely problem with this package. 该软件包可能存在问题。 The error code is 2826. The arguments are: FatalErrorForm, BannerBmp, to the right 2898. Information VsdDefaultUIFont.524F4245_5254_5341_4C45_534153783400, MS Sans Serif, 0 错误代码为2826。自变量为:FatalErrorForm,BannerBmp,在右侧2898。信息VsdDefaultUIFont.524F4245_5254_5341_4C45_534153783400,MS Sans Serif,0
DEBUG: Error 2826: Control Line1 on dialog FatalErrorForm extends beyond the boundaries of the dialog to the right by 3 pixels There was an unexpected error installing this package. 调试:错误2826:对话框FatalErrorForm上的控制Line1超出了对话框右侧的边界3个像素。安装此软件包时发生意外错误。 Likely problem with this package. 该软件包可能存在问题。 The error code is 2826. The arguments are: FatalErrorForm, Line1, to the right 错误代码为2826。参数为:FatalErrorForm,第1行,在右侧
13:19:48 Operation: FatalErrorForm. 13:19:48操作:FatalErrorForm。 Dialog created Action ended 对话框创建动作结束
13:19:52: FatalErrorForm. 13:19:52:FatalErrorForm。 Return Value 1. Action ended 返回值1.动作结束
13:19:52: INSTALL. 13:19:52:安装。 Return value 3. 返回值3。

Property (C): VSDNETURLMSG = Setup requires .NET Framework version [1]. 属性(C):VSDNETURLMSG =安装程序需要.NET Framework版本[1]。 Install .NET Framework and run setup again. 安装.NET Framework并再次运行安装程序。 You can obtain the .NET Framework from the Web. 您可以从Web获得.NET Framework。 Downloading now? 现在下载?
Property (C): VSDIISMSG = The installer requires Internet Information Server 5.1 or later, and Windows XP or later, and can not run on Windows 2000. Install Internet Information Server or a more recent operating system and run the installer. 属性(C):VSDIISMSG =安装程序需要Internet Information Server 5.1或更高版本,以及Windows XP或更高版本,并且不能在Windows 2000上运行。请安装Internet Information Server或更新的操作系统,然后运行安装程序。
Property (C): = VSDUIANDADVERTISED This announcement will not be installed because it might be unreliable. 属性(C):= VSDUIANDADVERTISED由于可能不可靠,因此不会安装此公告。 Contact your system administrator to change the package installation in the basic option. 请与系统管理员联系,以在基本选项中更改软件包的安装。 Property (C): VSDNETMSG = The installation program requires the .NET Framework version [1]. 属性(C):VSDNETMSG =安装程序需要.NET Framework版本[1]。 Install .NET Framework and rerun the installer. 安装.NET Framework并重新运行安装程序。
Property (C): VSDINVALIDURLMSG = The specified path '[2]' is unavailable. 属性(C):VSDINVALIDURLMSG =指定的路径'[2]'不可用。 Internet Information Server might not be running or you can that the path exists and is redirected to another computer. Internet Information Server可能未运行,或者您可以确定该路径已存在并被重定向到另一台计算机。 Check the status of this virtual directory in Internet Services Manager. 在Internet Services Manager中检查此虚拟目录的状态。
Property (C): VSDVERSIONMSG = Unable to install. 属性(C):VSDVERSIONMSG =无法安装。 The latest version of the product is already installed 已经安装了该产品的最新版本

.

From the log, the error looks like it is to do with the error dialog ironically. 从日志看,该错误看上去与错误对话框具有讽刺意味。

I think that the dialog is about 3px too small on XP for some reason. 我认为由于某种原因,该对话框在XP上大约3px太小。 If you make the error dialog slightly larger, or the controls slightly smaller, you may fix the issue, or more likely, get a better error message. 如果使错误对话框稍大或控件稍小,则可以解决此问题,或者更有可能获得更好的错误消息。 I've extracted the relevant bits from the log. 我从日志中提取了相关的位。

DEBUG: Error 2826: Control Line2 on dialog FatalErrorForm extends beyond the boundaries of the dialog to the right by 3 pixels 调试:错误2826:对话框FatalErrorForm上的控制Line2超出了对话框的右侧右边3个像素

DEBUG: Error 2826: Control BannerBmp FatalErrorForm on dialog extends beyond the boundaries of the dialog to the right by 3 pixels 调试:错误2826:对话框上的控件BannerBmp FatalErrorForm超出了对话框的边界,向右超出了3个像素

DEBUG: Error 2826: Control Line1 on dialog FatalErrorForm extends beyond the boundaries of the dialog to the right by 3 pixels 调试:错误2826:对话框FatalErrorForm上的控制Line1超出了对话框的右侧右边3个像素

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). 我避免像瘟疫一样使用VS Installer,因此,如果您无法在其中修改对话框,请尝试使用InstEdit之类的MSI编辑器(可免费下载)。

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. DIRCA_CheckFX是用于检查.NET Runtime的VS安装程序自定义操作,但失败了,这就是为什么它返回3的原因,其余的只是抱怨对话框不完美。

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. 您没有说要使用哪个版本的VS安装程序,但是最可能的解释是XP(不受支持)缺少自定义操作代码所需的某些依赖项(或OS API)。 Or it's using a search for the runtime that is inappropriate for a runtime installed on XP. 或它正在搜索不适合在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. 如果您使用古老的VS安装程序(VS 2003或VS 2005)构建安装程序,则可能会有更多的工作机会,因为XP当时就已受支持。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM