2012-08-27 9 views
5

Lightswitch 2011プロジェクトをLS 2012に移行しました。「vslshost.exe」を実行してコンパイルされたアプリケーションを起動します。これはWindows 7(32ビットと64ビット)を使用するとうまくいきますが、Windows XPを使用してアプリケーションを起動すると(vslshost.exe istは有効なWin32アプリケーションではありません)、LS 2012に切り替える前にすべてうまくいった。Windows XPでLightswitch 2012 Programmを実行できません

アプリケーション これは、Windows XPを最新の状態にしている2台のPC上で再現できます。

vslshostsを見た後.exeをildasmとすると、プロジェクトが.NET 4.0を対象にコンパイルされているので、プロジェクトをLS 2012に移行してもフレームワークは変更されませんでした。

この問題に関する情報が見つかりませんでした。私はVS 2012を使ってWindows XPとC++に関するいくつかの問題に遭遇しました。

これに関する情報はありますか?

ありがとうございます!

+0

Lightswitchは.NETを使用していますか?あなたはどのバージョンの.NETをターゲットにしていますか? –

+0

それは良い質問です、私はshureではない。私は目標を変更したり、私が目標としているものを見るための選択肢を見つけられませんでした。それは少なくとも.NET 4.0でなければならない、それはまた4.5 – Chake

+0

かもしれないそれは.NET 4.0である - 私は今shureだ;) – Chake

答えて

7

私は同じ問題を抱えていましたが、次のようにして問題なく動作しました。私は、Visual Studioコマンドプロンプトを起動し、実行可能にDUMPBIN走っ:

dumpbin /headers vslshost.exe 

DUMPBINは、サブシステムのバージョンは6(ビスタ)に設定したことを示しました。不思議なOSのバージョンは、私が5.1にバージョン番号を設定するためにEDITBINを使用このページhttp://supportxp.com/2012/03/30/editbins-dirty-little-secret/の指示に従い4に設定した(XP)

editbin vslshost.exe /SUBSYSTEM:WINDOWS,5.01 /OSVERSION:5.1 

は、それがこれまでXP上で正常に動作して出て、私のアプリケーションをテストしました。私はまた、生成されたインストーラを動作させることを試みましたが、XPに存在しないInitializeCriticalSectionExへの関数呼び出しで失敗しました。

または、IISに展開されたサービスを使用してデスクトップアプリケーションとして展開できます。その方法はXPをうまくサポートするようです。

+0

Neil、あなたは完全に私の日を救ってくれました! !私は、評判m( – Chake

+0

)のおかげで、私たちはまた、ClickOnceブートストラップが私たちのために働くようにVS2012(VS2012アップデート1 CTP 4からKB270250)の次のアップデートを実行しなければなりませんでした:http://download.microsoft.com/ダウンロード/ 1/D/4/1D49D964-DCEC-4BCA-941A-68C6614E9613/vsupdate_KB2707250.exe –

0

.NET Framework 4.5には、少なくともWindows Vistaが必要です。 the official system requirementsを参照してください。

Visual Studio 2012を使用する場合は、アプリケーションをWindows XP上で実行し、一部の機能を使用できないようにするには.NET 4.0をターゲットにする必要があります(例:C#5.0 await/async) .NET 4.5でのみ利用可能)。

+0

私は[ildasm]を使用してvslshost.exeを見ていた(http://msdn.microsoft .com/en-us/library/f7dy01k1.aspx) - プロジェクトは.NET 4.0を使用してコンパイルされました。したがって、問題はもう1つです:( – Chake

+0

).NET 4.5では、システムアセンブリのバージョン番号が増えず、バージョンは4.0に残りました。ildasmは管理されたメタデータとコードのみを参照するため、TargetFrameworkVersionでコンパイルされたアセンブリV4.0とV4.5ですが、ネイティブはexeヘッダーのネイティブが異なっていますので、dumpbinを使って見ることができます(Neilが答えて書いたように)。 –

関連する問題