如何解决“%1 不是有效的 Win32 应用程序”?

Posted

技术标签:

【中文标题】如何解决“%1 不是有效的 Win32 应用程序”?【英文标题】:How do I resolve "%1 is not a valid Win32 application"? 【发布时间】:2010-09-16 03:35:22 【问题描述】:

环境: Windows Server 2003 R2 企业版 64 位,SP2 .NET 框架应该已安装(2.0 SP2、3.0 SP2、3.5 SP1)

我说“应该”是因为它们被列为已安装在添加/删除程序下。我不确定它是否正确安装,因为“ASP.NET”选项卡未添加到 IIS 中的任何站点。

在 IIS Web 服务扩展部分,我有“ASP.NET v2.0.50727”(允许)和“ASP.NET v2.0.50727(32 位)”(禁止)。

相关网站已启用脚本执行。

问题:

我创建了一个超级简单的 ASP.NET/C# 网站:Default.aspx,标签 id="Label1",代码隐藏:Label1.text = "Hello World";,我得到的错误是:

%1 不是有效的 Win32 应用程序。

【问题讨论】:

【参考方案1】:

你试过跑步吗:

aspnet_regiis -i

从命令行?

【讨论】:

谷歌搜索后,我发现我有 2 个这个 exe 副本,一个在 Windows\...\Framework\,一个在 ...\Framework64\。在 Framework64 中运行一个说 IIS 处于 32 位模式且不兼容,所以我使用了另一个。执行成功,但现在我什至没有得到同样的错误,只是一个 404。 服务器重启后,我终于看到了标准的.NET错误页面,这让我发现该文件夹需要在IIS中定义为它自己的应用程序。在我这样做之后,一切似乎都在工作。谢谢! 但无论如何,我仍然没有 IIS 中任何站点的 ASP.NET 选项卡。 从命令行?您是指 Visual Studio 命令提示符吗?【参考方案2】:

我在 Windows Server 2008 64 位上使用 IIS7 时遇到了类似的错误。

融合日志在这里没有任何帮助,事实证明,在我的例子中,有一个第三方程序集引用了一个仅 32 位的程序集或本机 dll。 (准确地说)

要查找 64 位运行时正在加载哪个程序集:

将 VS2008 调试器附加到与您的应用程序池匹配的 w3wp.exe 进程上 拦截所有异常(菜单调试/异常/检查所有“公共语言运行时异常”)。 确保您的应用程序已完全重新加载(例如,通过修改 web.config)。 当引发 System.BadImageFormatException 异常时,在堆栈跟踪查看器窗口中查找程序集名称。

请记住,放置在 bin 目录中的所有程序集都会被加载,无论它们在应用程序中的实际含义如何。

【讨论】:

【参考方案3】:

我有“%1 不是有效的 Win32 应用程序”。错误消息,因为我的 PATH 环境变量搞砸了。好吧,更具体地说,PATH 本身没有任何问题。相反,我不小心创建了一个名为“C:\Program”的文件,而不是“C:\Program Files\”用于路径查找。 意外创建“C:\Program”是在命令行上为 C:\Program Files\test.txt(不带引号)调用 Notepad++ 的结果,所以 Notepad++ 认为我正在尝试编辑一个名为“C: \Program" 并为我创建了文件。

【讨论】:

【参考方案4】:

还要检查您的应用程序池。在 64 位环境下,您可能需要在高级设置中设置“启用 32 位应用程序”。

【讨论】:

【参考方案5】:

我有“%1 不是有效的 Win32 应用程序”。错误消息,因为我的 PATH 环境变量也被弄乱了。它包含了来自 python 安装的垃圾:

%PYTHON_HOME%;
%PYTHON_HOME%\Scripts;

【讨论】:

【参考方案6】:

我遇到了这个问题。我在不支持 .NET 4.5 的 Windows 2003 上部署了一个 .EXE。我用 .NET 4 重新构建了程序,它工作正常。

【讨论】:

这里是解释:***.com/questions/16455855/…

以上是关于如何解决“%1 不是有效的 Win32 应用程序”?的主要内容,如果未能解决你的问题,请参考以下文章

OSError: [WinError 193] %1 不是有效的 Win32 应用程序

Python ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。

Python ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。

如何修复 Jupyter Notebook pandas 错误(OSError:[WinError 193] %1 不是有效的 Win32 应用程序)

DBeaver执行sql脚本报错:CreateProcess error=193, %1 不是有效的 Win32 应用程序。

DBeaver执行sql脚本报错:CreateProcess error=193, %1 不是有效的 Win32 应用程序。