VS 2012以降のXP互換性exeの作成

541 ワード

https://stackoverflow.com/questions/12319952/how-do-i-target-net-4-0-3-on-xp-using-visual-studio-2012-application-fails-to
 
Win 10でVS 2012以降のコンパイル実行プログラム(exe)を使用すると、XPシステムで実行すると「合法的なwin 32アプリケーションではない」というエラーが発生します.これは、コンパイラがプログラムヘッダに最小システムバージョンの要求を書き込んだため、XPが実行できないと判断したためです.
VSコマンドラインツールで、editbinを呼び出して次のコマンドを実行します.
editbin.exe "$(TargetPath)" /SUBSYSTEM:WINDOWS,5.01 /OSVERSION:5.1

ただし、$(TargetPath)はVSマクロで指定されたexeファイル出力位置であり、実際のプログラムパスでも使用できます.