如何使用 Visual Studio 2012 在 XP 上定位 .NET 4.0.3?应用程序无法运行,并显示“不是有效的 Win32 应用程序”

问题描述 投票:0回答:7

我有一个面向 .NET 4.0.3 的大型应用程序需要在 XP 上运行。它使用 Visual Studio 2010 SP1 构建良好,并在 XP 上正常运行。

使用面向 .NET 4.0.3 的 Visual Studio 2012 进行构建也可以很好地构建并在 Windows 7 上运行良好,但无法在 XP 上运行。我收到一条错误消息,指出 MyApp.exe 不是有效的 Win32 应用程序。

如何使用 Visual Studio 2012 继续以 .NET 4.0.3 为目标并支持 XP 计算机?

.net visual-studio-2010 windows-7 windows-xp visual-studio-2012
7个回答
9
投票

我们也遇到这个问题了。这与您的应用程序的目标框架无关(我们的目标是 4.0 客户端)。

问题是 Visual Studio 2012 不会生成在 XP 上运行的单击一次 setup.exe。该错误具有误导性,因为它总是报告该程序不是有效的 Win32 应用程序。它可以在任何版本的 XP 上执行此操作,包括 64 位版本。

问题不是你的应用程序造成的,而是VS2012生成的setup.exe造成的。我们发现解决这个问题的唯一方法是使用 VS2010 进行发布。


7
投票

我不确定这是否有效,但请尝试使用 EditBin.exe 手动设置子系统版本。

    


5
投票

详细信息位于:

http://blogs.msdn.com/b/smondal/archive/2012/10/15/setup-exe-is-not-a-valid-win32-application.aspx


1
投票

使用目标 4 但先决条件为 4.5 进行构建将启动安装程序,但系统检查失败


0
投票


0
投票


0
投票
.csproj

文件

  <!-- v4.0.3 target framework is >4.0, so default is 6.00 (Vista), set it back to 5.01 (XP) -->
  <PropertyGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
    <SubsystemVersion>5.01</SubsystemVersion>
  </PropertyGroup>

© www.soinside.com 2019 - 2024. All rights reserved.